jekyll-theme-dtf-basic 0.0.1

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +438 -0
  3. data/README.md +39 -0
  4. data/_config.yml +84 -0
  5. data/_data/authors.yml +2 -0
  6. data/_data/navigation.yml +4 -0
  7. data/_includes/dtf/alert_element.html +4 -0
  8. data/_includes/dtf/author_element.html +17 -0
  9. data/_includes/dtf/feature_element.html +13 -0
  10. data/_includes/dtf/feature_group.html +12 -0
  11. data/_includes/dtf/picture_element.html +13 -0
  12. data/_includes/dtf/post_element.html +19 -0
  13. data/_includes/dtf/post_group.html +12 -0
  14. data/_includes/dtf/project_element.html +19 -0
  15. data/_includes/dtf/project_group.html +17 -0
  16. data/_includes/footer.html +7 -0
  17. data/_includes/head.html +12 -0
  18. data/_includes/nav.html +45 -0
  19. data/_includes/pagination.html +19 -0
  20. data/_layouts/archive.html +19 -0
  21. data/_layouts/default.html +19 -0
  22. data/_layouts/page.html +13 -0
  23. data/_layouts/post.html +43 -0
  24. data/_sass/basic/_style.scss +55 -0
  25. data/_sass/bootstrap-5.3.3/_accordion.scss +158 -0
  26. data/_sass/bootstrap-5.3.3/_alert.scss +68 -0
  27. data/_sass/bootstrap-5.3.3/_badge.scss +38 -0
  28. data/_sass/bootstrap-5.3.3/_breadcrumb.scss +40 -0
  29. data/_sass/bootstrap-5.3.3/_button-group.scss +142 -0
  30. data/_sass/bootstrap-5.3.3/_buttons.scss +216 -0
  31. data/_sass/bootstrap-5.3.3/_card.scss +239 -0
  32. data/_sass/bootstrap-5.3.3/_carousel.scss +236 -0
  33. data/_sass/bootstrap-5.3.3/_close.scss +63 -0
  34. data/_sass/bootstrap-5.3.3/_containers.scss +41 -0
  35. data/_sass/bootstrap-5.3.3/_dropdown.scss +250 -0
  36. data/_sass/bootstrap-5.3.3/_forms.scss +9 -0
  37. data/_sass/bootstrap-5.3.3/_functions.scss +302 -0
  38. data/_sass/bootstrap-5.3.3/_grid.scss +39 -0
  39. data/_sass/bootstrap-5.3.3/_helpers.scss +12 -0
  40. data/_sass/bootstrap-5.3.3/_images.scss +42 -0
  41. data/_sass/bootstrap-5.3.3/_list-group.scss +197 -0
  42. data/_sass/bootstrap-5.3.3/_maps.scss +174 -0
  43. data/_sass/bootstrap-5.3.3/_mixins.scss +42 -0
  44. data/_sass/bootstrap-5.3.3/_modal.scss +236 -0
  45. data/_sass/bootstrap-5.3.3/_nav.scss +197 -0
  46. data/_sass/bootstrap-5.3.3/_navbar.scss +289 -0
  47. data/_sass/bootstrap-5.3.3/_offcanvas.scss +143 -0
  48. data/_sass/bootstrap-5.3.3/_pagination.scss +109 -0
  49. data/_sass/bootstrap-5.3.3/_placeholders.scss +51 -0
  50. data/_sass/bootstrap-5.3.3/_popover.scss +196 -0
  51. data/_sass/bootstrap-5.3.3/_progress.scss +68 -0
  52. data/_sass/bootstrap-5.3.3/_reboot.scss +611 -0
  53. data/_sass/bootstrap-5.3.3/_root.scss +187 -0
  54. data/_sass/bootstrap-5.3.3/_spinners.scss +85 -0
  55. data/_sass/bootstrap-5.3.3/_tables.scss +171 -0
  56. data/_sass/bootstrap-5.3.3/_toasts.scss +73 -0
  57. data/_sass/bootstrap-5.3.3/_tooltip.scss +119 -0
  58. data/_sass/bootstrap-5.3.3/_transitions.scss +27 -0
  59. data/_sass/bootstrap-5.3.3/_type.scss +106 -0
  60. data/_sass/bootstrap-5.3.3/_utilities.scss +806 -0
  61. data/_sass/bootstrap-5.3.3/_variables-dark.scss +87 -0
  62. data/_sass/bootstrap-5.3.3/_variables.scss +1751 -0
  63. data/_sass/bootstrap-5.3.3/bootstrap-grid.scss +62 -0
  64. data/_sass/bootstrap-5.3.3/bootstrap-reboot.scss +10 -0
  65. data/_sass/bootstrap-5.3.3/bootstrap-utilities.scss +19 -0
  66. data/_sass/bootstrap-5.3.3/bootstrap.scss +52 -0
  67. data/_sass/bootstrap-5.3.3/forms/_floating-labels.scss +95 -0
  68. data/_sass/bootstrap-5.3.3/forms/_form-check.scss +189 -0
  69. data/_sass/bootstrap-5.3.3/forms/_form-control.scss +214 -0
  70. data/_sass/bootstrap-5.3.3/forms/_form-range.scss +91 -0
  71. data/_sass/bootstrap-5.3.3/forms/_form-select.scss +80 -0
  72. data/_sass/bootstrap-5.3.3/forms/_form-text.scss +11 -0
  73. data/_sass/bootstrap-5.3.3/forms/_input-group.scss +132 -0
  74. data/_sass/bootstrap-5.3.3/forms/_labels.scss +36 -0
  75. data/_sass/bootstrap-5.3.3/forms/_validation.scss +12 -0
  76. data/_sass/bootstrap-5.3.3/helpers/_clearfix.scss +3 -0
  77. data/_sass/bootstrap-5.3.3/helpers/_color-bg.scss +7 -0
  78. data/_sass/bootstrap-5.3.3/helpers/_colored-links.scss +30 -0
  79. data/_sass/bootstrap-5.3.3/helpers/_focus-ring.scss +5 -0
  80. data/_sass/bootstrap-5.3.3/helpers/_icon-link.scss +25 -0
  81. data/_sass/bootstrap-5.3.3/helpers/_position.scss +36 -0
  82. data/_sass/bootstrap-5.3.3/helpers/_ratio.scss +26 -0
  83. data/_sass/bootstrap-5.3.3/helpers/_stacks.scss +15 -0
  84. data/_sass/bootstrap-5.3.3/helpers/_stretched-link.scss +15 -0
  85. data/_sass/bootstrap-5.3.3/helpers/_text-truncation.scss +7 -0
  86. data/_sass/bootstrap-5.3.3/helpers/_visually-hidden.scss +8 -0
  87. data/_sass/bootstrap-5.3.3/helpers/_vr.scss +8 -0
  88. data/_sass/bootstrap-5.3.3/mixins/_alert.scss +18 -0
  89. data/_sass/bootstrap-5.3.3/mixins/_backdrop.scss +14 -0
  90. data/_sass/bootstrap-5.3.3/mixins/_banner.scss +7 -0
  91. data/_sass/bootstrap-5.3.3/mixins/_border-radius.scss +78 -0
  92. data/_sass/bootstrap-5.3.3/mixins/_box-shadow.scss +18 -0
  93. data/_sass/bootstrap-5.3.3/mixins/_breakpoints.scss +127 -0
  94. data/_sass/bootstrap-5.3.3/mixins/_buttons.scss +70 -0
  95. data/_sass/bootstrap-5.3.3/mixins/_caret.scss +69 -0
  96. data/_sass/bootstrap-5.3.3/mixins/_clearfix.scss +9 -0
  97. data/_sass/bootstrap-5.3.3/mixins/_color-mode.scss +21 -0
  98. data/_sass/bootstrap-5.3.3/mixins/_color-scheme.scss +7 -0
  99. data/_sass/bootstrap-5.3.3/mixins/_container.scss +11 -0
  100. data/_sass/bootstrap-5.3.3/mixins/_deprecate.scss +10 -0
  101. data/_sass/bootstrap-5.3.3/mixins/_forms.scss +163 -0
  102. data/_sass/bootstrap-5.3.3/mixins/_gradients.scss +47 -0
  103. data/_sass/bootstrap-5.3.3/mixins/_grid.scss +151 -0
  104. data/_sass/bootstrap-5.3.3/mixins/_image.scss +16 -0
  105. data/_sass/bootstrap-5.3.3/mixins/_list-group.scss +26 -0
  106. data/_sass/bootstrap-5.3.3/mixins/_lists.scss +7 -0
  107. data/_sass/bootstrap-5.3.3/mixins/_pagination.scss +10 -0
  108. data/_sass/bootstrap-5.3.3/mixins/_reset-text.scss +17 -0
  109. data/_sass/bootstrap-5.3.3/mixins/_resize.scss +6 -0
  110. data/_sass/bootstrap-5.3.3/mixins/_table-variants.scss +24 -0
  111. data/_sass/bootstrap-5.3.3/mixins/_text-truncate.scss +8 -0
  112. data/_sass/bootstrap-5.3.3/mixins/_transition.scss +26 -0
  113. data/_sass/bootstrap-5.3.3/mixins/_utilities.scss +97 -0
  114. data/_sass/bootstrap-5.3.3/mixins/_visually-hidden.scss +33 -0
  115. data/_sass/bootstrap-5.3.3/tests/jasmine.js +16 -0
  116. data/_sass/bootstrap-5.3.3/tests/mixins/_auto-import-of-variables-dark.test.scss +7 -0
  117. data/_sass/bootstrap-5.3.3/tests/mixins/_color-modes.test.scss +69 -0
  118. data/_sass/bootstrap-5.3.3/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
  119. data/_sass/bootstrap-5.3.3/tests/mixins/_utilities.test.scss +393 -0
  120. data/_sass/bootstrap-5.3.3/tests/sass-true/register.js +14 -0
  121. data/_sass/bootstrap-5.3.3/tests/sass-true/runner.js +17 -0
  122. data/_sass/bootstrap-5.3.3/tests/utilities/_api.test.scss +75 -0
  123. data/_sass/bootstrap-5.3.3/utilities/_api.scss +47 -0
  124. data/_sass/custom_style.scss +0 -0
  125. data/_sass/fontawesome/font-awesome.scss +10 -0
  126. data/_sass/fontawesome/scss/LICENSE.txt +165 -0
  127. data/_sass/fontawesome/scss/_animated.scss +152 -0
  128. data/_sass/fontawesome/scss/_bordered-pulled.scss +20 -0
  129. data/_sass/fontawesome/scss/_core.scss +49 -0
  130. data/_sass/fontawesome/scss/_fixed-width.scss +7 -0
  131. data/_sass/fontawesome/scss/_functions.scss +57 -0
  132. data/_sass/fontawesome/scss/_icons.scss +12 -0
  133. data/_sass/fontawesome/scss/_list.scss +18 -0
  134. data/_sass/fontawesome/scss/_mixins.scss +65 -0
  135. data/_sass/fontawesome/scss/_rotated-flipped.scss +31 -0
  136. data/_sass/fontawesome/scss/_screen-reader.scss +14 -0
  137. data/_sass/fontawesome/scss/_shims.scss +1578 -0
  138. data/_sass/fontawesome/scss/_sizing.scss +16 -0
  139. data/_sass/fontawesome/scss/_stacked.scss +32 -0
  140. data/_sass/fontawesome/scss/_variables.scss +5044 -0
  141. data/_sass/fontawesome/scss/brands.scss +30 -0
  142. data/_sass/fontawesome/scss/fontawesome.scss +21 -0
  143. data/_sass/fontawesome/scss/regular.scss +27 -0
  144. data/_sass/fontawesome/scss/solid.scss +27 -0
  145. data/_sass/fontawesome/scss/v4-shims.scss +11 -0
  146. data/_sass/highlighter/code.scss +232 -0
  147. data/_sass/main.scss +40 -0
  148. data/assets/css/main.scss +4 -0
  149. data/assets/fonts/fontawesome/LICENSE.txt +165 -0
  150. data/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
  151. data/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
  152. data/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
  153. data/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
  154. data/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
  155. data/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
  156. data/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
  157. data/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
  158. data/assets/js/bootstrap.bundle.js.map +1 -0
  159. data/assets/js/bootstrap.bundle.min.js +7 -0
  160. data/assets/js/darkmode.js +74 -0
  161. metadata +343 -0
