@ilo-org/styles 0.1.0 → 0.1.2

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.
@@ -6,13 +6,17 @@
6
6
  $self: &;
7
7
  margin: 0;
8
8
 
9
+ .right-to-left & {
10
+ text-align: right;
11
+ }
12
+
9
13
  &--action:hover,
10
14
  &--action:focus {
11
15
  background: $brand-ilo-white;
12
16
  color: $brand-ilo-blue;
13
17
  text-decoration: none;
14
18
 
15
- #{$self}--dark {
19
+ #{$self}--dark:not(#{$self}--detail):not(#{$self}--data):not(#{$self}--multilink) {
16
20
  background: $brand-ilo-white;
17
21
  }
18
22
 
@@ -47,13 +51,17 @@
47
51
  top: 0;
48
52
  width: 100%;
49
53
  z-index: 2;
54
+
55
+ &--text {
56
+ @include isVisuallyHidden();
57
+ }
50
58
  }
51
59
 
52
60
  &--light {
53
61
  background: $brand-ilo-white;
54
62
  }
55
63
 
56
- &--dark {
64
+ &--dark:not(#{$self}--detail):not(#{$self}--data):not(#{$self}--multilink) {
57
65
  background: $brand-ilo-dark-blue;
58
66
 
59
67
  #{$self}--eyebrow {
@@ -77,17 +85,17 @@
77
85
  }
78
86
  }
79
87
 
80
- &--cornercut {
81
- margin-top: 40px;
82
- padding-top: 0 !important;
88
+ &--cornercut:not(#{$self}--multilink):not(#{$self}--detail):not(#{$self}--feature) {
89
+ margin-top: px-to-rem(40px);
90
+ padding-top: 0;
83
91
  position: relative;
84
92
 
85
93
  @include breakpoint("medium") {
86
- margin-top: 48px;
94
+ margin-top: px-to-rem(48px);
87
95
  }
88
96
 
89
97
  @include breakpoint("large") {
90
- margin-top: 64px;
98
+ margin-top: px-to-rem(64px);
91
99
  }
92
100
 
93
101
  &::before {
@@ -95,20 +103,24 @@
95
103
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
96
104
  content: "";
97
105
  display: block;
98
- height: 40px;
106
+ height: px-to-rem(40px);
99
107
  left: 0;
100
108
  position: absolute;
101
- top: -39.7px;
109
+ top: px-to-rem(-39.7px);
102
110
  width: 100%;
103
111
 
112
+ .right-to-left & {
113
+ clip-path: polygon(100% 0, 100% 100%, 100% 100%, 0% 100%, 10% 0%);
114
+ }
115
+
104
116
  @include breakpoint("medium") {
105
- height: 48px;
106
- top: -47.7px;
117
+ height: px-to-rem(48px);
118
+ top: px-to-rem(-47.7px);
107
119
  }
108
120
 
109
121
  @include breakpoint("large") {
110
- height: 64px;
111
- top: -63.7px;
122
+ height: px-to-rem(64px);
123
+ top: px-to-rem(-63.7px);
112
124
  }
113
125
  }
114
126
  }
@@ -190,23 +202,133 @@
190
202
 
191
203
  // CARD VARIANTS
192
204
  &--multilink {
193
- padding: 24px;
205
+ padding: px-to-rem(24px);
206
+
207
+ #{$self}--image--wrapper {
208
+ display: none;
209
+ }
210
+
211
+ #{$self}--content {
212
+ #{$self}--image--wrapper {
213
+ display: block;
214
+ }
215
+ }
194
216
 
195
217
  @include breakpoint("medium") {
196
- padding: 40px;
218
+ padding: px-to-rem(40px);
197
219
  }
198
220
 
199
221
  @include breakpoint("large") {
200
- padding: 56px 48px;
222
+ padding: px-to-rem(56px) px-to-rem(48px);
223
+ }
224
+
225
+ #{$self}--title {
226
+ color: $brand-ilo-grey-charcoal;
227
+ @include textmargin("margin-bottom", 24px, "headline-5", "display", 0, 0);
228
+ }
229
+
230
+ #{$self}--intro {
231
+ color: $brand-ilo-grey-charcoal;
232
+ }
233
+
234
+ &#{$self}--dark {
235
+ background: $brand-ilo-white;
236
+
237
+ #{$self}--title {
238
+ color: $brand-ilo-grey-charcoal;
239
+ }
240
+
241
+ #{$self}--intro {
242
+ color: $brand-ilo-grey-charcoal;
243
+ }
244
+ }
245
+
246
+ &#{$self}--wide {
247
+ padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
248
+
249
+ @include breakpoint("medium") {
250
+ padding: px-to-rem(56px) px-to-rem(48px);
251
+
252
+ &#{$self}--right {
253
+ #{$self}--wrap {
254
+ flex-direction: row-reverse;
255
+
256
+ .right-to-left & {
257
+ flex-direction: row;
258
+ }
259
+ }
260
+ }
261
+
262
+ #{$self}--wrap {
263
+ display: flex;
264
+ column-gap: px-to-rem(32px);
265
+
266
+ .right-to-left & {
267
+ flex-direction: row-reverse;
268
+ }
269
+ }
270
+
271
+ #{$self}--image--wrapper {
272
+ display: block;
273
+ width: 50%;
274
+ }
275
+
276
+ #{$self}--content {
277
+ width: 50%;
278
+
279
+ #{$self}--image--wrapper {
280
+ display: none;
281
+ }
282
+ }
283
+ }
284
+ }
285
+
286
+ &#{$self}--standard {
287
+ padding: px-to-rem(48px) px-to-rem(40px);
288
+
289
+ @include breakpoint("medium") {
290
+ padding: px-to-rem(48px) px-to-rem(40px);
291
+ }
292
+
293
+ @include breakpoint("large") {
294
+ padding: px-to-rem(48px) px-to-rem(40px);
295
+ }
296
+ }
297
+
298
+ &#{$self}--narrow {
299
+ padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
300
+
301
+ #{$self}--image--wrapper {
302
+ display: none;
303
+ }
304
+
305
+ #{$self}--content {
306
+ #{$self}--image--wrapper {
307
+ display: block;
308
+ margin-bottom: px-to-rem(24px);
309
+ }
310
+ }
311
+
312
+ @include breakpoint("medium") {
313
+ padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
314
+ }
315
+
316
+ @include breakpoint("large") {
317
+ padding: px-to-rem(40px) px-to-rem(24px) px-to-rem(48px);
318
+ }
319
+ }
320
+
321
+ .ilo--link-list {
322
+ margin-top: px-to-rem(35px);
201
323
  }
202
324
  }
203
325
 
204
326
  &--detail {
205
- border-bottom: 3px solid $brand-ilo-grey-accessible;
206
- margin: 32px 0;
327
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-light;
328
+ padding: px-to-rem(24px) 0;
207
329
 
208
- &::before {
209
- display: none;
330
+ @include breakpoint("large") {
331
+ padding: px-to-rem(32px) 0;
210
332
  }
211
333
 
212
334
  &:hover,
@@ -244,32 +366,32 @@
244
366
 
245
367
  #{$self}--wrap {
246
368
  display: flex;
369
+
370
+ .right-to-left & {
371
+ flex-direction: row-reverse;
372
+ }
247
373
  }
248
374
 
249
375
  #{$self}--image {
250
376
  object-fit: contain;
251
- width: 77px;
377
+ width: px-to-rem(77px);
252
378
 
253
379
  @include breakpoint("large") {
254
- width: 200px;
380
+ width: px-to-rem(200px);
255
381
  }
256
382
 
257
383
  &--wrapper {
258
- max-width: 77px;
384
+ max-width: px-to-rem(77px);
259
385
  width: 100%;
260
386
 
261
387
  @include breakpoint("large") {
262
- max-width: 200px;
388
+ max-width: px-to-rem(200px);
263
389
  }
264
390
  }
265
391
  }
266
392
 
267
393
  #{$self}--content {
268
- padding: 16px 24px 40px;
269
-
270
- @include breakpoint("large") {
271
- padding: 24px 24px 64px;
272
- }
394
+ padding: 0 px-to-rem(24px);
273
395
  }
274
396
 
275
397
  #{$self}--title {
@@ -283,7 +405,7 @@
283
405
  #{$self}--event-date {
284
406
  @include font-styles("body-small");
285
407
  margin-bottom: 0;
286
- padding-left: 24px;
408
+ padding-left: px-to-rem(24px);
287
409
  position: relative;
288
410
 
289
411
  &::before {
@@ -303,17 +425,12 @@
303
425
  #{$self}--date {
304
426
  @include font-styles("body-small");
305
427
  }
306
-
307
- // #{}
308
- // title shrinks on mobile
309
- // color border on cards
310
- // padding around cards
311
428
  }
312
429
 
313
430
  &--graphic {
314
- border-bottom: 3px solid $brand-ilo-grey-ui;
315
- margin-top: 40px;
316
- padding: 0 24px 40px;
431
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
432
+ margin-top: px-to-rem(40px);
433
+ padding: 0 px-to-rem(24px) px-to-rem(40px);
317
434
  position: relative;
318
435
 
319
436
  &::before {
@@ -329,11 +446,47 @@
329
446
  }
330
447
 
331
448
  @include breakpoint("medium") {
332
- padding: 0 32px 40px;
449
+ padding: 0 px-to-rem(32px) px-to-rem(40px);
450
+ }
451
+
452
+ &#{$self}--wide {
453
+ padding: 0 px-to-rem(32px) px-to-rem(40px);
454
+
455
+ @include breakpoint("medium") {
456
+ padding: 0 px-to-rem(32px) px-to-rem(40px);
457
+ }
458
+ }
459
+
460
+ &#{$self}--standard {
461
+ padding: 0 px-to-rem(32px) px-to-rem(40px);
462
+
463
+ @include breakpoint("medium") {
464
+ padding: 0 px-to-rem(32px) px-to-rem(40px);
465
+ }
466
+ }
467
+
468
+ &#{$self}--narrow {
469
+ padding: 0 px-to-rem(24px) px-to-rem(40px);
470
+
471
+ @include breakpoint("medium") {
472
+ padding: 0 px-to-rem(24px) px-to-rem(40px);
473
+ }
474
+
475
+ #{$self}--title {
476
+ @include font-styles("headline-6");
477
+ @include textmargin(
478
+ "margin-bottom",
479
+ 40px,
480
+ "headline-6",
481
+ "display",
482
+ "base",
483
+ "copy"
484
+ );
485
+ }
333
486
  }
334
487
 
335
488
  &#{$self}--dark {
336
- border-bottom: 3px solid $brand-ilo-purple;
489
+ border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
337
490
  }
338
491
 
339
492
  #{$self}--eyebrow {
@@ -377,16 +530,69 @@
377
530
  }
378
531
 
379
532
  &--graphicpromo {
380
- max-width: 920px;
381
- padding: 40px 24px;
533
+ max-width: px-to-rem(920px);
534
+ padding: px-to-rem(40px) px-to-rem(24px);
382
535
  width: 100%;
383
536
 
384
537
  @include breakpoint("medium") {
385
- padding: 48px;
538
+ padding: px-to-rem(48px);
386
539
  }
387
540
 
388
541
  @include breakpoint("large") {
389
- padding: 64px 72px;
542
+ padding: px-to-rem(64px) px-to-rem(72px);
543
+ }
544
+
545
+ &#{$self}--wide {
546
+ padding: px-to-rem(64px) px-to-rem(72px);
547
+
548
+ @include breakpoint("medium") {
549
+ padding: px-to-rem(64px) px-to-rem(72px);
550
+ }
551
+
552
+ @include breakpoint("large") {
553
+ padding: px-to-rem(64px) px-to-rem(72px);
554
+ }
555
+ }
556
+
557
+ &#{$self}--standard {
558
+ padding: px-to-rem(48px);
559
+
560
+ @include breakpoint("medium") {
561
+ padding: px-to-rem(48px);
562
+ }
563
+
564
+ @include breakpoint("large") {
565
+ padding: px-to-rem(48px);
566
+ }
567
+ }
568
+
569
+ &#{$self}--narrow {
570
+ padding: px-to-rem(40px) px-to-rem(24px);
571
+
572
+ @include breakpoint("medium") {
573
+ padding: px-to-rem(40px) px-to-rem(24px);
574
+ }
575
+
576
+ @include breakpoint("large") {
577
+ padding: px-to-rem(40px) px-to-rem(24px);
578
+ }
579
+
580
+ #{$self}--title {
581
+ @include font-styles("headline-4");
582
+ @include textmargin(
583
+ "margin-bottom",
584
+ 24px,
585
+ "headline-4",
586
+ "display",
587
+ "body-small",
588
+ "copy"
589
+ );
590
+ }
591
+
592
+ #{$self}--intro {
593
+ @include font-styles("body-small");
594
+ @include textmargin("margin-bottom", 40px, "body-small", "copy", 0, 0);
595
+ }
390
596
  }
391
597
 
392
598
  &#{$self}--light:not(:hover) #{$self}--title {
@@ -429,22 +635,59 @@
429
635
  }
430
636
 
431
637
  &--factlist {
432
- padding: 0 24px 48px 24px;
433
- max-width: 856px;
638
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
639
+ max-width: px-to-rem(856px);
640
+ padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
434
641
 
435
642
  &::before {
436
643
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
437
- height: 40px;
438
- top: -39.7px;
644
+ height: px-to-rem(40px);
645
+ top: px-to-rem(-39.7px);
439
646
  }
440
647
 
441
648
  @include breakpoint("large") {
442
- padding: 0 40px 56px 40px;
649
+ padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
443
650
 
444
651
  &::before {
445
652
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
446
- height: 48px;
447
- top: -47.7px;
653
+ height: px-to-rem(48px);
654
+ top: px-to-rem(-47.7px);
655
+ }
656
+ }
657
+
658
+ &#{$self}--wide {
659
+ padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
660
+
661
+ @include breakpoint("medium") {
662
+ padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
663
+ }
664
+ }
665
+
666
+ &#{$self}--standard {
667
+ padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
668
+
669
+ @include breakpoint("medium") {
670
+ padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
671
+ }
672
+ }
673
+
674
+ &#{$self}--narrow {
675
+ padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
676
+
677
+ @include breakpoint("medium") {
678
+ padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
679
+ }
680
+ }
681
+
682
+ &#{$self}--dark {
683
+ border-bottom: px-to-rem(3px) solid $brand-ilo-red;
684
+
685
+ #{$self}--title {
686
+ color: $brand-ilo-white;
687
+ }
688
+
689
+ .ilo--list__item {
690
+ color: $brand-ilo-white;
448
691
  }
449
692
  }
450
693
 
@@ -475,14 +718,14 @@
475
718
  }
476
719
 
477
720
  &--stat {
478
- border-bottom: 3px solid $brand-ilo-purple;
479
- padding: 0 24px 24px 30px;
721
+ border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
722
+ padding: 0 px-to-rem(24px) px-to-rem(24px) px-to-rem(30px);
480
723
  width: 100%;
481
724
 
482
725
  &::before {
483
726
  clip-path: polygon(75% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
484
- height: 40px;
485
- top: -39.7px;
727
+ height: px-to-rem(40px);
728
+ top: px-to-rem(-39.7px);
486
729
  }
487
730
 
488
731
  &#{$self}--blue {
@@ -505,6 +748,10 @@
505
748
  display: flex;
506
749
  flex-wrap: wrap;
507
750
  height: 100%;
751
+
752
+ .right-to-left & {
753
+ flex-direction: row-reverse;
754
+ }
508
755
  }
509
756
 
510
757
  #{$self}--title {
@@ -529,26 +776,26 @@
529
776
 
530
777
  &--data {
531
778
  background: $brand-ilo-light-blue;
532
- border-bottom: 3px solid #82afdc;
533
- max-width: 600px;
534
- padding: 0 24px 56px;
779
+ border-bottom: px-to-rem(3px) solid #82afdc;
780
+ max-width: px-to-rem(600px);
781
+ padding: 0 px-to-rem(24px) px-to-rem(56px);
535
782
 
536
783
  &::before {
537
784
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
538
- height: 40px;
539
- top: -39.7px;
785
+ height: px-to-rem(40px);
786
+ top: px-to-rem(-39.7px);
540
787
  }
541
788
 
542
789
  @include breakpoint("large") {
543
790
  &::before {
544
791
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
545
- height: 48px;
546
- top: -47.7px;
792
+ height: px-to-rem(48px);
793
+ top: px-to-rem(-47.7px);
547
794
  }
548
795
  }
549
796
 
550
797
  #{$self}--image--wrapper {
551
- width: max(205px, 50%);
798
+ width: max(px-to-rem(205px), 50%);
552
799
  }
553
800
 
554
801
  &--content-label {
@@ -580,7 +827,7 @@
580
827
  }
581
828
 
582
829
  &--content-files {
583
- margin-bottom: 40px;
830
+ margin-bottom: px-to-rem(40px);
584
831
  }
585
832
 
586
833
  .ilo--link {
@@ -588,7 +835,7 @@
588
835
  }
589
836
 
590
837
  &--file {
591
- margin: 4px 8px 4px 0;
838
+ margin: px-to-rem(4px) px-to-rem(8px) px-to-rem(4px) 0;
592
839
 
593
840
  &:last-of-type {
594
841
  margin-right: 0;
@@ -597,12 +844,19 @@
597
844
  }
598
845
 
599
846
  &--feature {
847
+ border-bottom: px-to-rem(3px) solid $brand-ilo-grey-accessible;
848
+ display: flex;
600
849
  margin-top: 0;
850
+ position: relative;
601
851
 
602
852
  &::before {
603
853
  display: none;
604
854
  }
605
855
 
856
+ &#{$self}--dark {
857
+ border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
858
+ }
859
+
606
860
  &:hover,
607
861
  &:focus {
608
862
  picture::before {
@@ -611,8 +865,69 @@
611
865
  }
612
866
  }
613
867
 
868
+ &#{$self}--narrow,
869
+ &#{$self}--standard {
870
+ #{$self}--wrap {
871
+ display: flex;
872
+ flex-wrap: wrap;
873
+ width: 100%;
874
+ }
875
+
876
+ #{$self}--content {
877
+ width: 100%;
878
+ }
879
+
880
+ #{$self}--image--wrapper {
881
+ width: 100%;
882
+ }
883
+ }
884
+
885
+ &#{$self}--wide {
886
+ @include breakpoint("medium") {
887
+ #{$self}--wrap {
888
+ display: flex;
889
+ width: 100%;
890
+
891
+ .right-to-left & {
892
+ flex-direction: row-reverse;
893
+ }
894
+ }
895
+
896
+ #{$self}--content {
897
+ display: flex;
898
+ flex-wrap: wrap;
899
+ width: 50%;
900
+
901
+ .right-to-left & {
902
+ flex-direction: row-reverse;
903
+ }
904
+ }
905
+
906
+ #{$self}--image--wrapper {
907
+ width: 50%;
908
+ }
909
+
910
+ #{$self}--image {
911
+ object-fit: cover;
912
+ }
913
+
914
+ #{$self}--date {
915
+ align-self: flex-end;
916
+ }
917
+
918
+ #{$self}--eyebrow {
919
+ width: 100%;
920
+ }
921
+
922
+ #{$self}--title {
923
+ width: 100%;
924
+ }
925
+ }
926
+ }
927
+
614
928
  picture {
615
929
  display: flex;
930
+ height: 100%;
616
931
  position: relative;
617
932
 
618
933
  &::before {
@@ -624,14 +939,14 @@
624
939
  opacity: 0;
625
940
  position: absolute;
626
941
  top: 0;
627
- transition: opacity 0.15s ease-in-out;
942
+ transition: opacity 150ms ease-in-out;
628
943
  width: 100%;
629
944
  z-index: -1;
630
945
  }
631
946
  }
632
947
 
633
948
  #{$self}--content {
634
- padding: 24px 24px 40px;
949
+ padding: px-to-rem(24px) px-to-rem(24px) px-to-rem(40px);
635
950
  }
636
951
 
637
952
  #{$self}--title {
@@ -10,6 +10,11 @@
10
10
  flex-wrap: wrap;
11
11
  justify-content: space-between;
12
12
  margin: auto;
13
+ row-gap: px-to-rem(32px);
14
+
15
+ .right-to-left & {
16
+ flex-direction: row-reverse;
17
+ }
13
18
 
14
19
  #{$card} {
15
20
  width: 100%;
@@ -39,4 +44,11 @@
39
44
  }
40
45
  }
41
46
  }
47
+
48
+ &--button-wrap {
49
+ display: flex;
50
+ justify-content: center;
51
+ margin-top: px-to-rem(64px);
52
+ width: 100%;
53
+ }
42
54
  }