@ilo-org/styles 0.6.1 → 0.7.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 (37) hide show
  1. package/build/css/components/index.css +782 -1092
  2. package/build/css/components/index.css.map +1 -1
  3. package/build/css/global.css +1 -1
  4. package/build/css/index.css +782 -1092
  5. package/build/css/index.css.map +1 -1
  6. package/build/css/monorepo.css +782 -1092
  7. package/build/css/monorepo.css.map +1 -1
  8. package/build/minified/index.css +1 -1
  9. package/build/minified/index.css.map +1 -1
  10. package/build/minified/monorepo.css +1 -1
  11. package/build/minified/monorepo.css.map +1 -1
  12. package/css/components/card.css +1 -1
  13. package/css/components/cardgroup.css +1 -1
  14. package/css/components/herocard.css +1 -1
  15. package/css/global.css.map +1 -1
  16. package/css/index.css +1 -1
  17. package/css/index.css.map +1 -1
  18. package/css/monorepo.css +1 -1
  19. package/css/monorepo.css.map +1 -1
  20. package/package.json +1 -1
  21. package/scss/_mixins.scss +19 -20
  22. package/scss/components/_card.scss +79 -1376
  23. package/scss/components/_cardgroup.scss +66 -24
  24. package/scss/components/_datacard.scss +90 -0
  25. package/scss/components/_detailcard.scss +150 -0
  26. package/scss/components/_factlistcard.scss +110 -0
  27. package/scss/components/_featurecard.scss +218 -0
  28. package/scss/components/_herocard.scss +3 -19
  29. package/scss/components/_multilinkcard.scss +189 -0
  30. package/scss/components/_promocard.scss +157 -0
  31. package/scss/components/_statcard.scss +76 -0
  32. package/scss/components/_textcard.scss +135 -0
  33. package/scss/components/index.scss +8 -0
  34. package/css/components/experiment.css +0 -1
  35. package/css/components/formcontrol.css +0 -1
  36. package/css/components/textinput.css +0 -1
  37. package/css/components/toggle.css +0 -1
@@ -6,50 +6,89 @@
6
6
  .ilo--card {
7
7
  $self: &;
8
8
  $transition-timing: 150ms;
9
- margin: 0;
9
+
10
+ box-sizing: border-box;
11
+ position: relative;
12
+
13
+ // Max width is set in the invididual card types unless fluid
14
+ max-width: var(--max-width);
15
+ flex: 1 1 var(--max-width);
16
+
17
+ &__size__fluid {
18
+ --max-width: 100% !important;
19
+ }
10
20
 
11
21
  .right-to-left & {
12
22
  text-align: right;
13
23
  }
14
24
 
15
- &--action:hover:not(#{$self}--data):not(#{$self}--stat),
16
- &--action:focus:not(#{$self}--data):not(#{$self}--stat),
17
- &--action:focus-within:not(#{$self}--data):not(#{$self}--stat) {
25
+ &__action:hover,
26
+ &__action:focus,
27
+ &__action:focus-within {
18
28
  background: $brand-ilo-white;
19
- color: $brand-ilo-blue;
20
29
  outline: none;
21
30
  text-decoration: none;
22
31
 
23
- &#{$self}--dark:not(#{$self}--detail):not(#{$self}--data):not(
24
- #{$self}--multilink
25
- ):not(#{$self}--factlist) {
32
+ &#{$self}__dark {
26
33
  background: $brand-ilo-white;
27
-
28
- &#{$self}--cornercut {
29
- &::after {
30
- @include dataurlicon("triangledecoration", $brand-ilo-white);
31
- }
32
- }
33
34
  }
34
35
 
35
- #{$self}--eyebrow {
36
+ #{$self}--eyebrow,
37
+ #{$self}--title,
38
+ #{$self}--intro,
39
+ #{$self}--date,
40
+ #{$self}--date-extra {
36
41
  color: $brand-ilo-blue;
37
42
  }
43
+ }
38
44
 
39
- #{$self}--title {
40
- color: $brand-ilo-blue;
45
+ &__theme {
46
+ &__light {
47
+ background: $brand-ilo-white;
41
48
  }
42
49
 
43
- #{$self}--intro {
44
- color: $brand-ilo-blue;
50
+ &__dark {
51
+ background: $brand-ilo-dark-blue;
52
+ transition: background $transition-timing ease-out;
53
+
54
+ #{$self}--eyebrow,
55
+ #{$self}--title,
56
+ #{$self}--intro,
57
+ #{$self}--date,
58
+ #{$self}--eventdate {
59
+ color: $brand-ilo-grey-light;
60
+ transition: color $transition-timing ease-out;
61
+ }
45
62
  }
63
+ }
46
64
 
47
- #{$self}--date {
48
- color: $brand-ilo-blue;
65
+ &__isvideo {
66
+ #{$self}--image--wrapper {
67
+ position: relative;
68
+
69
+ &::before {
70
+ @include dataurlicon("play", $brand-ilo-grey-light);
71
+ background-color: $brand-ilo-grey-charcoal;
72
+ background-position: center;
73
+ background-size: 18px 20px;
74
+ background-repeat: no-repeat;
75
+ content: "";
76
+ display: block;
77
+ height: 40px;
78
+ left: 0;
79
+ position: absolute;
80
+ top: 0;
81
+ width: 40px;
82
+ z-index: 1;
83
+ }
49
84
  }
85
+ }
50
86
 