@@ -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
+ > :not(.btn-check:first-child) + .btn,
41
+ > .btn-group:not(:first-child) {
42
+ margin-left: calc(#{$btn-border-width} * -1); // stylelint-disable-line function-disallowed-list
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: calc(#{$btn-border-width} * -1); // stylelint-disable-line function-disallowed-list
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,216 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .btn {
6
+ // scss-docs-start btn-css-vars
7
+ --#{$prefix}btn-padding-x: #{$btn-padding-x};
8
+ --#{$prefix}btn-padding-y: #{$btn-padding-y};
9
+ --#{$prefix}btn-font-family: #{$btn-font-family};
10
+ @include rfs($btn-font-size, --#{$prefix}btn-font-size);
11
+ --#{$prefix}btn-font-weight: #{$btn-font-weight};
12
+ --#{$prefix}btn-line-height: #{$btn-line-height};
13
+ --#{$prefix}btn-color: #{$btn-color};
14
+ --#{$prefix}btn-bg: transparent;
15
+ --#{$prefix}btn-border-width: #{$btn-border-width};
16
+ --#{$prefix}btn-border-color: transparent;
17
+ --#{$prefix}btn-border-radius: #{$btn-border-radius};
18
+ --#{$prefix}btn-hover-border-color: transparent;
19
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
20
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
21
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
22
+ // scss-docs-end btn-css-vars
23
+
24
+ display: inline-block;
25
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
26
+ font-family: var(--#{$prefix}btn-font-family);
27
+ @include font-size(var(--#{$prefix}btn-font-size));
28
+ font-weight: var(--#{$prefix}btn-font-weight);
29
+ line-height: var(--#{$prefix}btn-line-height);
30
+ color: var(--#{$prefix}btn-color);
31
+ text-align: center;
32
+ text-decoration: if($link-decoration == none, null, none);
33
+ white-space: $btn-white-space;
34
+ vertical-align: middle;
35
+ cursor: if($enable-button-pointers, pointer, null);
36
+ user-select: none;
37
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
38
+ @include border-radius(var(--#{$prefix}btn-border-radius));
39
+ @include gradient-bg(var(--#{$prefix}btn-bg));
40
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
41
+ @include transition($btn-transition);
42
+
43
+ &:hover {
44
+ color: var(--#{$prefix}btn-hover-color);
45
+ text-decoration: if($link-hover-decoration == underline, none, null);
46
+ background-color: var(--#{$prefix}btn-hover-bg);
47
+ border-color: var(--#{$prefix}btn-hover-border-color);
48
+ }
49
+
50
+ .btn-check + &:hover {
51
+ // override for the checkbox/radio buttons
52
+ color: var(--#{$prefix}btn-color);
53
+ background-color: var(--#{$prefix}btn-bg);
54
+ border-color: var(--#{$prefix}btn-border-color);
55
+ }
56
+
57
+ &:focus-visible {
58
+ color: var(--#{$prefix}btn-hover-color);
59
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
60
+ border-color: var(--#{$prefix}btn-hover-border-color);
61
+ outline: 0;
62
+ // Avoid using mixin so we can pass custom focus shadow properly
63
+ @if $enable-shadows {
64
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
65
+ } @else {
66
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
67
+ }
68
+ }
69
+
70
+ .btn-check:focus-visible + & {
71
+ border-color: var(--#{$prefix}btn-hover-border-color);
72
+ outline: 0;
73
+ // Avoid using mixin so we can pass custom focus shadow properly
74
+ @if $enable-shadows {
75
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
76
+ } @else {
77
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
78
+ }
79
+ }
80
+
81
+ .btn-check:checked + &,
82
+ :not(.btn-check) + &:active,
83
+ &:first-child:active,
84
+ &.active,
85
+ &.show {
86
+ color: var(--#{$prefix}btn-active-color);
87
+ background-color: var(--#{$prefix}btn-active-bg);
88
+ // Remove CSS gradients if they're enabled
89
+ background-image: if($enable-gradients, none, null);
90
+ border-color: var(--#{$prefix}btn-active-border-color);
91
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
92
+
93
+ &:focus-visible {
94
+ // Avoid using mixin so we can pass custom focus shadow properly
95
+ @if $enable-shadows {
96
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
97
+ } @else {
98
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
99
+ }
100
+ }
101
+ }
102
+
103
+ .btn-check:checked:focus-visible + & {
104
+ // Avoid using mixin so we can pass custom focus shadow properly
105
+ @if $enable-shadows {
106
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
107
+ } @else {
108
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
109
+ }
110
+ }
111
+
112
+ &:disabled,
113
+ &.disabled,
114
+ fieldset:disabled & {
115
+ color: var(--#{$prefix}btn-disabled-color);
116
+ pointer-events: none;
117
+ background-color: var(--#{$prefix}btn-disabled-bg);
118
+ background-image: if($enable-gradients, none, null);
119
+ border-color: var(--#{$prefix}btn-disabled-border-color);
120
+ opacity: var(--#{$prefix}btn-disabled-opacity);
121
+ @include box-shadow(none);
122
+ }
123
+ }
124
+
125
+
126
+ //
127
+ // Alternate buttons
128
+ //
129
+
130
+ // scss-docs-start btn-variant-loops
131
+ @each $color, $value in $theme-colors {
132
+ .btn-#{$color} {
133
+ @if $color == "light" {
134
+ @include button-variant(
135
+ $value,
136
+ $value,
137
+ $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
138
+ $hover-border: shade-color($value, $btn-hover-border-shade-amount),
139
+ $active-background: shade-color($value, $btn-active-bg-shade-amount),
140
+ $active-border: shade-color($value, $btn-active-border-shade-amount)
141
+ );
142
+ } @else if $color == "dark" {
143
+ @include button-variant(
144
+ $value,
145
+ $value,
146
+ $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
147
+ $hover-border: tint-color($value, $btn-hover-border-tint-amount),
148
+ $active-background: tint-color($value, $btn-active-bg-tint-amount),
149
+ $active-border: tint-color($value, $btn-active-border-tint-amount)
150
+ );
151
+ } @else {
152
+ @include button-variant($value, $value);
153
+ }
154
+ }
155
+ }
156
+
157
+ @each $color, $value in $theme-colors {
158
+ .btn-outline-#{$color} {
159
+ @include button-outline-variant($value);
160
+ }
161
+ }
162
+ // scss-docs-end btn-variant-loops
163
+
164
+
165
+ //
166
+ // Link buttons
167
+ //
168
+
169
+ // Make a button look and behave like a link
170
+ .btn-link {
171
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
172
+ --#{$prefix}btn-color: #{$btn-link-color};
173
+ --#{$prefix}btn-bg: transparent;
174
+ --#{$prefix}btn-border-color: transparent;
175
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
176
+ --#{$prefix}btn-hover-border-color: transparent;
177
+ --#{$prefix}btn-active-color: #{$btn-link-hover-color};
178
+ --#{$prefix}btn-active-border-color: transparent;
179
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
180
+ --#{$prefix}btn-disabled-border-color: transparent;
181
+ --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows
182
+ --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};
183
+
184
+ text-decoration: $link-decoration;
185
+ @if $enable-gradients {
186
+ background-image: none;
187
+ }
188
+
189
+ &:hover,
190
+ &:focus-visible {
191
+ text-decoration: $link-hover-decoration;
192
+ }
193
+
194
+ &:focus-visible {
195
+ color: var(--#{$prefix}btn-color);
196
+ }
197
+
198
+ &:hover {
199
+ color: var(--#{$prefix}btn-hover-color);
200
+ }
201
+
202
+ // No need for an active state here
203
+ }
204
+
205
+
206
+ //
207
+ // Button Sizes
208
+ //
209
+
210
+ .btn-lg {
211
+ @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);
212
+ }
213
+
214
+ .btn-sm {
215
+ @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
216
+ }
@@ -0,0 +1,239 @@
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-title-color: #{$card-title-color};
11
+ --#{$prefix}card-subtitle-color: #{$card-subtitle-color};
12
+ --#{$prefix}card-border-width: #{$card-border-width};
13
+ --#{$prefix}card-border-color: #{$card-border-color};
14
+ --#{$prefix}card-border-radius: #{$card-border-radius};
15
+ --#{$prefix}card-box-shadow: #{$card-box-shadow};
16
+ --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};
17
+ --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};
18
+ --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};
19
+ --#{$prefix}card-cap-bg: #{$card-cap-bg};
20
+ --#{$prefix}card-cap-color: #{$card-cap-color};
21
+ --#{$prefix}card-height: #{$card-height};
22
+ --#{$prefix}card-color: #{$card-color};
23
+ --#{$prefix}card-bg: #{$card-bg};
24
+ --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};
25
+ --#{$prefix}card-group-margin: #{$card-group-margin};
26
+ // scss-docs-end card-css-vars
27
+
28
+ position: relative;
29
+ display: flex;
30
+ flex-direction: column;
31
+ min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
32
+ height: var(--#{$prefix}card-height);
33
+ color: var(--#{$prefix}body-color);
34
+ word-wrap: break-word;
35
+ background-color: var(--#{$prefix}card-bg);
36
+ background-clip: border-box;
37
+ border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
38
+ @include border-radius(var(--#{$prefix}card-border-radius));
39
+ @include box-shadow(var(--#{$prefix}card-box-shadow));
40
+
41
+ > hr {
42
+ margin-right: 0;
43
+ margin-left: 0;
44
+ }
45
+
46
+ > .list-group {
47
+ border-top: inherit;
48
+ border-bottom: inherit;
49
+
50
+ &:first-child {
51
+ border-top-width: 0;
52
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
53
+ }
54
+
55
+ &:last-child {
56
+ border-bottom-width: 0;
57
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
58
+ }
59
+ }
60
+
61
+ // Due to specificity of the above selector (`.card > .list-group`), we must
62
+ // use a child selector here to prevent double borders.
63
+ > .card-header + .list-group,
64
+ > .list-group + .card-footer {
65
+ border-top: 0;
66
+ }
67
+ }
68
+
69
+ .card-body {
70
+ // Enable `flex-grow: 1` for decks and groups so that card blocks take up
71
+ // as much space as possible, ensuring footers are aligned to the bottom.
72
+ flex: 1 1 auto;
73
+ padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);
74
+ color: var(--#{$prefix}card-color);
75
+ }
76
+
77
+ .card-title {
78
+ margin-bottom: var(--#{$prefix}card-title-spacer-y);
79
+ color: var(--#{$prefix}card-title-color);
80
+ }
81
+
82
+ .card-subtitle {
83
+ margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list
84
+ margin-bottom: 0;
85
+ color: var(--#{$prefix}card-subtitle-color);
86
+ }
87
+
88
+ .card-text:last-child {
89
+ margin-bottom: 0;
90
+ }
91
+
92
+ .card-link {
93
+ &:hover {
94
+ text-decoration: if($link-hover-decoration == underline, none, null);
95
+ }
96
+
97
+ + .card-link {
98
+ margin-left: var(--#{$prefix}card-spacer-x);
99
+ }
100
+ }
101
+
102
+ //
103
+ // Optional textual caps
104
+ //
105
+
106
+ .card-header {
107
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
108
+ margin-bottom: 0; // Removes the default margin-bottom of <hN>
109
+ color: var(--#{$prefix}card-cap-color);
110
+ background-color: var(--#{$prefix}card-cap-bg);
111
+ border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
112
+
113
+ &:first-child {
114
+ @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);
115
+ }
116
+ }
117
+
118
+ .card-footer {
119
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
120
+ color: var(--#{$prefix}card-cap-color);
121
+ background-color: var(--#{$prefix}card-cap-bg);
122
+ border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
123
+
124
+ &:last-child {
125
+ @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));
126
+ }
127
+ }
128
+
129
+
130
+ //
131
+ // Header navs
132
+ //
133
+
134
+ .card-header-tabs {
135
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
136
+ margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list
137
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
138
+ border-bottom: 0;
139
+
140
+ .nav-link.active {
141
+ background-color: var(--#{$prefix}card-bg);
142
+ border-bottom-color: var(--#{$prefix}card-bg);
143
+ }
144
+ }
145
+
146
+ .card-header-pills {
147
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
148
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
149
+ }
150
+
151
+ // Card image
152
+ .card-img-overlay {
153
+ position: absolute;
154
+ top: 0;
155
+ right: 0;
156
+ bottom: 0;
157
+ left: 0;
158
+ padding: var(--#{$prefix}card-img-overlay-padding);
159
+ @include border-radius(var(--#{$prefix}card-inner-border-radius));
160
+ }
161
+
162
+ .card-img,
163
+ .card-img-top,
164
+ .card-img-bottom {
165
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
166
+ }
167
+
168
+ .card-img,
169
+ .card-img-top {
170
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
171
+ }
172
+
173
+ .card-img,
174
+ .card-img-bottom {
175
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
176
+ }
177
+
178
+
179
+ //
180
+ // Card groups
181
+ //
182
+
183
+ .card-group {
184
+ // The child selector allows nested `.card` within `.card-group`
185
+ // to display properly.
186
+ > .card {
187
+ margin-bottom: var(--#{$prefix}card-group-margin);
188
+ }
189
+
190
+ @include media-breakpoint-up(sm) {
191
+ display: flex;
192
+ flex-flow: row wrap;
193
+ // The child selector allows nested `.card` within `.card-group`
194
+ // to display properly.
195
+ > .card {
196
+ // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
197
+ flex: 1 0 0%;
198
+ margin-bottom: 0;
199
+
200
+ + .card {
201
+ margin-left: 0;
202
+ border-left: 0;
203
+ }
204
+
205
+ // Handle rounded corners
206
+ @if $enable-rounded {
207
+ &:not(:last-child) {
208
+ @include border-end-radius(0);
209
+
210
+ .card-img-top,
211
+ .card-header {
212
+ // stylelint-disable-next-line property-disallowed-list
213
+ border-top-right-radius: 0;
214
+ }
215
+ .card-img-bottom,
216
+ .card-footer {
217
+ // stylelint-disable-next-line property-disallowed-list
218
+ border-bottom-right-radius: 0;
219
+ }
220
+ }
221
+
222
+ &:not(:first-child) {
223
+ @include border-start-radius(0);
224
+
225
+ .card-img-top,
226
+ .card-header {
227
+ // stylelint-disable-next-line property-disallowed-list
228
+ border-top-left-radius: 0;
229
+ }
230
+ .card-img-bottom,
231
+ .card-footer {
232
+ // stylelint-disable-next-line property-disallowed-list
233
+ border-bottom-left-radius: 0;
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }
239
+ }