jekyll-theme-apcsp 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_includes/alert.md +0 -0
  4. data/_includes/footer.md +0 -0
  5. data/_includes/head.html +0 -0
  6. data/_includes/header.md +1 -0
  7. data/_includes/nav.md +0 -0
  8. data/_layouts/page.html +308 -0
  9. data/_layouts/redirect.html +12 -0
  10. data/_sass/bootstrap/LICENSE +22 -0
  11. data/_sass/bootstrap/scss/_accordion.scss +146 -0
  12. data/_sass/bootstrap/scss/_alert.scss +71 -0
  13. data/_sass/bootstrap/scss/_badge.scss +40 -0
  14. data/_sass/bootstrap/scss/_breadcrumb.scss +42 -0
  15. data/_sass/bootstrap/scss/_button-group.scss +142 -0
  16. data/_sass/bootstrap/scss/_buttons.scss +158 -0
  17. data/_sass/bootstrap/scss/_card.scss +234 -0
  18. data/_sass/bootstrap/scss/_carousel.scss +229 -0
  19. data/_sass/bootstrap/scss/_close.scss +40 -0
  20. data/_sass/bootstrap/scss/_code.scss +48 -0
  21. data/_sass/bootstrap/scss/_containers.scss +41 -0
  22. data/_sass/bootstrap/scss/_custom-forms.scss +526 -0
  23. data/_sass/bootstrap/scss/_dropdown.scss +248 -0
  24. data/_sass/bootstrap/scss/_forms.scss +9 -0
  25. data/_sass/bootstrap/scss/_functions.scss +302 -0
  26. data/_sass/bootstrap/scss/_grid.scss +33 -0
  27. data/_sass/bootstrap/scss/_helpers.scss +10 -0
  28. data/_sass/bootstrap/scss/_images.scss +42 -0
  29. data/_sass/bootstrap/scss/_input-group.scss +208 -0
  30. data/_sass/bootstrap/scss/_jumbotron.scss +17 -0
  31. data/_sass/bootstrap/scss/_list-group.scss +191 -0
  32. data/_sass/bootstrap/scss/_maps.scss +54 -0
  33. data/_sass/bootstrap/scss/_media.scss +8 -0
  34. data/_sass/bootstrap/scss/_mixins.scss +43 -0
  35. data/_sass/bootstrap/scss/_modal.scss +237 -0
  36. data/_sass/bootstrap/scss/_nav.scss +172 -0
  37. data/_sass/bootstrap/scss/_navbar.scss +274 -0
  38. data/_sass/bootstrap/scss/_offcanvas.scss +143 -0
  39. data/_sass/bootstrap/scss/_pagination.scss +111 -0
  40. data/_sass/bootstrap/scss/_placeholders.scss +51 -0
  41. data/_sass/bootstrap/scss/_popover.scss +198 -0
  42. data/_sass/bootstrap/scss/_print.scss +141 -0
  43. data/_sass/bootstrap/scss/_progress.scss +59 -0
  44. data/_sass/bootstrap/scss/_reboot.scss +610 -0
  45. data/_sass/bootstrap/scss/_root.scss +76 -0
  46. data/_sass/bootstrap/scss/_spinners.scss +85 -0
  47. data/_sass/bootstrap/scss/_tables.scss +164 -0
  48. data/_sass/bootstrap/scss/_toasts.scss +70 -0
  49. data/_sass/bootstrap/scss/_tooltip.scss +122 -0
  50. data/_sass/bootstrap/scss/_transitions.scss +27 -0
  51. data/_sass/bootstrap/scss/_type.scss +104 -0
  52. data/_sass/bootstrap/scss/_utilities.scss +647 -0
  53. data/_sass/bootstrap/scss/_variables.scss +1631 -0
  54. data/_sass/bootstrap/scss/bootstrap-grid.scss +68 -0
  55. data/_sass/bootstrap/scss/bootstrap-reboot.scss +14 -0
  56. data/_sass/bootstrap/scss/bootstrap-utilities.scss +19 -0
  57. data/_sass/bootstrap/scss/bootstrap.scss +54 -0
  58. data/_sass/bootstrap/scss/forms/_floating-labels.scss +70 -0
  59. data/_sass/bootstrap/scss/forms/_form-check.scss +175 -0
  60. data/_sass/bootstrap/scss/forms/_form-control.scss +189 -0
  61. data/_sass/bootstrap/scss/forms/_form-range.scss +91 -0
  62. data/_sass/bootstrap/scss/forms/_form-select.scss +71 -0
  63. data/_sass/bootstrap/scss/forms/_form-text.scss +11 -0
  64. data/_sass/bootstrap/scss/forms/_input-group.scss +121 -0
  65. data/_sass/bootstrap/scss/forms/_labels.scss +36 -0
  66. data/_sass/bootstrap/scss/forms/_validation.scss +12 -0
  67. data/_sass/bootstrap/scss/helpers/_clearfix.scss +3 -0
  68. data/_sass/bootstrap/scss/helpers/_color-bg.scss +10 -0
  69. data/_sass/bootstrap/scss/helpers/_colored-links.scss +12 -0
  70. data/_sass/bootstrap/scss/helpers/_position.scss +36 -0
  71. data/_sass/bootstrap/scss/helpers/_ratio.scss +26 -0
  72. data/_sass/bootstrap/scss/helpers/_stacks.scss +15 -0
  73. data/_sass/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  74. data/_sass/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  75. data/_sass/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  76. data/_sass/bootstrap/scss/helpers/_vr.scss +8 -0
  77. data/_sass/bootstrap/scss/mixins/_alert.scss +15 -0
  78. data/_sass/bootstrap/scss/mixins/_backdrop.scss +14 -0
  79. data/_sass/bootstrap/scss/mixins/_background-variant.scss +23 -0
  80. data/_sass/bootstrap/scss/mixins/_badge.scss +17 -0
  81. data/_sass/bootstrap/scss/mixins/_border-radius.scss +78 -0
  82. data/_sass/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  83. data/_sass/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  84. data/_sass/bootstrap/scss/mixins/_buttons.scss +71 -0
  85. data/_sass/bootstrap/scss/mixins/_caret.scss +64 -0
  86. data/_sass/bootstrap/scss/mixins/_clearfix.scss +9 -0
  87. data/_sass/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  88. data/_sass/bootstrap/scss/mixins/_container.scss +11 -0
  89. data/_sass/bootstrap/scss/mixins/_deprecate.scss +10 -0
  90. data/_sass/bootstrap/scss/mixins/_float.scss +14 -0
  91. data/_sass/bootstrap/scss/mixins/_forms.scss +152 -0
  92. data/_sass/bootstrap/scss/mixins/_gradients.scss +47 -0
  93. data/_sass/bootstrap/scss/mixins/_grid-framework.scss +80 -0
  94. data/_sass/bootstrap/scss/mixins/_grid.scss +151 -0
  95. data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
  96. data/_sass/bootstrap/scss/mixins/_image.scss +16 -0
  97. data/_sass/bootstrap/scss/mixins/_list-group.scss +24 -0
  98. data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
  99. data/_sass/bootstrap/scss/mixins/_nav-divider.scss +11 -0
  100. data/_sass/bootstrap/scss/mixins/_pagination.scss +10 -0
  101. data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
  102. data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
  103. data/_sass/bootstrap/scss/mixins/_screen-reader.scss +34 -0
  104. data/_sass/bootstrap/scss/mixins/_size.scss +7 -0
  105. data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
  106. data/_sass/bootstrap/scss/mixins/_table-variants.scss +24 -0
  107. data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +17 -0
  108. data/_sass/bootstrap/scss/mixins/_text-hide.scss +11 -0
  109. data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  110. data/_sass/bootstrap/scss/mixins/_transition.scss +26 -0
  111. data/_sass/bootstrap/scss/mixins/_utilities.scss +92 -0
  112. data/_sass/bootstrap/scss/mixins/_visibility.scss +8 -0
  113. data/_sass/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  114. data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
  115. data/_sass/bootstrap/scss/utilities/_api.scss +47 -0
  116. data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
  117. data/_sass/bootstrap/scss/utilities/_borders.scss +75 -0
  118. data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
  119. data/_sass/bootstrap/scss/utilities/_display.scss +26 -0
  120. data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
  121. data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
  122. data/_sass/bootstrap/scss/utilities/_float.scss +11 -0
  123. data/_sass/bootstrap/scss/utilities/_interactions.scss +5 -0
  124. data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
  125. data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
  126. data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  127. data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
  128. data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
  129. data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
  130. data/_sass/bootstrap/scss/utilities/_stretched-link.scss +19 -0
  131. data/_sass/bootstrap/scss/utilities/_text.scss +72 -0
  132. data/_sass/bootstrap/scss/utilities/_visibility.scss +13 -0
  133. data/_sass/bootstrap/scss/vendor/_rfs.scss +354 -0
  134. data/_sass/jekyll-theme-cs50.scss +298 -0
  135. data/_sass/page.scss +228 -0
  136. data/_sass/rouge.scss +35 -0
  137. data/assets/@fortawesome/fontawesome-free/css/all.min.css +5 -0
  138. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  139. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3717 -0
  140. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  141. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  142. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  143. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  144. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +801 -0
  145. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  146. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  147. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  148. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  149. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +5034 -0
  150. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  151. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  152. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  153. data/assets/algolia-min.css +1 -0
  154. data/assets/algoliasearch/dist/algoliasearch-lite.umd.js +2 -0
  155. data/assets/algoliasearchLite.min.js +3 -0
  156. data/assets/bootstrap/LICENSE +22 -0
  157. data/assets/bootstrap/dist/js/bootstrap.bundle.min.js +7 -0
  158. data/assets/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
  159. data/assets/bootstrap/dist/js/bootstrap.min.js +7 -0
  160. data/assets/bootstrap-table/LICENSE +21 -0
  161. data/assets/bootstrap-table/dist/bootstrap-table.min.css +10 -0
  162. data/assets/bootstrap-table/dist/bootstrap-table.min.js +10 -0
  163. data/assets/bootstrap-table/dist/extensions/mobile/bootstrap-table-mobile.min.js +10 -0
  164. data/assets/instantsearch.js/LICENSE +21 -0
  165. data/assets/instantsearch.js/dist/instantsearch.production.min.js +3 -0
  166. data/assets/instantsearch.js/dist/instantsearch.production.min.js.map +1 -0
  167. data/assets/instantsearch.production.min.js +3 -0
  168. data/assets/jekyll-theme-cs50.js +620 -0
  169. data/assets/jquery/LICENSE.txt +20 -0
  170. data/assets/jquery/dist/jquery.min.js +2 -0
  171. data/assets/luxon.min.js +1 -0
  172. data/assets/moment-timezone-with-data.min.js +1 -0
  173. data/assets/moment.min.js +1 -0
  174. data/assets/page.js +4 -0
  175. data/assets/page.scss +4 -0
  176. data/assets/popper.js/dist/umd/popper.min.js +5 -0
  177. data/assets/reset-min.css +1 -0
  178. data/assets/scratchblocks.min.js +11 -0
  179. data/assets/scratchblocks.min.js.map +1 -0
  180. data/lib/jekyll-theme-cs50/constants.rb +59 -0
  181. data/lib/jekyll-theme-cs50.rb +606 -0
  182. data/lib/liquid-tag-parser.rb +1 -0
  183. metadata +350 -0