51
- #{$self}--eventdate {
52
- color: $brand-ilo-blue;
87
+ &--wrapper {
88
+ &:hover,
89
+ &:focus,
90
+ &:focus-within {
91
+ @include card-drop-shadow;
53
92
  }
54
93
  }
55
94
 
@@ -72,157 +111,32 @@
72
111
  @include globaltransition(
73
112
  "color, background-color, border-color, opacity"
74
113
  );
75
- }
76
-
77
- &--text {
78
- @include isVisuallyHidden();
79
- }
80
- }
81
-
82
- &--light {
83
- background: $brand-ilo-white;
84
- }
85
-
86
- &--dark:not(#{$self}--detail):not(#{$self}--data):not(
87
- #{$self}--multilink
88
- ):not(:hover):not(:focus):not(:focus-within) {
89
- background: $brand-ilo-dark-blue;
90
- outline: none;
91
- transition: background $transition-timing ease-out;
92
-
93
- #{$self}--eyebrow {
94
- color: $brand-ilo-grey-light;
95
- transition: color $transition-timing ease-out;
96
- }
97
-
98
- #{$self}--title {
99
- color: $brand-ilo-white;
100
- transition: color $transition-timing ease-out;
101
- }
102
-
103
- #{$self}--intro {
104
- color: $brand-ilo-grey-light;
105
- transition: color $transition-timing ease-out;
106
- }
107
-
108
- #{$self}--date {
109
- color: $brand-ilo-grey-light;
110
- transition: color $transition-timing ease-out;
111
- }
112
-
113
- #{$self}--eventdate {
114
- color: $brand-ilo-grey-light;
115
- transition: color $transition-timing ease-out;
116
- }
117
- }
118
-
119
- &--dark:not(#{$self}--action),
120
- &--dark:not(#{$self}--action):hover,
121
- &--dark:not(#{$self}--action):focus,
122
- &--dark:not(#{$self}--action):focus-within {
123
- background: $brand-ilo-dark-blue;
124
- outline: none;
125
- transition: background $transition-timing ease-out;
126
-
127
- #{$self}--eyebrow {
128
- color: $brand-ilo-grey-light;
129
- transition: color $transition-timing ease-out;
130
- }
131
-
132
- #{$self}--title {
133
- color: $brand-ilo-white;
134
- transition: color $transition-timing ease-out;
135
- }
136
-
137
- #{$self}--intro {
138
- color: $brand-ilo-grey-light;
139
- transition: color $transition-timing ease-out;
140
- }
141
-
142
- #{$self}--date {
143
- color: $brand-ilo-grey-light;
144
- transition: color $transition-timing ease-out;
145
- }
146
-
147
- #{$self}--eventdate {
148
- color: $brand-ilo-grey-light;
149
- transition: color $transition-timing ease-out;
150
- }
151
- }
152
-
153
- &--cornercut:not(#{$self}--multilink):not(#{$self}--detail):not(
154
- #{$self}--feature
155
- ):not(#{$self}--graphic):not(#{$self}--stat):not(#{$self}--data) {
156
- @include cornercut($brand-ilo-white, 40px, 73px);
157
- margin-top: px-to-rem(40px);
158
- padding-top: 0;
159
- position: relative;
160
-
161
- &#{$self}--dark {
162
- &::after {
163
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
164
- }
165
- }
166
-
167
- @include breakpoint("medium") {
168
- @include cornercut($brand-ilo-white, 48px, 87px);
169
- margin-top: px-to-rem(48px);
170
114
 
171
- &#{$self}--dark {
172
- &::after {
173
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
115
+ + #{$self}--wrap {
116
+ #{$self}--eyebrow {
117
+ color: $brand-ilo-blue;
174
118
  }
175
- }
176
- }
177
-
178
- @include breakpoint("large") {
179
- @include cornercut($brand-ilo-white, 64px, 116px);
180
- margin-top: px-to-rem(64px);
181
119
 
182
- &#{$self}--dark {
183
- &::after {
184
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
120
+ #{$self}--title {
121
+ color: $brand-ilo-blue;
185
122
  }
186
- }
187
- }
188
-
189
- &::before {
190
- left: 0;
191
- top: px-to-rem(-40px);
192
- transition: background-image $transition-timing ease-out;
193
123
 
194
- .right-to-left & {
195
- left: auto;
196
- right: 0;
197
- }
124
+ #{$self}--intro {
125
+ color: $brand-ilo-blue;
126
+ }
198
127
 
199
- @include breakpoint("medium") {
200
- top: px-to-rem(-47.7px);
201
- }
128
+ #{$self}--date {
129
+ color: $brand-ilo-blue;
130
+ }
202
131
 
203
- @include breakpoint("large") {
204
- top: px-to-rem(-63.7px);
132
+ #{$self}--eventdate {
133
+ color: $brand-ilo-blue;
134
+ }
205
135
  }
206
136
  }
207
137
 
208
- &::after {
209
- right: 0;
210
- top: px-to-rem(-40px);
211
- transition: background-image $transition-timing ease-out;
212
-
213
- .right-to-left & {
214
- left: 0;
215
- right: auto;
216
- transform: rotateY(180deg);
217
- }
218
-
219
- @include breakpoint("medium") {
220
- top: px-to-rem(-47.7px);
221
- }
222
-
223
- @include breakpoint("large") {
224
- top: px-to-rem(-63.7px);
225
- }
138
+ &--text {
139
+ @include isVisuallyHidden();
226
140
  }
227
141
  }
228
142
 
@@ -303,7 +217,7 @@
303
217
  @include textmargin("margin-bottom", 30px, "body-small", "copy", 0, 0);
304
218
  }
305
219
 
306
- &--image {
220
+ &--picture {
307
221
  max-width: 100%;
308
222
  width: 100%;
309
223
  }
@@ -312,1215 +226,4 @@
312
226
  position: relative;
313
227
  z-index: 2;
314
228
  }
315
-
316
- &--isvideo {
317
- #{$self}--image--wrapper {
318
- position: relative;
319
-
320
- &::before {
321
- @include dataurlicon("play", $brand-ilo-grey-light);
322
- background-color: $brand-ilo-grey-charcoal;
323
- background-position: center;
324
- background-size: 18px 20px;
325
- background-repeat: no-repeat;
326
- content: "";
327
- display: block;
328
- height: 40px;
329
- left: 0;
330
- position: absolute;
331
- top: 0;
332
- width: 40px;
333
- z-index: 1;
334
- }
335
- }
336
- }
337
-
338
- // CARD VARIANTS
339
- &--multilink {
340
- padding: px-to-rem(24px);
341
-
342
- #{$self}--image--wrapper {
343
- display: none;
344
- }
345
-
346
- #{$self}--content {
347
- #{$self}--image--wrapper {
348
- display: block;
349
- }
350
- }
351
-
352
- @include breakpoint("medium") {
353
- padding: px-to-rem(40px);
354
- }
355
-
356
- @include breakpoint("large") {
357
- padding: px-to-rem(56px) px-to-rem(48px);
358
- }
359
-
360
- #{$self}--title {
361
- @include font-styles("headline-5");
362
- @include textmargin("margin-bottom", 24px, "headline-5", "display", 0, 0);
363
- color: $brand-ilo-grey-charcoal;
364
-
365
- @include breakpoint("medium") {
366
- @include font-styles("headline-4");
367
- @include textmargin(
368
- "margin-bottom",
369
- 24px,
370
- "headline-4",
371
- "display",
372
- 0,
373
- 0
374
- );
375
- }
376
- }
377
-
378
- #{$self}--intro {
379
- @include font-styles("body-small");
380
- @include textmargin("margin-bottom", 40px, "body-small", "copy", 0, 0);
381
- color: $brand-ilo-grey-charcoal;
382
-
383
- @include breakpoint("medium") {
384
- @include font-styles("base");
385
- @include textmargin("margin-bottom", 40px, "base", "copy", 0, 0);
386
- }
387
- }
388
-
389
- &#{$self}--dark {
390
- background: $brand-ilo-white;
391
-
392
- #{$self}--title {
393
- color: $brand-ilo-grey-charcoal;
394
- }
395
-
396
- #{$self}--intro {
397
- color: $brand-ilo-grey-charcoal;
398
- }
399
- }
400
-
401
- &#{$self}--wide {
402
- padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
403
-
404
- @include breakpoint("medium") {
405
- padding: px-to-rem(56px) px-to-rem(48px);
406
-
407
- &#{$self}--right {
408
- #{$self}--wrap {
409
- flex-direction: row-reverse;
410
-
411
- .right-to-left & {
412
- flex-direction: row;
413
- }
414
- }
415
- }
416
-
417
- #{$self}--wrap {
418
- display: flex;
419
- column-gap: px-to-rem(32px);
420
-
421
- .right-to-left & {
422
- flex-direction: row-reverse;
423
- }
424
- }
425
-
426
- #{$self}--image--wrapper {
427
- display: block;
428
- width: 50%;
429
- }
430
-
431
- #{$self}--content {
432
- width: 50%;
433
-
434
- #{$self}--image--wrapper {
435
- display: none;
436
- }
437
- }
438
- }
439
- }
440
-
441
- &#{$self}--standard {
442
- padding: px-to-rem(48px) px-to-rem(40px);
443
-
444
- @include breakpoint("medium") {
445
- padding: px-to-rem(48px) px-to-rem(40px);
446
- }
447
-
448
- @include breakpoint("large") {
449
- padding: px-to-rem(48px) px-to-rem(40px);
450
- }
451
- }
452
-
453
- &#{$self}--narrow {
454
- padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
455
-
456
- @include breakpoint("medium") {
457
- padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
458
- }
459
-
460
- @include breakpoint("large") {
461
- padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
462
- }
463
-
464
- #{$self}--image--wrapper {
465
- display: none;
466
- }
467
-
468
- #{$self}--content {
469
- #{$self}--image--wrapper {
470
- display: block;
471
- margin-bottom: px-to-rem(24px);
472
- }
473
- }
474
-
475
- #{$self}--title {
476
- @include breakpoint("medium") {
477
- @include font-styles("headline-5");
478
- @include textmargin(
479
- "margin-bottom",
480
- 24px,
481
- "headline-5",
482
- "display",
483
- 0,
484
- 0
485
- );
486
- }
487
- }
488
-
489
- #{$self}--intro {
490
- @include breakpoint("medium") {
491
- @include font-styles("body-small");
492
- @include textmargin(
493
- "margin-bottom",
494
- 40px,
495
- "body-small",
496
- "copy",
497
- 0,
498
- 0
499
- );
500
- }
501
- }
502
- }
503
-
504
- .ilo--link-list {
505
- margin-top: px-to-rem(35px);
506
- }
507
- }
508
-
509
- &--detail {
510
- border-bottom: px-to-rem(3px) solid $brand-ilo-grey-light;
511
- padding: px-to-rem(24px) 0;
512
- position: relative;
513
-
514
- @include breakpoint("large") {
515
- padding: px-to-rem(32px) 0;
516
- }
517
-
518
- &:hover,
519
- &:focus,
520
- &:focus-within {
521
- filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
522
- drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
523
- drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
524
- drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
525
-
526
- picture::before {
527
- opacity: 0.4;
528
- z-index: 2;
529
- }
530
-
531
- #{$self}--event-date {
532
- &::before {
533
- @include dataurlicon("equilateraltriangle", $brand-ilo-blue);
534
- }
535
- }
536
- }
537
-
538
- picture {
539
- display: flex;
540
- position: relative;
541
-
542
- &::before {
543
- background-color: $brand-ilo-blue;
544
- content: "";
545
- display: block;
546
- height: 100%;
547
- left: 0;
548
- opacity: 0;
549
- position: absolute;
550
- top: 0;
551
- width: 100%;
552
- z-index: -1;
553
- @include globaltransition("opacity");
554
- }
555
- }
556
-
557
- #{$self}--wrap {
558
- display: flex;
559
-
560
- .right-to-left & {
561
- flex-direction: row-reverse;
562
- }
563
- }
564
-
565
- #{$self}--image {
566
- object-fit: contain;
567
- width: px-to-rem(77px);
568
-
569
- @include breakpoint("large") {
570
- width: px-to-rem(200px);
571
- }
572
-
573
- &--wrapper {
574
- max-width: px-to-rem(77px);
575
- width: 100%;
576
-
577
- @include breakpoint("large") {
578
- max-width: px-to-rem(200px);
579
- }
580
- }
581
- }
582
-
583
- #{$self}--content {
584
- padding: 0 px-to-rem(24px);
585
- }
586
-
587
- #{$self}--title {
588
- @include font-styles("headline-6");
589
-
590
- @include breakpoint("large") {
591
- @include font-styles("headline-5");
592
- }
593
- }
594
-
595
- #{$self}--event-date {
596
- @include font-styles("body-small");
597
- margin-bottom: 0;
598
- padding-left: px-to-rem(24px);
599
- position: relative;
600
-
601
- &::before {
602
- background-repeat: no-repeat;
603
- content: "";
604
- display: inline-block;
605
- height: px-to-rem(14px);
606
- left: 0;
607
- position: absolute;
608
- top: 50%;
609
- transform: rotate(-90deg) translateX(50%);
610
- width: px-to-rem(12px);
611
- @include dataurlicon("equilateraltriangle", $brand-ilo-grey-charcoal);
612
- }
613
- }
614
-
615
- #{$self}--date {
616
- @include font-styles("body-small");
617
- }
618
- }
619
-
620
- &--graphic {
621
- @include cornercut($brand-ilo-white, 40px, 73px);
622
- border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
623
- margin-top: px-to-rem(40px);
624
- padding: 0 px-to-rem(24px) px-to-rem(40px);
625
- position: relative;
626
-
627
- &#{$self}--dark {
628
- &::after {
629
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
630
- }
631
-
632
- &:hover,
633
- &:focus,
634
- &:focus-within {
635
- &::after {
636
- @include dataurlicon("triangledecoration", $brand-ilo-white);
637
- }
638
- }
639
- }
640
-
641
- &::before {
642
- left: 0;
643
- top: -39.7px;
644
-
645
- .right-to-left & {
646
- left: auto;
647
- right: 0;
648
- }
649
- }
650
-
651
- &::after {
652
- right: 0;
653
- top: -39.7px;
654
- transition: background-image $transition-timing ease-out;
655
-
656
- .right-to-left & {
657
- left: 0;
658
- right: auto;
659
- transform: rotateY(180deg);
660
- }
661
- }
662
-
663
- .ilo--profile--contents--light * {
664
- color: $color-base-neutrals-dark;
665
- }
666
-
667
- .ilo--profile--contents--dark * {
668
- color: $color-base-neutrals-white;
669
- }
670
-
671
- &:hover,
672
- &:focus,
673
- &:focus-within {
674
- filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
675
- drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
676
- drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
677
- drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
678
-
679
- .ilo--profile--contents * {
680
- color: $color-base-blue-medium;
681
- }
682
- }
683
-
684
- @include breakpoint("medium") {
685
- @include cornercut($brand-ilo-white, 40px, 73px);
686
- padding: 0 px-to-rem(32px) px-to-rem(40px);
687
-
688
- &#{$self}--dark {
689
- &::after {
690
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
691
- }
692
-
693
- &:hover,
694
- &:focus,
695
- &:focus-within {
696
- &::after {
697
- @include dataurlicon("triangledecoration", $brand-ilo-white);
698
- }
699
- }
700
- }
701
-
702
- &::before {
703
- left: 0;
704
- top: -39.7px;
705
-
706
- .right-to-left & {
707
- left: auto;
708
- right: 0;
709
- }
710
- }
711
-
712
- &::after {
713
- right: 0;
714
- top: -39.7px;
715
-
716
- .right-to-left & {
717
- left: 0;
718
- right: auto;
719
- transform: rotateY(180deg);
720
- }
721
- }
722
- }
723
-
724
- @include breakpoint("large") {
725
- @include cornercut($brand-ilo-white, 40px, 73px);
726
-
727
- &#{$self}--dark {
728
- &::after {
729
- @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
730
- }
731
-
732
- &:hover,
733
- &:focus,
734
- &:focus-within {
735
- &::after {
736
- @include dataurlicon("triangledecoration", $brand-ilo-white);
737
- }
738
- }
739
- }
740
-
741
- &::before {
742
- left: 0;
743
- top: -39.7px;
744
-
745
- .right-to-left & {
746
- left: auto;
747
- right: 0;
748
- }
749
- }
750
-
751
- &::after {
752
- right: 0;
753
- top: -39.7px;
754
-
755
- .right-to-left & {
756
- left: 0;
757
- right: auto;
758
- transform: rotateY(180deg);
759
- }
760
- }
761
- }
762
-
763
- &#{$self}--wide {
764
- padding: 0 px-to-rem(32px) px-to-rem(40px);
765
-
766
- @include breakpoint("medium") {
767
- padding: 0 px-to-rem(32px) px-to-rem(40px);
768
- }
769
- }
770
-
771
- &#{$self}--standard {
772
- padding: 0 px-to-rem(32px) px-to-rem(40px);
773
-
774
- @include breakpoint("medium") {
775
- padding: 0 px-to-rem(32px) px-to-rem(40px);
776
- }
777
- }
778
-
779
- &#{$self}--narrow {
780
- padding: 0 px-to-rem(24px) px-to-rem(40px);
781
-
782
- @include breakpoint("medium") {
783
- padding: 0 px-to-rem(24px) px-to-rem(40px);
784
- }
785
-
786
- #{$self}--title {
787
- @include font-styles("headline-6");
788
- @include textmargin(
789
- "margin-bottom",
790
- 40px,
791
- "headline-6",
792
- "display",
793
- "base",
794
- "copy"
795
- );
796
- }
797
- }
798
-
799
- &#{$self}--dark {
800
- border-bottom: px-to-rem(3px) solid $color-base-red-medium;
801
- }
802
-
803
- #{$self}--eyebrow {
804
- @include textmargin(
805
- "margin-bottom",
806
- 24px,
807
- "base",
808
- "copy",
809
- "headline-5",
810
- "display"
811
- );
812
- }
813
-
814
- #{$self}--title {
815
- @include font-styles("headline-6");
816
- @include textmargin(
817
- "margin-bottom",
818
- 40px,
819
- "headline-6",
820
- "display",
821
- "base",
822
- "copy"
823
- );
824
-
825
- @include breakpoint("medium") {
826
- @include font-styles("headline-5");
827
- @include textmargin(
828
- "margin-bottom",
829
- 40px,
830
- "headline-5",
831
- "display",
832
- "base",
833
- "copy"
834
- );
835
- }
836
- }
837
-
838
- #{$self}--date {
839
- display: block;
840
- @include textmargin("margin-bottom", 32px, "base", "copy", 0, 0);
841
- }
842
-
843
- .ilo--card--content {
844
- display: flex;
845
- flex-direction: column;
846
- position: relative;
847
-
848
- > * {
849
- justify-self: flex-start;
850
- }
851
-
852
- > *:last-child {
853
- justify-self: flex-end;
854
- margin-bottom: 0;
855
- }
856
- }
857
- }
858
-
859
- &--graphicpromo {
860
- max-width: px-to-rem(920px);
861
- padding: px-to-rem(40px) px-to-rem(24px);
862
- width: 100%;
863
-
864
- &:hover,
865
- &:focus,
866
- &:focus-within {
867
- filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
868
- drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
869
- drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
870
- drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
871
- }
872
-
873
- @include breakpoint("medium") {
874
- padding: px-to-rem(48px);
875
- }
876
-
877
- @include breakpoint("large") {
878
- padding: px-to-rem(64px) px-to-rem(72px);
879
- }
880
-
881
- &#{$self}--wide {
882
- padding: px-to-rem(64px) px-to-rem(72px);
883
-
884
- @include breakpoint("medium") {
885
- padding: px-to-rem(64px) px-to-rem(72px);
886
- }
887
-
888
- @include breakpoint("large") {
889
- padding: px-to-rem(64px) px-to-rem(72px);
890
- }
891
- }
892
-
893
- &#{$self}--standard {
894
- padding: px-to-rem(48px);
895
-
896
- @include breakpoint("medium") {
897
- padding: px-to-rem(48px) px-to-rem(48px) px-to-rem(64px) px-to-rem(48px);
898
- }
899
-
900
- @include breakpoint("large") {
901
- padding: px-to-rem(48px) px-to-rem(48px) px-to-rem(64px) px-to-rem(48px);
902
- }
903
- }
904
-
905
- &#{$self}--narrow {
906
- padding: px-to-rem(40px) px-to-rem(24px);
907
-
908
- @include breakpoint("medium") {
909
- padding: px-to-rem(40px) px-to-rem(24px);
910
- }
911
-
912
- @include breakpoint("large") {
913
- padding: px-to-rem(40px) px-to-rem(24px);
914
- }
915
-
916
- #{$self}--title {
917
- @include font-styles("headline-4");
918
- @include textmargin(
919
- "margin-bottom",
920
- 24px,
921
- "headline-4",
922
- "display",
923
- "body-small",
924
- "copy"
925
- );
926
-
927
- @include breakpoint("medium") {
928
- @include font-styles("headline-3");
929
- @include textmargin(
930
- "margin-bottom",
931
- 24px,
932
- "headline-3",
933
- "display",
934
- "body-small",
935
- "copy"
936
- );
937
- }
938
- }
939
-
940
- #{$self}--intro {
941
- @include font-styles("body-small");
942
- @include textmargin("margin-bottom", 40px, "body-small", "copy", 0, 0);
943
- }
944
- }
945
-
946
- &#{$self}--light:not(:hover) #{$self}--title {
947
- color: $brand-ilo-grey-charcoal;
948
- @include globaltransition("color");
949
- }
950
-
951
- #{$self}--title {
952
- @include font-styles("headline-4");
953
- @include textmargin(
954
- "margin-bottom",
955
- 24px,
956
- "headline-4",
957
- "display",
958
- "body-small",
959
- "copy"
960
- );
961
-
962
- @include breakpoint("medium") {
963
- @include font-styles("headline-3");
964
- @include textmargin(
965
- "margin-bottom",
966
- 32px,
967
- "headline-3",
968
- "display",
969
- "base",
970
- "copy"
971
- );
972
- }
973
- }
974
-
975
- #{$self}--intro {
976
- @include font-styles("body-small");
977
- @include textmargin("margin-bottom", 40px, "body-small", "copy", 0, 0);
978
-
979
- @include breakpoint("medium") {
980
- @include font-styles("base");
981
- @include textmargin("margin-bottom", 40px, "base", "copy", 0, 0);
982
- }
983
- }
984
- }
985
-
986
- &--factlist {
987
- border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
988
- max-width: px-to-rem(856px);
989
- padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
990
- pointer-events: none;
991
-
992
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
993
- .ilo--card--detail
994
- ):not(.ilo--card--feature) {
995
- &::before {
996
- height: 40px;
997
- top: px-to-rem(-39.7px);
998
- width: calc(100% - 73px);
999
- }
1000
-
1001
- &::after {
1002
- height: 40px;
1003
- top: px-to-rem(-39.7px);
1004
- width: 73.3px;
1005
- }
1006
- }
1007
-
1008
- &#{$self}--dark {
1009
- background: $brand-ilo-dark-blue;
1010
- }
1011
-
1012
- @include breakpoint("large") {
1013
- padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
1014
-
1015
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1016
- .ilo--card--detail
1017
- ):not(.ilo--card--feature) {
1018
- &::before {
1019
- height: 48px;
1020
- top: px-to-rem(-47.7px);
1021
- width: calc(100% - 87px);
1022
- }
1023
-
1024
- &::after {
1025
- height: 48px;
1026
- top: px-to-rem(-47.7px);
1027
- width: 87.3px;
1028
- }
1029
- }
1030
- }
1031
-
1032
- &#{$self}--wide {
1033
- padding: 0 px-to-rem(40px) px-to-rem(52px) px-to-rem(40px);
1034
-
1035
- @include breakpoint("medium") {
1036
- padding: 0 px-to-rem(40px) px-to-rem(60px) px-to-rem(40px);
1037
- }
1038
- }
1039
-
1040
- &#{$self}--standard {
1041
- padding: 0 px-to-rem(40px) px-to-rem(52px) px-to-rem(40px);
1042
-
1043
- @include breakpoint("medium") {
1044
- padding: 0 px-to-rem(40px) px-to-rem(60px) px-to-rem(40px);
1045
- }
1046
- }
1047
-
1048
- &#{$self}--narrow {
1049
- padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
1050
-
1051
- @include breakpoint("medium") {
1052
- padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
1053
- }
1054
- }
1055
-
1056
- &#{$self}--dark {
1057
- border-bottom: px-to-rem(3px) solid $color-base-red-medium;
1058
-
1059
- #{$self}--title {
1060
- color: $brand-ilo-white;
1061
- @include globaltransition("color");
1062
- }
1063
-
1064
- .ilo--list__item {
1065
- color: $brand-ilo-white;
1066
-
1067
- &:last-of-type {
1068
- margin-bottom: 0;
1069
- }
1070
- }
1071
-
1072
- &:hover,
1073
- &:focus,
1074
- &:focus-within {
1075
- #{$self}--title {
1076
- color: $brand-ilo-white;
1077
- @include globaltransition("color");
1078
- }
1079
-
1080
- .ilo--list__item {
1081
- color: $brand-ilo-white;
1082
- }
1083
- }
1084
- }
1085
-
1086
- #{$self}--title {
1087
- color: $brand-ilo-grey-charcoal;
1088
- @include font-styles("headline-5");
1089
- @include textmargin(
1090
- "margin-bottom",
1091
- 32px,
1092
- "headline-5",
1093
- "display",
1094
- "body-small",
1095
- "copy"
1096
- );
1097
-
1098
- @include breakpoint("large") {
1099
- @include font-styles("headline-4");
1100
- @include textmargin(
1101
- "margin-bottom",
1102
- 40px,
1103
- "headline-4",
1104
- "display",
1105
- "base",
1106
- "copy"
1107
- );
1108
- }
1109
- }
1110
- }
1111
-
1112
- &--stat {
1113
- border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
1114
- margin-top: px-to-rem(40px);
1115
- padding: 0 px-to-rem(24px) px-to-rem(40px) px-to-rem(22px);
1116
- position: relative;
1117
- width: 100%;
1118
-
1119
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1120
- .ilo--card--detail
1121
- ):not(.ilo--card--feature) {
1122
- &::before {
1123
- left: 0;
1124
- top: px-to-rem(-39.7px);
1125
-
1126
- .right-to-left & {
1127
- left: auto;
1128
- right: 0;
1129
- }
1130
- }
1131
-
1132
- &::after {
1133
- right: 0;
1134
- top: px-to-rem(-39.7px);
1135
-
1136
- .right-to-left & {
1137
- left: 0;
1138
- right: auto;
1139
- transform: rotateY(180deg);
1140
- }
1141
- }
1142
- }
1143
-
1144
- &#{$self}--blue {
1145
- background: $brand-ilo-light-blue;
1146
-
1147
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1148
- .ilo--card--detail
1149
- ):not(.ilo--card--feature) {
1150
- @include cornercut($brand-ilo-light-blue, 40px, 73px);
1151
- }
1152
- }
1153
-
1154
- &#{$self}--yellow {
1155
- background: $brand-ilo-yellow;
1156
-
1157
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1158
- .ilo--card--detail
1159
- ):not(.ilo--card--feature) {
1160
- @include cornercut($brand-ilo-yellow, 40px, 73px);
1161
- }
1162
- }
1163
-
1164
- &#{$self}--green {
1165
- background: $brand-ilo-green;
1166
-
1167
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1168
- .ilo--card--detail
1169
- ):not(.ilo--card--feature) {
1170
- @include cornercut($brand-ilo-green, 40px, 73px);
1171
- }
1172
- }
1173
-
1174
- &#{$self}--turquoise {
1175
- background: $brand-ilo-turquoise;
1176
-
1177
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(
1178
- .ilo--card--detail
1179
- ):not(.ilo--card--feature) {
1180
- @include cornercut($brand-ilo-turquoise, 40px, 73px);
1181
- }
1182
- }
1183
-
1184
- #{$self}--content {
1185
- display: flex;
1186
- flex-wrap: wrap;
1187
- height: 100%;
1188
-
1189
- .right-to-left & {
1190
- flex-direction: row-reverse;
1191
- }
1192
- }
1193
-
1194
- #{$self}--title {
1195
- color: $brand-ilo-dark-blue;
1196
- @include font-styles("headline-3");
1197
- @include textmargin("margin-bottom", 24px, "headline-3", "display", 0, 0);
1198
- width: 100%;
1199
- }
1200
-
1201
- #{$self}--intro {
1202
- color: $brand-ilo-dark-blue;
1203
- font-family: $fonts-display;
1204
- @include font-styles("base");
1205
- @include textmargin("margin-bottom", 35px, "nav-md-sm", "copy", 0, 0);
1206
- width: 100%;
1207
- }
1208
-
1209
- .ilo--link {
1210
- @include font-styles("image-credit");
1211
- align-self: flex-end;
1212
- }
1213
- }
1214
-
1215
- &--data {
1216
- @include cornercut($brand-ilo-light-blue, 40px, 73px);
1217
- background: $brand-ilo-light-blue;
1218
- border-bottom: px-to-rem(3px) solid #82afdc;
1219
- margin-top: px-to-rem(40px);
1220
- max-width: px-to-rem(600px);
1221
- padding: 0 px-to-rem(24px) px-to-rem(56px);
1222
- position: relative;
1223
-
1224
- &:hover,
1225
- &:focus,
1226
- &:focus-within {
1227
- background: $brand-ilo-light-blue;
1228
- }
1229
-
1230
- &::before {
1231
- left: 0;
1232
- top: px-to-rem(-39.7px);
1233
-
1234
- .right-to-left & {
1235
- left: auto;
1236
- right: 0;
1237
- }
1238
- }
1239
-
1240
- &::after {
1241
- right: 0;
1242
- top: px-to-rem(-39.7px);
1243
-
1244
- .right-to-left & {
1245
- left: 0;
1246
- right: auto;
1247
- transform: rotateY(180deg);
1248
- }
1249
- }
1250
-
1251
- @include breakpoint("medium") {
1252
- @include cornercut($brand-ilo-light-blue, 48px, 84px);
1253
-
1254
- &::before {
1255
- top: px-to-rem(-47.7px);
1256
- }
1257
-
1258
- &::after {
1259
- top: px-to-rem(-47.7px);
1260
- }
1261
- }
1262
-
1263
- #{$self}--image--wrapper {
1264
- display: none;
1265
- width: max(px-to-rem(205px), 50%);
1266
- }
1267
-
1268
- #{$self}--content {
1269
- #{$self}--image--wrapper {
1270
- display: block;
1271
- }
1272
- }
1273
-
1274
- &--content-label {
1275
- @include font-styles("body-xs");
1276
- @include textmargin(
1277
- "margin-bottom",
1278
- 16px,
1279
- "body-xs",
1280
- "copy",
1281
- "headline-5",
1282
- "display"
1283
- );
1284
- color: $brand-ilo-grey-accessible;
1285
- }
1286
-
1287
- &--content-copy {
1288
- @include font-styles("headline-5");
1289
- @include textmargin(
1290
- "margin-bottom",
1291
- 40px,
1292
- "headline-5",
1293
- "display",
1294
- "body-xs",
1295
- "copy"
1296
- );
1297
- color: $brand-ilo-grey-charcoal;
1298
- font-family: $fonts-display;
1299
- font-weight: 500;
1300
- }
1301
-
1302
- &--content-files {
1303
- margin-bottom: px-to-rem(40px);
1304
- }
1305
-
1306
- .ilo--link {
1307
- @include font-styles("headline-6");
1308
- }
1309
-
1310
- &--file {
1311
- margin: px-to-rem(4px) px-to-rem(8px) px-to-rem(4px) 0;
1312
-
1313
- &:last-of-type {
1314
- margin-right: 0;
1315
- }
1316
- }
1317
- }
1318
-
1319
- &--feature {
1320
- border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
1321
- display: flex;
1322
- margin-top: 0;
1323
- position: relative;
1324
-
1325
- &::before {
1326
- display: none;
1327
- }
1328
-
1329
- &#{$self}--dark {
1330
- border-bottom: px-to-rem(3px) solid $color-base-red-medium;
1331
-
1332
- .ilo--link-list {
1333
- border-top: 2px solid rgba($brand-ilo-grey-light, 0.25);
1334
-
1335
- &--link {
1336
- color: $brand-ilo-white;
1337
- @include dataurlicon("arrowright", $brand-ilo-white);
1338
- }
1339
- }
1340
-
1341
- &:hover,
1342
- &:focus,
1343
- &:focus-within {
1344
- .ilo--link-list {
1345
- &--link {
1346
- color: $brand-ilo-blue;
1347
- @include dataurlicon("arrowright", $brand-ilo-blue);
1348
- }
1349
- }
1350
- }
1351
- }
1352
-
1353
- picture::before {
1354
- @include globaltransition("opacity");
1355
- }
1356
-
1357
- &:hover,
1358
- &:focus,
1359
- &:focus-within {
1360
- background-color: $brand-ilo-white;
1361
- filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
1362
- drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
1363
- drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
1364
- drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
1365
- border-bottom: px-to-rem(3px) solid $brand-ilo-blue;
1366
-
1367
- picture::before {
1368
- opacity: 0.4;
1369
- z-index: 1;
1370
- @include globaltransition("opacity");
1371
- }
1372
-
1373
- #{$self}--image {
1374
- filter: saturate(0);
1375
- }
1376
- }
1377
-
1378
- .ilo--link-list {
1379
- border-top: px-to-rem(2px) solid $brand-ilo-grey-light;
1380
- margin-left: px-to-rem(-24px);
1381
- margin-right: px-to-rem(-24px);
1382
- margin-top: px-to-rem(34px);
1383
- position: relative;
1384
- z-index: 2;
1385
-
1386
- &--link,
1387
- &--link:hover {
1388
- border-bottom: none;
1389
- padding-left: px-to-rem(24px);
1390
- padding-right: px-to-rem(24px);
1391
- }
1392
- }
1393
-
1394
- &#{$self}--narrow,
1395
- &#{$self}--standard {
1396
- #{$self}--wrap {
1397
- display: flex;
1398
- flex-wrap: wrap;
1399
- width: 100%;
1400
- }
1401
-
1402
- #{$self}--content {
1403
- width: 100%;
1404
- }
1405
-
1406
- #{$self}--image--wrapper {
1407
- width: 100%;
1408
- }
1409
- }
1410
-
1411
- &#{$self}--wide {
1412
- @include breakpoint("medium") {
1413
- #{$self}--wrap {
1414
- flex-direction: row;
1415
-
1416
- .right-to-left & {
1417
- flex-direction: row-reverse;
1418
- }
1419
- }
1420
-
1421
- #{$self}--content {
1422
- display: flex;
1423
- flex-direction: row;
1424
- flex-wrap: wrap;
1425
- position: relative;
1426
- width: 50%;
1427
- }
1428
-
1429
- #{$self}--image--wrapper {
1430
- width: 50%;
1431
- }
1432
-
1433
- #{$self}--image {
1434
- object-fit: cover;
1435
- }
1436
-
1437
- #{$self}--date {
1438
- align-self: flex-end;
1439
- width: 100%;
1440
- }
1441
-
1442
- #{$self}--eyebrow {
1443
- width: 100%;
1444
- }
1445
-
1446
- #{$self}--title {
1447
- width: 100%;
1448
- }
1449
-
1450
- .ilo--link-list {
1451
- width: calc(100% + 48px);
1452
- }
1453
- }
1454
- }
1455
-
1456
- #{$self}--wrap {
1457
- display: flex;
1458
- flex-direction: column;
1459
- width: 100%;
1460
- }
1461
-
1462
- picture {
1463
- display: flex;
1464
- height: 100%;
1465
- position: relative;
1466
-
1467
- &::before {
1468
- background-color: $brand-ilo-blue;
1469
- content: "";
1470
- display: block;
1471
- height: 100%;
1472
- left: 0;
1473
- opacity: 0;
1474
- position: absolute;
1475
- top: 0;
1476
- transition: opacity 150ms ease-in-out;
1477
- width: 100%;
1478
- z-index: -1;
1479
- }
1480
- }
1481
-
1482
- #{$self}--content {
1483
- display: flex;
1484
- flex: 1 1 auto;
1485
- flex-direction: column;
1486
- padding: px-to-rem(24px) px-to-rem(24px) px-to-rem(40px);
1487
- }
1488
-
1489
- &#{$self}--linklist {
1490
- #{$self}--content {
1491
- padding-bottom: 0;
1492
- }
1493
- }
1494
-
1495
- #{$self}--title {
1496
- @include font-styles("headline-5");
1497
- @include textmargin(
1498
- "margin-bottom",
1499
- 40px,
1500
- "headline-5",
1501
- "display",
1502
- "body-eyebrow",
1503
- "copy"
1504
- );
1505
- font-family: $fonts-display;
1506
- font-weight: 700;
1507
- }
1508
-
1509
- #{$self}--eyebrow {
1510
- @include font-styles("body-eyebrow");
1511
- @include textmargin(
1512
- "margin-bottom",
1513
- 10px,
1514
- "body-eyebrow",
1515
- "copy",
1516
- "headline-5",
1517
- "display"
1518
- );
1519
- }
1520
-
1521
- #{$self}--date {
1522
- margin-bottom: 0;
1523
- margin-top: auto;
1524
- }
1525
- }
1526
229
  }