@ilo-org/styles 0.6.0 → 0.7.0

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