bootstrap-italia 2.15.1 → 2.16.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.
@@ -1,949 +1,802 @@
1
1
  @use 'sass:math';
2
2
 
3
- //
4
- // Base styles
5
- //
3
+ // Special list for long groups of cards, bootstrap row/cols grid
4
+ ul.row.it-card-list {
5
+ list-style-type: none;
6
+ margin: 0;
7
+ padding: 0;
6
8
 
7
- .card-body {
8
- // Enable `flex-grow: 1` for decks and groups so that card blocks take up
9
- // as much space as possible, ensuring footers are aligned to the bottom.
10
- flex: 1 1 auto;
11
- padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);
12
- color: var(--#{$prefix}card-color);
9
+ > li.col,
10
+ > li[class*='col-'] {
11
+ border: none;
12
+ background: transparent;
13
+ margin-top: 0;
14
+ display: block;
15
+ transition: none;
16
+ }
13
17
  }
14
18
 
15
- .card-title {
16
- margin-bottom: var(--#{$prefix}card-title-spacer-y);
17
- }
19
+ // Improved responsive it-card-group with a @container aware twist
20
+ .it-card-group {
21
+ --#{$prefix}it-card-group-gap: #{$grid-gutter-width};
18
22
 
19
- .card-subtitle {
20
- margin-top: calc(-0.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list
21
- margin-bottom: 0;
22
- }
23
+ display: flex;
24
+ flex-wrap: wrap;
23
25
 
24
- .card-text:last-child {
25
- margin-bottom: 0;
26
- }
26
+ // gap fallback
27
+ margin: calc(-0.5 * var(--#{$prefix}it-card-group-gap));
27
28
 
28
- .card-link {
29
- &:hover {
30
- text-decoration: if($link-hover-decoration == underline, none, null);
31
- }
29
+ > .it-card {
30
+ margin: calc(0.5 * var(--#{$prefix}it-card-group-gap));
31
+ // Default stacked on mobile
32
+ flex: 0 0 calc(100% - var(--#{$prefix}it-card-group-gap));
32
33
 
33
- + .card-link {
34
- margin-left: var(--#{$prefix}card-spacer-x);
35
- }
36
- }
37
-
38
- //
39
- // Optional textual caps
40
- //
34
+ // Responsive breakpoints
35
+ @include media-breakpoint-up(sm) {
36
+ flex: 0 0 calc(50% - 0.5 * var(--#{$prefix}it-card-group-gap));
37
+ }
41
38
 
42
- .card-header {
43
- padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
44
- margin-bottom: 0; // Removes the default margin-bottom of <hN>
45
- color: var(--#{$prefix}card-cap-color);
46
- background-color: var(--#{$prefix}card-cap-bg);
47
- border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
39
+ @include media-breakpoint-up(md) {
40
+ flex: 0 0 calc(33.333% - 0.667 * var(--#{$prefix}it-card-group-gap));
41
+ }
48
42
 
49
- &:first-child {
50
- @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);
43
+ @include media-breakpoint-up(lg) {
44
+ flex: 0 0 calc(25% - 0.75 * var(--#{$prefix}it-card-group-gap));
45
+ }
51
46
  }
52
- }
53
47
 
54
- .card-footer {
55
- padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
56
- color: var(--#{$prefix}card-cap-color);
57
- background-color: var(--#{$prefix}card-cap-bg);
58
- border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
48
+ @supports (gap: var(--#{$prefix}it-card-group-gap)) {
49
+ margin: 0;
50
+ gap: var(--#{$prefix}it-card-group-gap);
59
51
 
60
- &:last-child {
61
- @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));
52
+ > .it-card {
53
+ margin: 0;
54
+ }
62
55
  }
63
- }
64
-
65
- //
66
- // Header navs
67
- //
68
-
69
- .card-header-tabs {
70
- margin-right: calc(-0.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
71
- margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list
72
- margin-left: calc(-0.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
73
- border-bottom: 0;
74
56
 
75
- .nav-link.active {
76
- background-color: var(--#{$prefix}card-bg);
77
- border-bottom-color: var(--#{$prefix}card-bg);
57
+ // Predefined column layouts
58
+ &.it-card-group-2-cols > .it-card,
59
+ &.it-card-group-3-cols > .it-card,
60
+ &.it-card-group-4-cols > .it-card {
61
+ @include media-breakpoint-up(sm) {
62
+ flex: 0 0 calc(50% - 0.5 * var(--#{$prefix}it-card-group-gap));
63
+ }
78
64
  }
79
- }
80
65
 
81
- .card-header-pills {
82
- margin-right: calc(-0.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
83
- margin-left: calc(-0.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
84
- }
66
+ &.it-card-group-3-cols > .it-card {
67
+ @include media-breakpoint-up(md) {
68
+ flex: 0 0 calc(33.333% - 0.667 * var(--#{$prefix}it-card-group-gap));
69
+ }
70
+ }
85
71
 
86
- // Card image
87
- .card-img-overlay {
88
- position: absolute;
89
- top: 0;
90
- right: 0;
91
- bottom: 0;
92
- left: 0;
93
- padding: var(--#{$prefix}card-img-overlay-padding);
94
- @include border-radius(var(--#{$prefix}card-inner-border-radius));
95
- }
72
+ &.it-card-group-4-cols > .it-card {
73
+ @include media-breakpoint-up(md) {
74
+ flex: 0 0 calc(33.333% - 0.667 * var(--#{$prefix}it-card-group-gap));
75
+ }
96
76
 
97
- .card-img,
98
- .card-img-top,
99
- .card-img-bottom {
100
- width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
101
- }
77
+ @include media-breakpoint-up(lg) {
78
+ flex: 0 0 calc(25% - 0.75 * var(--#{$prefix}it-card-group-gap));
79
+ }
80
+ }
102
81
 
103
- .card-img,
104
- .card-img-top {
105
- @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
106
- }
82
+ // Progressive enhancement with Container Queries
83
+ @supports (container-type: inline-size) {
84
+ // Only with .it-card-group-container-aware class
85
+ &.it-card-group-container-aware {
86
+ container-type: inline-size;
107
87
 
108
- .card-img,
109
- .card-img-bottom {
110
- @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
111
- }
88
+ > .it-card {
89
+ // Reset Media Queries
90
+ @include media-breakpoint-up(sm) {
91
+ flex: auto;
92
+ }
112
93
 
113
- //
114
- // Card groups
115
- //
94
+ @include media-breakpoint-up(md) {
95
+ flex: auto;
96
+ }
116
97
 
117
- .card-group {
118
- // The child selector allows nested `.card` within `.card-group`
119
- // to display properly.
120
- > .card {
121
- margin-bottom: var(--#{$prefix}card-group-margin);
122
- }
98
+ @include media-breakpoint-up(lg) {
99
+ flex: auto;
100
+ }
123
101
 
124
- @include media-breakpoint-up(sm) {
125
- display: flex;
126
- flex-flow: row wrap;
127
- // The child selector allows nested `.card` within `.card-group`
128
- // to display properly.
129
- > .card {
130
- // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
131
- flex: 1 0 0%;
132
- margin-bottom: 0;
102
+ // Container Queries
103
+ flex: 1 0 100%;
133
104
 
134
- + .card {
135
- margin-left: 0;
136
- border-left: 0;
137
- }
105
+ @container (min-width: 500px) {
106
+ flex: 0 0 calc(50% - 0.5 * var(--#{$prefix}it-card-group-gap));
107
+ }
138
108
 
139
- // Handle rounded corners
140
- @if $enable-rounded {
141
- &:not(:last-child) {
142
- @include border-end-radius(0);
109
+ @container (min-width: 800px) {
110
+ flex: 0 0 calc(33.333% - 0.667 * var(--#{$prefix}it-card-group-gap));
111
+ }
143
112
 
144
- .card-img-top,
145
- .card-header {
146
- // stylelint-disable-next-line property-disallowed-list
147
- border-top-right-radius: 0;
148
- }
149
- .card-img-bottom,
150
- .card-footer {
151
- // stylelint-disable-next-line property-disallowed-list
152
- border-bottom-right-radius: 0;
153
- }
113
+ @container (min-width: 1100px) {
114
+ flex: 0 0 calc(25% - 0.75 * var(--#{$prefix}it-card-group-gap));
154
115
  }
116
+ }
155
117
 
156
- &:not(:first-child) {
157
- @include border-start-radius(0);
118
+ // Override specific coulmns in container mode
119
+ &.it-card-group-2-cols > .it-card {
120
+ @container (min-width: 500px) {
121
+ flex: 0 0 calc(50% - 0.5 * var(--#{$prefix}it-card-group-gap));
122
+ }
123
+ }
158
124
 
159
- .card-img-top,
160
- .card-header {
161
- // stylelint-disable-next-line property-disallowed-list
162
- border-top-left-radius: 0;
163
- }
164
- .card-img-bottom,
165
- .card-footer {
166
- // stylelint-disable-next-line property-disallowed-list
167
- border-bottom-left-radius: 0;
168
- }
125
+ &.it-card-group-3-cols > .it-card {
126
+ @container (min-width: 800px) {
127
+ flex: 0 0 calc(33.333% - 0.667 * var(--#{$prefix}it-card-group-gap));
169
128
  }
170
129
  }
171
130
  }
172
131
  }
173
- }
174
132
 
175
- .card-wrapper {
176
- padding-bottom: $v-gap * 3;
177
- display: flex;
178
-
179
- &.card-column {
180
- flex-direction: column;
133
+ // Option for equal height cards
134
+ &.it-card-group-equal-height > .it-card {
135
+ height: 100%;
136
+ }
181
137
 
182
- .card {
183
- height: auto !important;
138
+ // Options for alignments
139
+ &.it-card-group-center {
140
+ justify-content: center;
141
+ }
184
142
 
185
- & + .card {
186
- margin-top: 1rem;
187
- }
188
- }
143
+ &.it-card-group-end {
144
+ justify-content: flex-end;
189
145
  }
146
+ }
190
147
 
191
- &.card-teaser-wrapper {
192
- flex-direction: row;
193
- justify-content: space-between;
194
- align-items: flex-start;
195
- flex-wrap: wrap;
148
+ //
149
+ // Base card structure It Card 2025
150
+ //
151
+ .it-card,
152
+ article.it-card {
153
+ --#{$prefix}it-card-bg: #{$white};
154
+ --#{$prefix}it-card-body-spacer: 1rem;
155
+ --#{$prefix}it-card-border-color: #{$gray-border};
156
+ --#{$prefix}it-card-border-radius: 4px;
157
+ --#{$prefix}it-card-border-top-color: transparent; // default background set to transparent
158
+ --#{$prefix}it-card-border-top-width: 6px;
159
+ --#{$prefix}it-card-border-outside-width: 1px; // xxx change to 2px if needed
160
+ --#{$prefix}it-card-border-separator-width: 1px; // xxx change to 2px if needed
161
+ --#{$prefix}it-card-cap-bg: transparent;
162
+ --#{$prefix}it-card-cap-color: null;
163
+ --#{$prefix}it-card-cap-padding-x: var(--#{$prefix}it-card-spacer-x);
164
+ --#{$prefix}it-card-cap-padding-y: calc(var(--#{$prefix}it-card-spacer-y) * 2);
165
+ --#{$prefix}it-card-category-color: #{$color-text-muted};
166
+ --#{$prefix}it-card-category-fw: 600;
167
+ --#{$prefix}it-card-category-l-spacing: 0.5px;
168
+ --#{$prefix}it-card-category-m-bottom: 0;
169
+ --#{$prefix}it-card-category-size: 1rem;
170
+ --#{$prefix}it-card-chips-a-color: #{$color-text-secondary};
171
+ --#{$prefix}it-card-chips-gap: 1rem;
172
+ --#{$prefix}it-card-color: #{$color-text-secondary};
173
+ --#{$prefix}it-card-date-color: #{$color-text-muted};
174
+ --#{$prefix}it-card-date-size: 0.875rem;
175
+ --#{$prefix}it-card-description-color: #{$color-text-muted};
176
+ --#{$prefix}it-card-height: auto;
177
+ --#{$prefix}it-card-inline-min-height: 240px;
178
+ --#{$prefix}it-card-inline-mini-min-height: 160px;
179
+ --#{$prefix}it-card-inner-border-radius: subtract(var(--#{$prefix}it-card-border-radius), var(--#{$prefix}it-card-border-outside-width));
180
+ --#{$prefix}it-card-link-color: #{$color-text-secondary};
181
+ --#{$prefix}it-card-list-group-item-padding-y: 0.75rem;
182
+ --#{$prefix}it-card-p-color: #{$color-text-secondary};
183
+ --#{$prefix}it-card-signature-size: 1rem;
184
+ --#{$prefix}it-card-spacer-x: 1rem;
185
+ --#{$prefix}it-card-spacer-y: 0.5rem;
186
+ --#{$prefix}it-card-double-spacer-y: calc(2 * var(--#{$prefix}it-card-spacer-y));
187
+ --#{$prefix}it-card-quad-spacer-y: calc(4 * var(--#{$prefix}it-card-spacer-y));
188
+ --#{$prefix}it-card-title-spacer-y: var(--#{$prefix}it-card-spacer-y);
196
189
 
197
- &.card-teaser-wrapper-equal {
198
- align-items: stretch;
199
- }
190
+ display: flex;
191
+ flex-direction: column;
192
+ min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
193
+ height: var(--#{$prefix}it-card-height);
194
+ padding: 0 0 var(--#{$prefix}it-card-spacer-y) 0;
195
+ position: relative;
196
+ width: 100%;
197
+ overflow-wrap: break-word;
198
+ word-break: break-word;
199
+ background-color: var(--#{$prefix}it-card-bg);
200
+ background-clip: border-box;
201
+ color: var(--#{$prefix}it-card-color);
200
202
 
201
- & > .card-teaser {
202
- flex: 0 0 100%;
203
- margin: $v-gap * 2 0;
204
- display: flex;
205
- flex-wrap: wrap;
203
+ &.border {
204
+ border-width: var(--#{$prefix}it-card-border-outside-width) !important;
205
+ }
206
206
 
207
- &.border {
208
- border-color: $border-color;
209
- }
207
+ &.it-card-height-full {
208
+ height: 100%;
209
+ }
210
210
 
211
- &.card-teaser-image {
212
- padding: 0 !important;
211
+ .it-card-link {
212
+ color: var(--#{$prefix}it-card-link-color);
213
213
 
214
- & > .card-image-wrapper {
215
- flex: 1;
216
- display: flex;
217
- flex-direction: row;
218
- justify-content: space-between;
219
- align-items: flex-start;
214
+ &:hover {
215
+ color: color-hover($color-text-secondary);
216
+ }
220
217
 
221
- &.with-read-more {
222
- .card-image-rounded img {
223
- border-bottom-right-radius: 0 !important;
224
- }
225
- }
226
- }
227
- }
218
+ + .it-card-link {
219
+ margin-left: var(--#{$prefix}it-card-spacer-x);
228
220
  }
221
+ }
229
222
 
230
- .card-flex {
223
+ // Profile card
224
+ &.it-card-profile {
225
+ .it-card-profile-header {
231
226
  display: flex;
232
227
  flex-direction: row;
228
+ flex-wrap: wrap-reverse;
233
229
  justify-content: space-between;
234
- align-items: stretch;
235
- position: relative;
230
+ align-items: center;
231
+
232
+ // Gap fallback
233
+ > * {
234
+ margin: 0.5rem;
235
+ }
236
236
 
237
- .card-image {
238
- position: relative;
239
- // background-color: $gray-border;
240
- background-color: transparent;
237
+ @supports (gap: 1rem) {
238
+ gap: 1rem;
241
239
 
242
- display: flex;
243
- justify-content: center;
244
- align-items: center;
240
+ > * {
241
+ margin: 0;
242
+ }
243
+ }
245
244
 
246
- &.card-image-rounded {
247
- border-radius: 0 $border-radius $border-radius 0;
245
+ margin-top: calc(2 * var(--#{$prefix}it-card-title-spacer-y));
246
+ margin-bottom: var(--#{$prefix}it-card-title-spacer-y);
247
+ padding: 0 var(--#{$prefix}it-card-spacer-x);
248
248
 
249
- img {
250
- border-radius: 0 $border-radius $border-radius 0;
251
- }
249
+ .it-card-profile {
250
+ flex: 1;
251
+ max-width: 100%;
252
+
253
+ .it-card-profile-name {
254
+ margin-bottom: 0.25rem;
252
255
  }
253
256
 
254
- .card-date {
255
- background-color: $white;
256
- padding: 0.5em 1em;
257
- z-index: 1;
257
+ .it-card-profile-role,
258
+ .it-card-place-type {
259
+ font-weight: 600;
260
+ font-size: 1rem;
261
+ line-height: 1.5rem;
262
+ margin-bottom: 0;
263
+ }
264
+ }
258
265
 
259
- & > *:first-child {
260
- font-size: 120%;
261
- }
266
+ .it-card-profile-image {
267
+ max-width: 80px;
268
+ max-height: 80px;
262
269
 
263
- & > *:last-child {
264
- font-size: 80%;
265
- }
270
+ figure {
271
+ margin-bottom: 0;
266
272
  }
267
273
 
268
- img {
269
- z-index: auto;
270
- object-fit: cover;
274
+ .it-card-profile-image-icon-wrapper {
275
+ display: flex;
276
+ justify-content: center;
277
+ align-items: center;
278
+
279
+ background-color: $color-background-primary-lighter;
271
280
  }
272
281
  }
273
282
  }
283
+ }
274
284
 
275
- //Landscape
276
- @include media-breakpoint-up(md) {
277
- .card-teaser {
278
- flex: 0 0 49%;
279
- }
285
+ // Card title styles
286
+ .it-card-title {
287
+ margin-top: calc(2 * var(--#{$prefix}it-card-title-spacer-y));
288
+ margin-bottom: 0;
289
+ padding: 0 var(--#{$prefix}it-card-spacer-x);
280
290
 
281
- &.card-teaser-block-2 {
282
- width: 100%;
283
- justify-content: space-between;
291
+ &.it-card-title-icon {
292
+ display: flex;
293
+ flex-direction: row;
294
+ justify-content: space-between;
295
+ margin-right: -8px;
284
296
 
285
- & > .card-teaser {
286
- flex: 0 0 49%;
287
- }
297
+ // Gap fallback
298
+ > * {
299
+ margin: 0.25rem;
288
300
  }
289
301
 
290
- &.card-teaser-block-3 {
291
- width: 100%;
292
- justify-content: space-between;
302
+ @supports (gap: 0.5rem) {
303
+ gap: 0.5rem;
293
304
 
294
- & > .card-teaser {
295
- flex: 0 0 32%;
305
+ > * {
306
+ margin: 0;
296
307
  }
297
308
  }
298
309
 
299
- &.card-teaser-start {
300
- justify-content: flex-start !important;
310
+ .it-card-title-icon-wrapper {
311
+ display: flex;
312
+ align-items: center;
313
+ }
314
+
315
+ // linked titles with icons goes fullwidth
316
+ > a {
317
+ display: flex;
318
+ flex-direction: row;
319
+ justify-content: space-between;
320
+ width: 100%;
301
321
 
302
- .card-teaser + .card-teaser {
303
- margin-left: 1.35rem;
322
+ // Gap fallback
323
+ > * {
324
+ margin: 0.25rem;
304
325
  }
305
- }
306
326
 
307
- &.card-teaser-end {
308
- justify-content: flex-end !important;
327
+ @supports (gap: 0.5rem) {
328
+ gap: 0.5rem;
309
329
 
310
- .card-teaser + .card-teaser {
311
- margin-left: 1.35rem;
330
+ > * {
331
+ margin: 0;
332
+ }
312
333
  }
313
334
  }
314
335
  }
315
336
  }
316
337
 
317
- //Desktop
318
- @include media-breakpoint-up(xl) {
319
- &.card-teaser-block-4 {
320
- width: 100%;
321
- justify-content: space-between;
338
+ // Card body and content
339
+ .it-card-body {
340
+ flex: 1 1 auto;
341
+ padding: var(--#{$prefix}it-card-spacer-y) var(--#{$prefix}it-card-spacer-x);
342
+ color: var(--#{$prefix}it-card-color);
343
+
344
+ // Card subtitle or event timeframe
345
+ .it-card-subtitle {
346
+ margin-bottom: var(--#{$prefix}it-card-spacer-y);
322
347
 
323
- & > .card-teaser {
324
- flex: 0 0 24%;
348
+ font-weight: 600;
349
+ font-size: 1.25rem; // equal h5
350
+ line-height: 1.5rem;
351
+
352
+ @include media-breakpoint-up(sm) {
353
+ font-size: 1.5rem;
354
+ line-height: 2rem;
325
355
  }
326
356
  }
327
357
 
328
- &.card-overlapping {
329
- margin-top: -32px;
330
- }
331
- }
332
- }
358
+ // Card description
359
+ .it-card-text {
360
+ color: var(--#{$prefix}it-card-p-color);
361
+ font-size: 1rem;
362
+ line-height: 1.5rem;
333
363
 
334
- .card {
335
- // scss-docs-start card-css-vars
336
- --#{$prefix}card-spacer-y: #{$card-spacer-y};
337
- --#{$prefix}card-spacer-x: #{$card-spacer-x};
338
- --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};
339
- --#{$prefix}card-border-width: #{$card-border-width};
340
- --#{$prefix}card-border-color: #{$card-border-color};
341
- --#{$prefix}card-border-radius: #{$card-border-radius};
342
- --#{$prefix}card-box-shadow: #{$card-box-shadow};
343
- --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};
344
- --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};
345
- --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};
346
- --#{$prefix}card-cap-bg: #{$card-cap-bg};
347
- --#{$prefix}card-cap-color: #{$card-cap-color};
348
- --#{$prefix}card-height: #{$card-height};
349
- --#{$prefix}card-color: #{$card-color};
350
- --#{$prefix}card-bg: #{$card-bg};
351
- --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};
352
- --#{$prefix}card-group-margin: #{$card-group-margin};
353
- // scss-docs-end card-css-vars
354
- display: flex;
355
- flex-direction: column;
356
- min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
357
- height: var(--#{$prefix}card-height);
358
- word-wrap: break-word;
359
- background-color: var(--#{$prefix}card-bg);
360
- background-clip: border-box;
361
- border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
362
- @include border-radius(var(--#{$prefix}card-border-radius));
363
- @include box-shadow(var(--#{$prefix}card-box-shadow));
364
+ &:last-child {
365
+ margin-bottom: 0;
366
+ }
367
+ }
364
368
 
365
- > hr {
366
- margin-right: 0;
367
- margin-left: 0;
369
+ // Card author
370
+ .it-card-signature {
371
+ font-family: $font-family-monospace;
372
+ color: var(--#{$prefix}it-card-color);
373
+ font-size: var(--#{$prefix}it-card-signature-size);
374
+ }
368
375
  }
369
376
 
370
- > .list-group {
371
- border-top: inherit;
372
- border-bottom: inherit;
373
-
374
- &:first-child {
375
- border-top-width: 0;
376
- @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
377
- }
377
+ // Card footer cap
378
+ .it-card-footer {
379
+ margin: 0 var(--#{$prefix}it-card-cap-padding-x);
380
+ padding: var(--#{$prefix}it-card-cap-padding-y) 0;
381
+ color: var(--#{$prefix}it-card-cap-color);
382
+ background-color: var(--#{$prefix}it-card-cap-bg);
383
+ border-top: var(--#{$prefix}it-card-border-separator-width) solid var(--#{$prefix}it-card-border-color);
384
+ font-size: 1rem;
385
+ line-height: 1.5rem;
378
386
 
379
387
  &:last-child {
380
- border-bottom-width: 0;
381
- @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
388
+ @include border-radius(0 0 var(--#{$prefix}it-card-inner-border-radius) var(--#{$prefix}it-card-inner-border-radius));
382
389
  }
383
390
  }
384
391
 
385
- // Due to specificity of the above selector (`.card > .list-group`), we must
386
- // use a child selector here to prevent double borders.
387
- > .card-header + .list-group,
388
- > .list-group + .card-footer {
389
- border-top: 0;
390
- }
391
- border: none;
392
- padding: 0;
393
- position: relative;
394
- width: 100%;
392
+ // Card metadata holder <footer>
393
+ footer {
394
+ margin-top: var(--#{$prefix}it-card-double-spacer-y);
395
395
 
396
- @each $color, $value in $theme-colors {
397
- &.card-bg-#{$color} {
398
- background-color: $value;
396
+ &.it-card-related {
397
+ display: flex;
398
+ flex-direction: row;
399
+ flex-wrap: wrap;
400
+ justify-content: flex-end;
399
401
 
400
- .card-body {
401
- .card-title,
402
- .card-text {
403
- color: $white;
404
- }
402
+ // Gap fallback
403
+ > * {
404
+ margin: 0.5rem;
405
405
  }
406
- }
407
- }
408
406
 
409
- .card-body {
410
- padding: $card-padding;
407
+ @supports (gap: 1rem) {
408
+ gap: 1rem;
411
409
 
412
- h4 {
413
- &.card-title {
414
- & + .card-text {
415
- padding-top: 16px;
410
+ > * {
411
+ margin: 0;
416
412
  }
417
413
  }
418
- }
419
414
 
420
- h5 {
421
- &.card-title {
422
- font-size: $card-h5-size;
423
- line-height: $card-h5-line-height;
424
- font-weight: $card-h5-fw;
425
- color: $card-h5-color;
426
- margin-bottom: $v-gap * 2;
427
- transition: all 0.3s;
428
- &.big-heading {
429
- font-size: $card-big-head-size;
430
- line-height: $card-big-head-l-h;
431
- }
415
+ // Align items baseline and fallback
416
+ align-items: flex-end;
432
417
 
433
- &.card-title-icon {
434
- display: flex;
435
- flex-direction: row;
436
- justify-content: flex-start;
437
- align-items: center;
418
+ @supports (align-items: last baseline) {
419
+ align-items: last baseline;
420
+ }
438
421
 
439
- .icon {
440
- margin-right: 0.5em;
441
- }
442
- }
422
+ &.it-card-footer {
423
+ padding-bottom: var(--#{$prefix}it-card-cap-padding-y);
424
+ padding-top: calc(var(--#{$prefix}it-card-cap-padding-y) * 0.5);
425
+ border-top: none;
443
426
  }
444
427
  }
445
- h6.card-subtitle {
446
- font-weight: normal;
447
- margin-bottom: $v-gap * 2;
448
- margin-top: -$v-gap * 2;
428
+
429
+ .it-card-taxonomy {
430
+ flex-grow: 1;
449
431
  }
450
- a {
432
+
433
+ .it-card-category {
451
434
  display: inline-block;
452
- h5.card-title {
453
- color: $card-link-color;
435
+ text-transform: uppercase;
436
+ color: var(--#{$prefix}it-card-category-color);
437
+ font-size: var(--#{$prefix}it-card-category-size);
438
+ font-weight: var(--#{$prefix}it-card-category-fw);
439
+ letter-spacing: var(--#{$prefix}it-card-category-l-spacing);
440
+ margin-bottom: var(--#{$prefix}it-card-category-m-bottom);
441
+ }
442
+
443
+ // If more than one Tag, use a list
444
+ ul.it-card-chips {
445
+ display: flex;
446
+ flex-wrap: wrap;
447
+
448
+ // Gap fallback
449
+ > li {
450
+ margin: 0.25rem;
454
451
  }
455
- &:hover {
456
- h5.card-title {
457
- color: var(--bs-link-hover-color);
452
+
453
+ @supports (gap: 0.5rem) {
454
+ gap: 0.5rem;
455
+
456
+ > li {
457
+ margin: 0;
458
458
  }
459
459
  }
460
- }
461
- .card-text {
462
- font-family: $font-family-serif;
463
- font-size: $card-p-size;
464
- line-height: $card-p-l-h;
465
- color: $card-p-color;
466
- }
467
- .card-signature {
468
- font-style: italic;
469
- font-family: $font-family-serif;
470
- color: $card-p-color;
471
- font-weight: 700;
472
- font-size: $card-signature-size;
460
+
461
+ padding: 0;
462
+ margin-top: 0.5rem;
473
463
  margin-bottom: 0;
474
- display: block;
464
+ list-style-type: none;
465
+ line-height: 1.5;
475
466
  }
476
- .category-top {
477
- font-size: $card-category-size;
478
- text-transform: uppercase;
479
- color: $card-p-color;
480
- margin-bottom: $card-category-m-bottom;
481
- a.category {
482
- color: $primary;
483
- &:hover {
484
- text-decoration: underline;
485
- }
486
- }
487
- .category {
488
- font-weight: 600;
489
- letter-spacing: $card-category-l-spacing;
490
- }
491
- .data {
492
- &:before {
493
- content: '—';
494
- display: inline-block;
495
- margin: 0 $v-gap;
496
- }
497
- }
467
+
468
+ .chip {
469
+ margin: 0;
470
+ line-height: 1.5; // reset default chip l-h
498
471
  }
499
- }
500
- // line
501
- &:after {
502
- content: '';
503
- // height: $card-small-line-height;
504
- // width: $card-small-line-w;
505
- // background: $card-small-line-color;
506
- display: block;
507
- margin-top: $card-small-line-margin;
508
- margin-left: $card-padding;
509
- }
510
- a.read-more {
511
- position: absolute;
512
- bottom: $v-gap * 3;
513
- }
514
- .categoryicon-top {
515
- margin-bottom: $card-cat-icon-block-margin;
516
- display: flex;
517
- align-items: center;
518
- .text {
519
- font-size: $card-category-size;
520
- text-transform: uppercase;
521
- letter-spacing: $card-category-l-spacing;
522
- color: $card-p-color;
523
- line-height: 1rem;
472
+
473
+ a.chip {
474
+ color: var(--#{$prefix}it-card-chips-a-color);
475
+ text-decoration: none;
524
476
  }
525
- .icon {
526
- width: $card-cat-icon-size;
527
- height: $card-cat-icon-size;
528
- fill: $card-link-color;
529
- margin-right: $v-gap * 1;
530
- flex-shrink: 0;
477
+
478
+ // Card date, use <time> if possible
479
+ .it-card-date {
480
+ color: var(--#{$prefix}it-card-date-color);
481
+ font-size: var(--#{$prefix}it-card-date-size);
531
482
  }
532
483
  }
533
- // simple link
534
- .simple-link {
535
- font-weight: 600;
536
- font-size: $card-signature-size;
537
- margin-top: $card-simple-link-margin;
538
- display: block;
539
- }
540
- // cards with background
541
- &.card-bg {
542
- margin-left: math.div($card-padding, 3);
543
- margin-right: math.div($card-padding, 3);
544
- box-shadow: $card-shadow;
545
- background: $card-shadow-bg;
546
- &:after {
547
- background: transparent;
548
- }
549
- border-right: none;
550
- }
551
- // cards with img top
552
- &.card-img {
553
- // Why the margin?
554
- // margin-left: $card-padding/3;
555
- // margin-right: $card-padding/3;
556
-
557
- &.shadow .card-body,
558
- &.border .card-body,
559
- &.border-start .card-body,
560
- &.border-end .card-body {
561
- padding-left: $card-padding;
562
- padding-right: $card-padding;
563
- }
564
- h5.card-title {
565
- font-size: $card-img-heading-size;
566
- line-height: $card-img-heading-l-h;
567
- margin-bottom: $v-gap * 5;
568
- }
569
- border-right: none;
570
-
571
- .img-responsive-wrapper {
572
- .img-responsive {
573
- padding-bottom: 61.29%; /* image proportion 310 x 190 */
574
- &.img-responsive-panoramic {
575
- padding-bottom: 30.645%; /* image proportion 310 x 95 */
576
- }
577
- }
484
+
485
+ // Card can contain description lists, example: personal or place data
486
+ .it-card-description-list,
487
+ .it-card-body .it-card-description-list {
488
+ border-top: var(--#{$prefix}it-card-border-separator-width) solid var(--#{$prefix}it-card-border-color);
489
+ border-bottom: var(--#{$prefix}it-card-border-separator-width) solid var(--#{$prefix}it-card-border-color);
490
+
491
+ font-size: 1rem;
492
+ line-height: 1.5rem;
493
+ color: var(--#{$prefix}it-card-description-color);
494
+
495
+ padding-top: var(--#{$prefix}it-card-double-spacer-y);
496
+ padding-bottom: var(--#{$prefix}it-card-double-spacer-y);
497
+
498
+ &:last-child {
499
+ margin-bottom: 0;
500
+ padding-bottom: var(--#{$prefix}it-card-spacer-y);
501
+ border-bottom: none;
578
502
  }
579
503
 
580
- &.rounded .img-responsive-wrapper {
581
- border-top-left-radius: $border-radius;
582
- border-top-right-radius: $border-radius;
504
+ display: flex;
505
+ flex-direction: column;
506
+
507
+ // gap fallback
508
+ > * {
509
+ margin: 0.25rem;
583
510
  }
584
- }
585
- .card-calendar {
586
- height: 80%;
587
- max-height: 80px;
588
- width: 80px;
589
- border-radius: 4px;
590
- background-color: $white;
591
- box-shadow:
592
- 0 1px 4px 0 rgba(0, 0, 0, 0.1),
593
- 0 4px 8px 0 rgba(0, 0, 0, 0.1);
594
- position: absolute;
595
- right: 32px;
596
- top: 10%;
597
- color: #455a64;
598
- text-align: center;
599
- font-size: 0.875rem;
600
- font-weight: 600;
601
- line-height: 1.3;
602
- text-transform: capitalize;
603
- .card-date {
604
- font-size: 1.667em;
605
- font-weight: 700;
606
- display: block;
511
+
512
+ @supports (gap: 0.5rem) {
513
+ gap: 0.5rem;
514
+
515
+ > * {
516
+ margin: 0;
517
+ }
607
518
  }
608
- }
609
519
 
610
- &.no-after {
611
- content: none;
612
- position: relative;
613
- &:after {
614
- display: none;
520
+ dt {
521
+ display: inline;
522
+ font-weight: bold;
523
+ margin-right: 0.125rem;
615
524
  }
616
525
 
617
- & > .read-more {
618
- &::before {
619
- content: '';
620
- height: $v-gap * 3;
621
- display: block;
622
- }
623
- padding-top: $v-gap * 2;
526
+ dd {
527
+ display: inline-block;
528
+ margin: 0;
624
529
  }
625
- }
626
530
 
627
- // special card
628
- &.special-card {
629
- .img-responsive-wrapper {
630
- overflow: visible;
631
- position: relative;
632
- width: $special-card-img-width;
633
- margin-bottom: $card-padding;
634
- &::before,
635
- &::after {
636
- content: '';
637
- position: absolute;
638
- width: 100%;
639
- height: 100%;
640
- display: block;
641
- }
642
- &:before {
643
- background: $primary-a3;
644
- left: $card-padding;
645
- top: $card-padding;
646
- opacity: 0.3;
647
- transition: all 0.3s;
648
- }
649
- &:after {
650
- background: $primary-a3;
651
- left: $card-padding * 0.5;
652
- top: $card-padding * 0.5;
653
- transition: all 0.3s;
654
- }
655
- .img-responsive {
656
- padding-bottom: 122.98%; /* image proportion 214 x 174 */
657
- z-index: 1;
658
- }
531
+ @include media-breakpoint-down(sm) {
532
+ display: flex;
533
+ flex-direction: column;
659
534
  }
660
- .head-tags {
661
- margin-bottom: $card-padding;
662
- span.data {
663
- font-weight: normal;
664
- }
535
+ }
536
+
537
+ // Card can contain special lists, example: Related articles to a main Tag card
538
+ > .list-group,
539
+ .it-card-body > .list-group {
540
+ border-top: var(--#{$prefix}it-card-border-separator-width) solid var(--#{$prefix}it-card-border-color);
541
+ border-bottom: var(--#{$prefix}it-card-border-separator-width) solid var(--#{$prefix}it-card-border-color);
542
+
543
+ margin-top: var(--#{$prefix}it-card-double-spacer-y);
544
+ margin-bottom: var(--#{$prefix}it-card-double-spacer-y);
545
+
546
+ color: var(--#{$prefix}it-card-p-color);
547
+
548
+ &:first-child {
549
+ border-top-width: 0;
550
+ @include border-top-radius(var(--#{$prefix}it-card-inner-border-radius));
665
551
  }
666
- h5.card-title {
667
- color: $card-link-color;
552
+
553
+ &:last-child {
554
+ border-bottom-width: 0;
555
+ @include border-bottom-radius(var(--#{$prefix}it-card-inner-border-radius));
668
556
  }
669
- &:hover {
670
- text-decoration: underline;
671
- h5.card-title {
672
- color: var(--bs-link-hover-color);
673
- }
674
- .img-responsive-wrapper {
675
- &:before {
676
- background: $primary;
677
- opacity: 0.3;
678
- }
679
- &:after {
680
- background: $primary;
681
- }
682
- }
557
+ }
558
+
559
+ .it-card-body > .list-group {
560
+ margin-top: var(--#{$prefix}it-card-quad-spacer-y);
561
+ margin-bottom: var(--#{$prefix}it-card-double-spacer-y);
562
+
563
+ .list-group-item {
564
+ padding: var(--#{$prefix}it-card-list-group-item-padding-y) 0;
683
565
  }
684
566
  }
685
- // card big
686
- &.card-big {
687
- .card-body {
688
- padding: $card-padding * 2;
689
- .top-icon {
690
- margin-bottom: $card-padding;
691
- .icon {
692
- width: $card-big-top-icon-size;
693
- height: $card-big-top-icon-size;
694
- fill: $primary;
567
+
568
+ > .it-card-header + .list-group,
569
+ > .list-group + .it-card-footer {
570
+ border-top: 0;
571
+ }
572
+
573
+ // Card image responsive wrapper and a11y DOM order hack
574
+ &.it-card-image {
575
+ width: 100%;
576
+ @include border-top-radius(var(--#{$prefix}it-card-inner-border-radius));
577
+ @include border-bottom-radius(var(--#{$prefix}it-card-inner-border-radius));
578
+
579
+ .it-card-image-wrapper {
580
+ order: -1;
581
+ }
582
+
583
+ &.rounded {
584
+ .it-card-image-wrapper {
585
+ &:first-child,
586
+ &:nth-child(2) {
587
+ border-top-left-radius: var(--#{$prefix}it-card-inner-border-radius);
588
+ border-top-right-radius: var(--#{$prefix}it-card-inner-border-radius);
695
589
  }
696
590
  }
697
591
 
698
- h5.card-title {
699
- font-size: $card-big-h5-size;
700
- line-height: $card-big-h5-l-h;
701
- }
702
- .card-text {
703
- font-size: $card-big-p-size;
704
- line-height: $card-big-p-l-h;
592
+ &.it-card-border-top {
593
+ .it-card-image-wrapper {
594
+ &:first-child,
595
+ &:nth-child(2) {
596
+ border-top-left-radius: 0;
597
+ border-top-right-radius: 0;
598
+ }
599
+ }
705
600
  }
706
601
  }
707
- .flag-icon {
708
- margin-left: $card-padding * 2;
709
- }
710
- .etichetta {
711
- position: absolute;
712
- right: $card-padding * 2;
713
- top: $card-padding + $v-gap;
714
- //left: $card-padding * 6;
715
- justify-content: flex-end;
716
- }
717
602
  }
718
- &.border-bottom-card {
719
- &::before {
603
+
604
+ // Card special colored 4px border-top, mere aestethic, don't use for semantic meaning
605
+ &.it-card-border-top {
606
+ &::after {
720
607
  content: '';
721
608
  display: block;
722
609
  position: absolute;
723
610
  left: 0;
724
611
  right: 0;
725
- height: 4px;
726
- bottom: 0;
727
- background: $primary;
612
+ height: var(--#{$prefix}it-card-border-top-width);
613
+ top: 0;
614
+ background: var(--#{$prefix}it-card-border-top-color);
728
615
  }
729
- }
730
- //head tag
731
- .head-tags {
732
- justify-content: space-between;
733
- display: flex;
734
- margin-bottom: $card-padding * 2;
735
- .data {
736
- font-size: $card-category-size;
737
- text-transform: uppercase;
738
- color: $card-p-color;
616
+
617
+ &.rounded {
618
+ &::after {
619
+ border-radius: 3px 3px 0 0;
620
+ }
739
621
  }
740
- }
741
- .card-tag {
742
- color: $primary;
743
- font-size: $card-category-size;
744
- font-weight: bold;
745
- letter-spacing: $card-category-l-spacing;
746
- padding: 0 $v-gap * 4;
747
- border-radius: $tag-radius;
748
- border: 1px solid $primary;
749
- }
750
- // card footer
751
- .it-card-footer {
752
- display: flex;
753
- justify-content: space-between;
754
- align-items: center;
755
- margin-top: $card-padding * 2;
756
- .card-signature {
757
- font-style: italic;
758
- font-family: $font-family-serif;
759
- color: $card-p-color;
760
- font-weight: 700;
761
- font-size: $card-signature-size;
762
- display: block;
763
- margin-bottom: 0;
622
+
623
+ // Border Top Color
624
+ &.it-card-border-top-primary::after {
625
+ --#{$prefix}it-card-border-top-color: #{$primary};
626
+ }
627
+
628
+ &.it-card-border-top-secondary::after {
629
+ --#{$prefix}it-card-border-top-color: #{$secondary};
630
+ }
631
+
632
+ &.it-card-border-top-success::after {
633
+ --#{$prefix}it-card-border-top-color: #{$success};
634
+ }
635
+
636
+ &.it-card-border-top-warning::after {
637
+ --#{$prefix}it-card-border-top-color: #{$warning};
638
+ }
639
+
640
+ &.it-card-border-top-danger::after {
641
+ --#{$prefix}it-card-border-top-color: #{$danger};
764
642
  }
765
643
  }
766
644
 
767
- &.card-teaser {
768
- display: inline-flex;
769
- // width: auto;
770
- flex-direction: row;
771
- align-items: flex-start;
772
- padding: 24px;
645
+ // Card presentation
646
+ &.it-card-banner {
647
+ align-items: center;
648
+ text-align: center;
649
+ padding-top: calc(var(--#{$prefix}it-card-quad-spacer-y) + var(--#{$prefix}it-card-spacer-y));
650
+ padding-bottom: calc(var(--#{$prefix}it-card-double-spacer-y) + var(--#{$prefix}it-card-spacer-y));
773
651
 
774
- &:after {
775
- content: none;
652
+ @include media-breakpoint-down(sm) {
653
+ padding-top: calc(var(--#{$prefix}it-card-double-spacer-y) + var(--#{$prefix}it-card-spacer-y));
654
+ padding-bottom: var(--#{$prefix}it-card-spacer-y);
776
655
  }
777
656
 
778
- &.card-column {
779
- flex-direction: column;
657
+ .it-card-body .it-card-subtitle {
658
+ font-weight: 500 !important;
780
659
  }
781
660
 
782
- .card-header {
661
+ .it-card-banner-icon-wrapper {
662
+ order: -1;
663
+ width: 100%;
783
664
  display: flex;
784
- flex-direction: row;
785
- justify-content: flex-start;
786
- align-items: flex-start;
665
+ flex-direction: column;
666
+ align-items: center;
667
+ }
787
668
 
788
- padding: 1em;
789
- width: 100%;
669
+ .it-card-footer {
670
+ border-top: 0;
671
+ padding-top: var(--#{$prefix}it-card-spacer-y);
672
+ }
673
+ }
674
+
675
+ // Layout inline
676
+ &.it-card-inline {
677
+ @mixin it-card-inline-layout {
678
+ flex-direction: row !important;
790
679
 
791
- .icon {
792
- margin-right: 0.5rem;
680
+ &:not(.it-card-banner) {
681
+ padding-bottom: 0 !important;
793
682
  }
794
683
 
795
- @for $i from 1 through 6 {
796
- h#{$i} {
797
- line-height: 1.5;
684
+ .it-card-inline-content {
685
+ display: flex;
686
+ flex-direction: column;
687
+ justify-content: space-between;
688
+ flex-grow: 1;
689
+
690
+ .it-card-footer {
691
+ margin-bottom: calc(var(--#{$prefix}it-card-cap-padding-y) * 0.5);
692
+ }
693
+
694
+ .it-card-related.it-card-footer {
798
695
  margin-bottom: 0;
696
+ padding-bottom: var(--#{$prefix}it-card-cap-padding-y);
799
697
  }
800
698
  }
801
- }
802
699
 
803
- .card-body {
804
- padding: 0;
805
- flex: auto;
700
+ &.it-card-image {
701
+ .it-card-image-wrapper {
702
+ display: flex;
806
703
 
807
- .card-text,
808
- .card-text > p {
809
- margin: 0;
704
+ .ratio {
705
+ position: absolute;
706
+ width: 100%;
707
+ height: 100%;
708
+ left: 0;
709
+ top: 0;
710
+ }
810
711
 
811
- & + .card-text {
812
- margin-top: 16px;
712
+ position: relative;
713
+ overflow: hidden;
813
714
  }
814
- }
815
- }
816
715
 
817
- .icon {
818
- min-width: 32px;
716
+ &.it-card-inline-reverse {
717
+ order: inherit;
819
718
 
820
- & + .card-body {
821
- margin-left: 1em;
822
- }
823
- }
719
+ .it-card-image-wrapper {
720
+ order: 1;
721
+ }
722
+ }
824
723
 
825
- .avatar {
826
- &.size-xs {
827
- min-width: $avatar-base-size * 2;
828
- }
724
+ &.rounded {
725
+ .it-card-image-wrapper {
726
+ &:first-child,
727
+ &:nth-child(2) {
728
+ border-top-right-radius: 0 !important;
729
+ border-bottom-left-radius: var(--#{$prefix}it-card-inner-border-radius);
730
+ }
731
+ }
829
732
 
830
- &.size-sm {
831
- min-width: $avatar-base-size * 3;
733
+ &.it-card-inline-reverse {
734
+ .it-card-image-wrapper {
735
+ &:first-child,
736
+ &:nth-child(2) {
737
+ border-top-left-radius: 0 !important;
738
+ border-bottom-left-radius: 0 !important;
739
+ border-top-right-radius: var(--#{$prefix}it-card-inner-border-radius) !important;
740
+ border-bottom-right-radius: var(--#{$prefix}it-card-inner-border-radius) !important;
741
+ }
742
+ }
743
+ }
744
+ }
832
745
  }
833
746
 
834
- &.size-md {
835
- min-width: $avatar-base-size * 4;
836
- }
747
+ &.it-card-banner {
748
+ align-items: flex-start;
749
+ text-align: left;
750
+ min-height: auto !important;
751
+ padding-left: var(--bs-it-card-spacer-x);
752
+ padding-right: var(--bs-it-card-spacer-x);
753
+
754
+ .it-card-title {
755
+ margin-top: 0;
756
+ }
837
757
 
838
- &.size-lg {
839
- min-width: $avatar-base-size * 5;
758
+ .it-card-banner-icon-wrapper {
759
+ width: auto;
760
+ }
761
+
762
+ &.it-card-inline-reverse {
763
+ order: inherit;
764
+ padding-right: var(--bs-it-card-spacer-x);
765
+ padding-left: 0;
766
+
767
+ .it-card-banner-icon-wrapper {
768
+ order: 1;
769
+ }
770
+ }
840
771
  }
772
+ }
841
773
 
842
- &.size-xl {
843
- min-width: $avatar-base-size * 10;
774
+ &.it-card-inline-mini {
775
+ @include it-card-inline-layout;
776
+ min-height: var(--#{$prefix}it-card-inline-mini-min-height);
777
+
778
+ &.it-card-image .it-card-image-wrapper {
779
+ width: 25%;
844
780
  }
845
781
 
846
- & + .card-body {
847
- flex: 1;
782
+ &.it-card-image .it-card-inline-content {
783
+ width: 75%;
848
784
  }
849
785
  }
850
- }
851
786
 
852
- @each $color, $value in $theme-colors {
853
- &.card-teaser-#{$color} {
854
- border-left: 8px solid $value;
855
- }
856
- }
857
- }
858
- // flag
859
- .flag-icon {
860
- width: $flag-icon-w;
861
- height: $flag-icon-h;
862
- box-sizing: content-box;
863
- position: relative;
864
- background: $flag-icon-color;
865
- color: $card-shadow-bg;
866
- text-align: center;
867
- text-transform: uppercase;
868
- }
869
- .flag-icon:after {
870
- content: '';
871
- position: absolute;
872
- left: 0;
873
- bottom: 0;
874
- width: 0;
875
- height: 0;
876
- border-bottom: 13px solid $card-shadow-bg;
877
- border-left: $flag-icon-w * 0.5 solid transparent;
878
- border-right: $flag-icon-w * 0.5 solid transparent;
879
- }
787
+ @include media-breakpoint-up(sm) {
788
+ &:not(.it-card-inline-mini) {
789
+ @include it-card-inline-layout;
790
+ min-height: var(--#{$prefix}it-card-inline-min-height);
880
791
 
881
- // read more text
882
- a.read-more {
883
- display: flex;
884
- align-items: center;
885
- color: $card-link-color;
886
- text-transform: uppercase;
887
- font-weight: bold;
888
- letter-spacing: $card-category-l-spacing;
889
- font-size: $card-category-size;
890
- text-decoration: none;
891
- .icon {
892
- margin-left: $v-gap;
893
- fill: $card-link-color;
894
- width: $card-link-icon-size;
895
- height: $card-link-icon-size;
896
- flex-shrink: 0;
897
- }
898
- &:hover {
899
- text-decoration: underline;
900
- }
901
- }
902
- //.etichetta
903
- .etichetta {
904
- display: flex;
905
- align-items: center;
906
- font-size: $card-category-size;
907
- text-transform: uppercase;
908
- font-weight: bold;
909
- letter-spacing: $card-category-l-spacing;
910
- color: $card-p-color;
911
- .icon {
912
- fill: $card-p-color;
913
- width: $v-gap * 3;
914
- height: $v-gap * 3;
915
- margin-right: $v-gap;
916
- flex-shrink: 0;
917
- }
918
- }
919
- // Contextual variation
920
- .row {
921
- [class*='col-'] {
922
- //car variation inside cols
923
- > .card-wrapper {
924
- height: 100%;
925
- > .card {
926
- height: 100%;
792
+ &.it-card-image .it-card-image-wrapper {
793
+ width: 50%;
794
+ }
795
+
796
+ &.it-card-image .it-card-inline-content {
797
+ width: 50%;
798
+ }
927
799
  }
928
800
  }
929
801
  }
930
802
  }
931
- //Tablet horizontal / small desktop
932
- @include media-breakpoint-up(lg) {
933
- .card-wrapper {
934
- padding-bottom: 0;
935
- &.card-space {
936
- padding-bottom: $card-padding * 0.5;
937
- }
938
- &.card-offset {
939
- margin-top: 90px;
940
- }
941
- }
942
- .card {
943
- border: none;
944
- &.card-bg,
945
- &.card-img {
946
- margin: 0;
947
- }
948
- }
949
- }