@@ -0,0 +1,42 @@
1
+ // stylelint-disable custom-property-empty-line-before
2
+
3
+ .breadcrumb {
4
+ // scss-docs-start breadcrumb-css-vars
5
+ --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};
6
+ --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};
7
+ --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
8
+ @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);
9
+ --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};
10
+ --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};
11
+ --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
12
+ --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};
13
+ --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};
14
+ // scss-docs-end breadcrumb-css-vars
15
+
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);
19
+ margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);
20
+ @include font-size(var(--#{$prefix}breadcrumb-font-size));
21
+ list-style: none;
22
+ background-color: var(--#{$prefix}breadcrumb-bg);
23
+ @include border-radius(var(--#{$prefix}breadcrumb-border-radius));
24
+ }
25
+
26
+ .breadcrumb-item {
27
+ // The separator between breadcrumbs (by default, a forward-slash: "/")
28
+ + .breadcrumb-item {
29
+ padding-left: var(--#{$prefix}breadcrumb-item-padding-x);
30
+
31
+ &::before {
32
+ float: left; // Suppress inline spacings and underlining of the separator
33
+ padding-right: var(--#{$prefix}breadcrumb-item-padding-x);
34
+ color: var(--#{$prefix}breadcrumb-divider-color);
35
+ content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
36
+ }
37
+ }
38
+
39
+ &.active {
40
+ color: var(--#{$prefix}breadcrumb-item-active-color);
41
+ }
42
+ }
@@ -0,0 +1,142 @@
1
+ // Make the div behave like a button
2
+ .btn-group,
3
+ .btn-group-vertical {
4
+ position: relative;
5
+ display: inline-flex;
6
+ vertical-align: middle; // match .btn alignment given font-size hack above
7
+
8
+ > .btn {
9
+ position: relative;
10
+ flex: 1 1 auto;
11
+ }
12
+
13
+ // Bring the hover, focused, and "active" buttons to the front to overlay
14
+ // the borders properly
15
+ > .btn-check:checked + .btn,
16
+ > .btn-check:focus + .btn,
17
+ > .btn:hover,
18
+ > .btn:focus,
19
+ > .btn:active,
20
+ > .btn.active {
21
+ z-index: 1;
22
+ }
23
+ }
24
+
25
+ // Optional: Group multiple button groups together for a toolbar
26
+ .btn-toolbar {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ justify-content: flex-start;
30
+
31
+ .input-group {
32
+ width: auto;
33
+ }
34
+ }
35
+
36
+ .btn-group {
37
+ @include border-radius($btn-border-radius);
38
+
39
+ // Prevent double borders when buttons are next to each other
40
+ > .btn:not(:first-child),
41
+ > .btn-group:not(:first-child) {
42
+ margin-left: -$btn-border-width;
43
+ }
44
+
45
+ // Reset rounded corners
46
+ > .btn:not(:last-child):not(.dropdown-toggle),
47
+ > .btn.dropdown-toggle-split:first-child,
48
+ > .btn-group:not(:last-child) > .btn {
49
+ @include border-end-radius(0);
50
+ }
51
+
52
+ // The left radius should be 0 if the button is:
53
+ // - the "third or more" child
54
+ // - the second child and the previous element isn't `.btn-check` (making it the first child visually)
55
+ // - part of a btn-group which isn't the first child
56
+ > .btn:nth-child(n + 3),
57
+ > :not(.btn-check) + .btn,
58
+ > .btn-group:not(:first-child) > .btn {
59
+ @include border-start-radius(0);
60
+ }
61
+ }
62
+
63
+ // Sizing
64
+ //
65
+ // Remix the default button sizing classes into new ones for easier manipulation.
66
+
67
+ .btn-group-sm > .btn { @extend .btn-sm; }
68
+ .btn-group-lg > .btn { @extend .btn-lg; }
69
+
70
+
71
+ //
72
+ // Split button dropdowns
73
+ //
74
+
75
+ .dropdown-toggle-split {
76
+ padding-right: $btn-padding-x * .75;
77
+ padding-left: $btn-padding-x * .75;
78
+
79
+ &::after,
80
+ .dropup &::after,
81
+ .dropend &::after {
82
+ margin-left: 0;
83
+ }
84
+
85
+ .dropstart &::before {
86
+ margin-right: 0;
87
+ }
88
+ }
89
+
90
+ .btn-sm + .dropdown-toggle-split {
91
+ padding-right: $btn-padding-x-sm * .75;
92
+ padding-left: $btn-padding-x-sm * .75;
93
+ }
94
+
95
+ .btn-lg + .dropdown-toggle-split {
96
+ padding-right: $btn-padding-x-lg * .75;
97
+ padding-left: $btn-padding-x-lg * .75;
98
+ }
99
+
100
+
101
+ // The clickable button for toggling the menu
102
+ // Set the same inset shadow as the :active state
103
+ .btn-group.show .dropdown-toggle {
104
+ @include box-shadow($btn-active-box-shadow);
105
+
106
+ // Show no shadow for `.btn-link` since it has no other button styles.
107
+ &.btn-link {
108
+ @include box-shadow(none);
109
+ }
110
+ }
111
+
112
+
113
+ //
114
+ // Vertical button groups
115
+ //
116
+
117
+ .btn-group-vertical {
118
+ flex-direction: column;
119
+ align-items: flex-start;
120
+ justify-content: center;
121
+
122
+ > .btn,
123
+ > .btn-group {
124
+ width: 100%;
125
+ }
126
+
127
+ > .btn:not(:first-child),
128
+ > .btn-group:not(:first-child) {
129
+ margin-top: -$btn-border-width;
130
+ }
131
+
132
+ // Reset rounded corners
133
+ > .btn:not(:last-child):not(.dropdown-toggle),
134
+ > .btn-group:not(:last-child) > .btn {
135
+ @include border-bottom-radius(0);
136
+ }
137
+
138
+ > .btn ~ .btn,
139
+ > .btn-group:not(:first-child) > .btn {
140
+ @include border-top-radius(0);
141
+ }
142
+ }
@@ -0,0 +1,158 @@
1
+ // stylelint-disable custom-property-empty-line-before
2
+
3
+ //
4
+ // Base styles
5
+ //
6
+
7
+ .btn {
8
+ // scss-docs-start btn-css-vars
9
+ --#{$prefix}btn-padding-x: #{$btn-padding-x};
10
+ --#{$prefix}btn-padding-y: #{$btn-padding-y};
11
+ --#{$prefix}btn-font-family: #{$btn-font-family};
12
+ @include rfs($btn-font-size, --#{$prefix}btn-font-size);
13
+ --#{$prefix}btn-font-weight: #{$btn-font-weight};
14
+ --#{$prefix}btn-line-height: #{$btn-line-height};
15
+ --#{$prefix}btn-color: #{$body-color};
16
+ --#{$prefix}btn-bg: transparent;
17
+ --#{$prefix}btn-border-width: #{$btn-border-width};
18
+ --#{$prefix}btn-border-color: transparent;
19
+ --#{$prefix}btn-border-radius: #{$btn-border-radius};
20
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
21
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
22
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
23
+ // scss-docs-end btn-css-vars
24
+
25
+ display: inline-block;
26
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
27
+ font-family: var(--#{$prefix}btn-font-family);
28
+ @include font-size(var(--#{$prefix}btn-font-size));
29
+ font-weight: var(--#{$prefix}btn-font-weight);
30
+ line-height: var(--#{$prefix}btn-line-height);
31
+ color: var(--#{$prefix}btn-color);
32
+ text-align: center;
33
+ text-decoration: if($link-decoration == none, null, none);
34
+ white-space: $btn-white-space;
35
+ vertical-align: middle;
36
+ cursor: if($enable-button-pointers, pointer, null);
37
+ user-select: none;
38
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
39
+ @include border-radius(var(--#{$prefix}btn-border-radius));
40
+ @include gradient-bg(var(--#{$prefix}btn-bg));
41
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
42
+ @include transition($btn-transition);
43
+
44
+ &:hover {
45
+ color: var(--#{$prefix}btn-hover-color);
46
+ text-decoration: if($link-hover-decoration == underline, none, null);
47
+ background-color: var(--#{$prefix}btn-hover-bg);
48
+ border-color: var(--#{$prefix}btn-hover-border-color);
49
+ }
50
+
51
+ .btn-check:focus + &,
52
+ &:focus {
53
+ color: var(--#{$prefix}btn-hover-color);
54
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
55
+ border-color: var(--#{$prefix}btn-hover-border-color);
56
+ outline: 0;
57
+ // Avoid using mixin so we can pass custom focus shadow properly
58
+ @if $enable-shadows {
59
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
60
+ } @else {
61
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
62
+ }
63
+ }
64
+
65
+ .btn-check:checked + &,
66
+ .btn-check:active + &,
67
+ &:active,
68
+ &.active,
69
+ &.show {
70
+ color: var(--#{$prefix}btn-active-color);
71
+ background-color: var(--#{$prefix}btn-active-bg);
72
+ // Remove CSS gradients if they're enabled
73
+ background-image: if($enable-gradients, none, null);
74
+ border-color: var(--#{$prefix}btn-active-border-color);
75
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
76
+
77
+ &:focus {
78
+ // Avoid using mixin so we can pass custom focus shadow properly
79
+ @if $enable-shadows {
80
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
81
+ } @else {
82
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
83
+ }
84
+ }
85
+ }
86
+
87
+ &:disabled,
88
+ &.disabled,
89
+ fieldset:disabled & {
90
+ color: var(--#{$prefix}btn-disabled-color);
91
+ pointer-events: none;
92
+ background-color: var(--#{$prefix}btn-disabled-bg);
93
+ background-image: if($enable-gradients, none, null);
94
+ border-color: var(--#{$prefix}btn-disabled-border-color);
95
+ opacity: var(--#{$prefix}btn-disabled-opacity);
96
+ @include box-shadow(none);
97
+ }
98
+ }
99
+
100
+
101
+ //
102
+ // Alternate buttons
103
+ //
104
+
105
+ // scss-docs-start btn-variant-loops
106
+ @each $color, $value in $theme-colors {
107
+ .btn-#{$color} {
108
+ @include button-variant($value, $value);
109
+ }
110
+ }
111
+
112
+ @each $color, $value in $theme-colors {
113
+ .btn-outline-#{$color} {
114
+ @include button-outline-variant($value);
115
+ }
116
+ }
117
+ // scss-docs-end btn-variant-loops
118
+
119
+
120
+ //
121
+ // Link buttons
122
+ //
123
+
124
+ // Make a button look and behave like a link
125
+ .btn-link {
126
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
127
+ --#{$prefix}btn-color: #{$btn-link-color};
128
+ --#{$prefix}btn-bg: transparent;
129
+ --#{$prefix}btn-border-color: transparent;
130
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
131
+ --#{$prefix}btn-hover-border-color: transparent;
132
+ --#{$prefix}btn-active-border-color: transparent;
133
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
134
+ --#{$prefix}btn-disabled-border-color: transparent;
135
+ --#{$prefix}btn-box-shadow: none;
136
+
137
+ text-decoration: $link-decoration;
138
+
139
+ &:hover,
140
+ &:focus {
141
+ text-decoration: $link-hover-decoration;
142
+ }
143
+
144
+ // No need for an active state here
145
+ }
146
+
147
+
148
+ //
149
+ // Button Sizes
150
+ //
151
+
152
+ .btn-lg {
153
+ @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);
154
+ }
155
+
156
+ .btn-sm {
157
+ @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
158
+ }
@@ -0,0 +1,234 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .card {
6
+ // scss-docs-start card-css-vars
7
+ --#{$prefix}card-spacer-y: #{$card-spacer-y};
8
+ --#{$prefix}card-spacer-x: #{$card-spacer-x};
9
+ --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};
10
+ --#{$prefix}card-border-width: #{$card-border-width};
11
+ --#{$prefix}card-border-color: #{$card-border-color};
12
+ --#{$prefix}card-border-radius: #{$card-border-radius};
13
+ --#{$prefix}card-box-shadow: #{$card-box-shadow};
14
+ --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};
15
+ --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};
16
+ --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};
17
+ --#{$prefix}card-cap-bg: #{$card-cap-bg};
18
+ --#{$prefix}card-cap-color: #{$card-cap-color};
19
+ --#{$prefix}card-height: #{$card-height};
20
+ --#{$prefix}card-color: #{$card-color};
21
+ --#{$prefix}card-bg: #{$card-bg};
22
+ --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};
23
+ --#{$prefix}card-group-margin: #{$card-group-margin};
24
+ // scss-docs-end card-css-vars
25
+
26
+ position: relative;
27
+ display: flex;
28
+ flex-direction: column;
29
+ min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
30
+ height: var(--#{$prefix}card-height);
31
+ word-wrap: break-word;
32
+ background-color: var(--#{$prefix}card-bg);
33
+ background-clip: border-box;
34
+ border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
35
+ @include border-radius(var(--#{$prefix}card-border-radius));
36
+ @include box-shadow(var(--#{$prefix}card-box-shadow));
37
+
38
+ > hr {
39
+ margin-right: 0;
40
+ margin-left: 0;
41
+ }
42
+
43
+ > .list-group {
44
+ border-top: inherit;
45
+ border-bottom: inherit;
46
+
47
+ &:first-child {
48
+ border-top-width: 0;
49
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
50
+ }
51
+
52
+ &:last-child {
53
+ border-bottom-width: 0;
54
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
55
+ }
56
+ }
57
+
58
+ // Due to specificity of the above selector (`.card > .list-group`), we must
59
+ // use a child selector here to prevent double borders.
60
+ > .card-header + .list-group,
61
+ > .list-group + .card-footer {
62
+ border-top: 0;
63
+ }
64
+ }
65
+
66
+ .card-body {
67
+ // Enable `flex-grow: 1` for decks and groups so that card blocks take up
68
+ // as much space as possible, ensuring footers are aligned to the bottom.
69
+ flex: 1 1 auto;
70
+ padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);
71
+ color: var(--#{$prefix}card-color);
72
+ }
73
+
74
+ .card-title {
75
+ margin-bottom: var(--#{$prefix}card-title-spacer-y);
76
+ }
77
+
78
+ .card-subtitle {
79
+ margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list
80
+ margin-bottom: 0;
81
+ }
82
+
83
+ .card-text:last-child {
84
+ margin-bottom: 0;
85
+ }
86
+
87
+ .card-link {
88
+ &:hover {
89
+ text-decoration: if($link-hover-decoration == underline, none, null);
90
+ }
91
+
92
+ + .card-link {
93
+ margin-left: var(--#{$prefix}card-spacer-x);
94
+ }
95
+ }
96
+
97
+ //
98
+ // Optional textual caps
99
+ //
100
+
101
+ .card-header {
102
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
103
+ margin-bottom: 0; // Removes the default margin-bottom of <hN>
104
+ color: var(--#{$prefix}card-cap-color);
105
+ background-color: var(--#{$prefix}card-cap-bg);
106
+ border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
107
+
108
+ &:first-child {
109
+ @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);
110
+ }
111
+ }
112
+
113
+ .card-footer {
114
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
115
+ color: var(--#{$prefix}card-cap-color);
116
+ background-color: var(--#{$prefix}card-cap-bg);
117
+ border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
118
+
119
+ &:last-child {
120
+ @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));
121
+ }
122
+ }
123
+
124
+
125
+ //
126
+ // Header navs
127
+ //
128
+
129
+ .card-header-tabs {
130
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
131
+ margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list
132
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
133
+ border-bottom: 0;
134
+
135
+ .nav-link.active {
136
+ background-color: var(--#{$prefix}card-bg);
137
+ border-bottom-color: var(--#{$prefix}card-bg);
138
+ }
139
+ }
140
+
141
+ .card-header-pills {
142
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
143
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
144
+ }
145
+
146
+ // Card image
147
+ .card-img-overlay {
148
+ position: absolute;
149
+ top: 0;
150
+ right: 0;
151
+ bottom: 0;
152
+ left: 0;
153
+ padding: var(--#{$prefix}card-img-overlay-padding);
154
+ @include border-radius(var(--#{$prefix}card-inner-border-radius));
155
+ }
156
+
157
+ .card-img,
158
+ .card-img-top,
159
+ .card-img-bottom {
160
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
161
+ }
162
+
163
+ .card-img,
164
+ .card-img-top {
165
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
166
+ }
167
+
168
+ .card-img,
169
+ .card-img-bottom {
170
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
171
+ }
172
+
173
+
174
+ //
175
+ // Card groups
176
+ //
177
+
178
+ .card-group {
179
+ // The child selector allows nested `.card` within `.card-group`
180
+ // to display properly.
181
+ > .card {
182
+ margin-bottom: var(--#{$prefix}card-group-margin);
183
+ }
184
+
185
+ @include media-breakpoint-up(sm) {
186
+ display: flex;
187
+ flex-flow: row wrap;
188
+ // The child selector allows nested `.card` within `.card-group`
189
+ // to display properly.
190
+ > .card {
191
+ // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
192
+ flex: 1 0 0%;
193
+ margin-bottom: 0;
194
+
195
+ + .card {
196
+ margin-left: 0;
197
+ border-left: 0;
198
+ }
199
+
200
+ // Handle rounded corners
201
+ @if $enable-rounded {
202
+ &:not(:last-child) {
203
+ @include border-end-radius(0);
204
+
205
+ .card-img-top,
206
+ .card-header {
207
+ // stylelint-disable-next-line property-disallowed-list
208
+ border-top-right-radius: 0;
209
+ }
210
+ .card-img-bottom,
211
+ .card-footer {
212
+ // stylelint-disable-next-line property-disallowed-list
213
+ border-bottom-right-radius: 0;
214
+ }
215
+ }
216
+
217
+ &:not(:first-child) {
218
+ @include border-start-radius(0);
219
+
220
+ .card-img-top,
221
+ .card-header {
222
+ // stylelint-disable-next-line property-disallowed-list
223
+ border-top-left-radius: 0;
224
+ }
225
+ .card-img-bottom,
226
+ .card-footer {
227
+ // stylelint-disable-next-line property-disallowed-list
228
+ border-bottom-left-radius: 0;
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ }