@ilo-org/styles 0.1.7 → 0.1.9

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,5 +1,6 @@
1
1
  @use "../tokens" as *;
2
2
  @use "../functions" as *;
3
+ @use "../animations" as *;
3
4
  @import "../mixins";
4
5
 
5
6
  .ilo--card {
@@ -52,6 +53,14 @@
52
53
  top: 0;
53
54
  width: 100%;
54
55
  z-index: 2;
56
+ @include globaltransition("color, background-color, border-color, opacity");
57
+
58
+ &:hover,
59
+ &:focus {
60
+ @include globaltransition(
61
+ "color, background-color, border-color, opacity"
62
+ );
63
+ }
55
64
 
56
65
  &--text {
57
66
  @include isVisuallyHidden();
@@ -104,10 +113,10 @@
104
113
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
105
114
  content: "";
106
115
  display: block;
107
- height: px-to-rem(40px);
116
+ height: px-to-rem(30px);
108
117
  left: 0;
109
118
  position: absolute;
110
- top: px-to-rem(-39.7px);
119
+ top: px-to-rem(-29.7px);
111
120
  width: 100%;
112
121
 
113
122
  .right-to-left & {
@@ -115,13 +124,13 @@
115
124
  }
116
125
 
117
126
  @include breakpoint("medium") {
118
- height: px-to-rem(48px);
119
- top: px-to-rem(-47.7px);
127
+ height: px-to-rem(38px);
128
+ top: px-to-rem(-37.7px);
120
129
  }
121
130
 
122
131
  @include breakpoint("large") {
123
- height: px-to-rem(64px);
124
- top: px-to-rem(-63.7px);
132
+ height: px-to-rem(58px);
133
+ top: px-to-rem(-57.7px);
125
134
  }
126
135
  }
127
136
  }
@@ -137,10 +146,12 @@
137
146
  "body-small",
138
147
  "copy"
139
148
  );
149
+ @include globaltransition("color");
140
150
 
141
151
  #{$self}--link:hover &,
142
152
  #{$self}--link:focus & {
143
153
  color: $brand-ilo-blue;
154
+ @include globaltransition("color");
144
155
  }
145
156
  }
146
157
 
@@ -157,10 +168,12 @@
157
168
  "body-small",
158
169
  "copy"
159
170
  );
171
+ @include globaltransition("color");
160
172
 
161
173
  #{$self}--link:hover &,
162
174
  #{$self}--link:focus & {
163
175
  color: $brand-ilo-blue;
176
+ @include globaltransition("color");
164
177
  }
165
178
  }
166
179
 
@@ -168,10 +181,12 @@
168
181
  color: $brand-ilo-grey-charcoal;
169
182
  @include font-styles("body-small");
170
183
  @include textmargin("margin-bottom", 30px, "body-small", "copy", 0, 0);
184
+ @include globaltransition("color");
171
185
 
172
186
  #{$self}--link:hover &,
173
187
  #{$self}--link:focus & {
174
188
  color: $brand-ilo-blue;
189
+ @include globaltransition("color");
175
190
  }
176
191
  }
177
192
 
@@ -179,10 +194,12 @@
179
194
  color: $brand-ilo-grey-accessible;
180
195
  @include font-styles("body-small");
181
196
  @include textmargin("margin-bottom", 30px, "body-small", "copy", 0, 0);
197
+ @include globaltransition("color");
182
198
 
183
199
  #{$self}--link:hover &,
184
200
  #{$self}--link:focus & {
185
201
  color: $brand-ilo-blue;
202
+ @include globaltransition("color");
186
203
  }
187
204
  }
188
205
 
@@ -201,6 +218,28 @@
201
218
  z-index: 2;
202
219
  }
203
220
 
221
+ &--isvideo {
222
+ #{$self}--image--wrapper {
223
+ position: relative;
224
+
225
+ &::before {
226
+ @include dataurlicon("play", $brand-ilo-grey-light);
227
+ background-color: $brand-ilo-grey-charcoal;
228
+ background-position: center;
229
+ background-size: 18px 20px;
230
+ background-repeat: no-repeat;
231
+ content: "";
232
+ display: block;
233
+ height: 40px;
234
+ left: 0;
235
+ position: absolute;
236
+ top: 0;
237
+ width: 40px;
238
+ z-index: 1;
239
+ }
240
+ }
241
+ }
242
+
204
243
  // CARD VARIANTS
205
244
  &--multilink {
206
245
  padding: px-to-rem(24px);
@@ -383,6 +422,11 @@
383
422
 
384
423
  &:hover,
385
424
  &:focus {
425
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
426
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
427
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
428
+ drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
429
+
386
430
  picture::before {
387
431
  opacity: 0.4;
388
432
  z-index: 2;
@@ -408,9 +452,9 @@
408
452
  opacity: 0;
409
453
  position: absolute;
410
454
  top: 0;
411
- transition: opacity 0.15s ease-in-out;
412
455
  width: 100%;
413
456
  z-index: -1;
457
+ @include globaltransition("opacity");
414
458
  }
415
459
  }
416
460
 
@@ -495,6 +539,22 @@
495
539
  width: 100%;
496
540
  }
497
541
 
542
+ .ilo--profile--contents * {
543
+ color: $color-base-neutrals-white;
544
+ }
545
+
546
+ &:hover,
547
+ &:focus {
548
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
549
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
550
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
551
+ drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
552
+
553
+ .ilo--profile--contents * {
554
+ color: $color-base-blue-medium;
555
+ }
556
+ }
557
+
498
558
  @include breakpoint("medium") {
499
559
  padding: 0 px-to-rem(32px) px-to-rem(40px);
500
560
  }
@@ -536,7 +596,7 @@
536
596
  }
537
597
 
538
598
  &#{$self}--dark {
539
- border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
599
+ border-bottom: px-to-rem(3px) solid $color-base-red-medium;
540
600
  }
541
601
 
542
602
  #{$self}--eyebrow {
@@ -575,6 +635,7 @@
575
635
  }
576
636
 
577
637
  #{$self}--date {
638
+ display: block;
578
639
  @include textmargin("margin-bottom", 32px, "base", "copy", 0, 0);
579
640
  }
580
641
  }
@@ -584,12 +645,35 @@
584
645
  padding: px-to-rem(40px) px-to-rem(24px);
585
646
  width: 100%;
586
647
 
648
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
649
+ height: px-to-rem(40px);
650
+ top: px-to-rem(-39.7px);
651
+ }
652
+
653
+ &:hover,
654
+ &:focus {
655
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
656
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
657
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
658
+ drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
659
+ }
660
+
587
661
  @include breakpoint("medium") {
588
662
  padding: px-to-rem(48px);
663
+
664
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
665
+ height: px-to-rem(64px);
666
+ top: px-to-rem(-63.7px);
667
+ }
589
668
  }
590
669
 
591
670
  @include breakpoint("large") {
592
671
  padding: px-to-rem(64px) px-to-rem(72px);
672
+
673
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
674
+ height: px-to-rem(64px);
675
+ top: px-to-rem(-63.7px);
676
+ }
593
677
  }
594
678
 
595
679
  &#{$self}--wide {
@@ -608,11 +692,11 @@
608
692
  padding: px-to-rem(48px);
609
693
 
610
694
  @include breakpoint("medium") {
611
- padding: px-to-rem(48px);
695
+ padding: px-to-rem(48px) px-to-rem(48px) px-to-rem(64px) px-to-rem(48px);
612
696
  }
613
697
 
614
698
  @include breakpoint("large") {
615
- padding: px-to-rem(48px);
699
+ padding: px-to-rem(48px) px-to-rem(48px) px-to-rem(64px) px-to-rem(48px);
616
700
  }
617
701
  }
618
702
 
@@ -659,6 +743,7 @@
659
743
 
660
744
  &#{$self}--light:not(:hover) #{$self}--title {
661
745
  color: $brand-ilo-grey-charcoal;
746
+ @include globaltransition("color");
662
747
  }
663
748
 
664
749
  #{$self}--title {
@@ -700,8 +785,9 @@
700
785
  border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
701
786
  max-width: px-to-rem(856px);
702
787
  padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
788
+ pointer-events: none;
703
789
 
704
- &::before {
790
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
705
791
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
706
792
  height: px-to-rem(40px);
707
793
  top: px-to-rem(-39.7px);
@@ -714,26 +800,26 @@
714
800
  @include breakpoint("large") {
715
801
  padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
716
802
 
717
- &::before {
803
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
718
804
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
719
- height: px-to-rem(48px);
720
- top: px-to-rem(-47.7px);
805
+ height: px-to-rem(41px);
806
+ top: px-to-rem(-40.7px);
721
807
  }
722
808
  }
723
809
 
724
810
  &#{$self}--wide {
725
- padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
811
+ padding: 0 px-to-rem(40px) px-to-rem(52px) px-to-rem(40px);
726
812
 
727
813
  @include breakpoint("medium") {
728
- padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
814
+ padding: 0 px-to-rem(40px) px-to-rem(60px) px-to-rem(40px);
729
815
  }
730
816
  }
731
817
 
732
818
  &#{$self}--standard {
733
- padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
819
+ padding: 0 px-to-rem(40px) px-to-rem(52px) px-to-rem(40px);
734
820
 
735
821
  @include breakpoint("medium") {
736
- padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
822
+ padding: 0 px-to-rem(40px) px-to-rem(60px) px-to-rem(40px);
737
823
  }
738
824
  }
739
825
 
@@ -746,14 +832,31 @@
746
832
  }
747
833
 
748
834
  &#{$self}--dark {
749
- border-bottom: px-to-rem(3px) solid $brand-ilo-red;
835
+ border-bottom: px-to-rem(3px) solid $color-base-red-medium;
750
836
 
751
837
  #{$self}--title {
752
838
  color: $brand-ilo-white;
839
+ @include globaltransition("color");
753
840
  }
754
841
 
755
842
  .ilo--list__item {
756
843
  color: $brand-ilo-white;
844
+
845
+ &:last-of-type {
846
+ margin-bottom: 0;
847
+ }
848
+ }
849
+
850
+ &:hover,
851
+ &:focus {
852
+ #{$self}--title {
853
+ color: $brand-ilo-white;
854
+ @include globaltransition("color");
855
+ }
856
+
857
+ .ilo--list__item {
858
+ color: $brand-ilo-white;
859
+ }
757
860
  }
758
861
  }
759
862
 
@@ -785,10 +888,10 @@
785
888
 
786
889
  &--stat {
787
890
  border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
788
- padding: 0 px-to-rem(24px) px-to-rem(24px) px-to-rem(30px);
891
+ padding: 0 px-to-rem(24px) px-to-rem(40px) px-to-rem(22px);
789
892
  width: 100%;
790
893
 
791
- &::before {
894
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
792
895
  clip-path: polygon(75% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
793
896
  height: px-to-rem(40px);
794
897
  top: px-to-rem(-39.7px);
@@ -830,7 +933,7 @@
830
933
  #{$self}--intro {
831
934
  color: $brand-ilo-dark-blue;
832
935
  @include font-styles("nav-md-sm");
833
- @include textmargin("margin-bottom", 40px, "nav-md-sm", "copy", 0, 0);
936
+ @include textmargin("margin-bottom", 35px, "nav-md-sm", "copy", 0, 0);
834
937
  width: 100%;
835
938
  }
836
939
 
@@ -838,6 +941,13 @@
838
941
  @include font-styles("image-credit");
839
942
  align-self: flex-end;
840
943
  }
944
+
945
+ @include breakpoint("large") {
946
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
947
+ height: px-to-rem(48px);
948
+ top: px-to-rem(-47.7px);
949
+ }
950
+ }
841
951
  }
842
952
 
843
953
  &--data {
@@ -846,6 +956,11 @@
846
956
  max-width: px-to-rem(600px);
847
957
  padding: 0 px-to-rem(24px) px-to-rem(56px);
848
958
 
959
+ &:hover,
960
+ &:focus {
961
+ background: $brand-ilo-light-blue;
962
+ }
963
+
849
964
  &::before {
850
965
  clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
851
966
  height: px-to-rem(40px);
@@ -918,7 +1033,6 @@
918
1033
 
919
1034
  &--feature {
920
1035
  border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
921
- filter: drop-shadow(0 4px 4px rgba($brand-ilo-black, 0.25));
922
1036
  display: flex;
923
1037
  margin-top: 0;
924
1038
  position: relative;
@@ -928,17 +1042,45 @@
928
1042
  }
929
1043
 
930
1044
  &#{$self}--dark {
931
- border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
1045
+ border-bottom: px-to-rem(3px) solid $color-base-red-medium;
1046
+
1047
+ .ilo--link-list {
1048
+ border-top: 2px solid rgba($brand-ilo-grey-light, 0.25);
1049
+
1050
+ &--link {
1051
+ color: $brand-ilo-white;
1052
+ @include dataurlicon("arrowright", $brand-ilo-white);
1053
+ }
1054
+ }
1055
+
1056
+ &:hover,
1057
+ &:focus {
1058
+ .ilo--link-list {
1059
+ &--link {
1060
+ color: $brand-ilo-blue;
1061
+ @include dataurlicon("arrowright", $brand-ilo-blue);
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+
1067
+ picture::before {
1068
+ @include globaltransition("opacity");
932
1069
  }
933
1070
 
934
1071
  &:hover,
935
1072
  &:focus {
936
1073
  background-color: $brand-ilo-white;
1074
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
1075
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
1076
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08))
1077
+ drop-shadow(0px -4px 16px rgba(30, 45, 190, 0.054));
937
1078
  border-bottom: px-to-rem(3px) solid $brand-ilo-blue;
938
1079
 
939
1080
  picture::before {
940
1081
  opacity: 0.4;
941
1082
  z-index: 1;
1083
+ @include globaltransition("opacity");
942
1084
  }
943
1085
 
944
1086
  #{$self}--image {
@@ -946,6 +1088,22 @@
946
1088
  }
947
1089
  }
948
1090
 
1091
+ .ilo--link-list {
1092
+ border-top: px-to-rem(2px) solid $brand-ilo-grey-light;
1093
+ margin-left: px-to-rem(-24px);
1094
+ margin-right: px-to-rem(-24px);
1095
+ margin-top: px-to-rem(34px);
1096
+ position: relative;
1097
+ z-index: 2;
1098
+
1099
+ &--link,
1100
+ &--link:hover {
1101
+ border-bottom: none;
1102
+ padding-left: px-to-rem(24px);
1103
+ padding-right: px-to-rem(24px);
1104
+ }
1105
+ }
1106
+
949
1107
  &#{$self}--narrow,
950
1108
  &#{$self}--standard {
951
1109
  #{$self}--wrap {
@@ -1028,6 +1186,11 @@
1028
1186
  #{$self}--content {
1029
1187
  padding: px-to-rem(24px) px-to-rem(24px) px-to-rem(40px);
1030
1188
  }
1189
+ &#{$self}--linklist {
1190
+ #{$self}--content {
1191
+ padding-bottom: 0;
1192
+ }
1193
+ }
1031
1194
 
1032
1195
  #{$self}--title {
1033
1196
  @include font-styles("headline-5");
@@ -97,10 +97,12 @@
97
97
  margin-bottom: px-to-rem(22px);
98
98
 
99
99
  .ilo--fieldset--label {
100
+ font-family: unquote("#{$fonts-copy}, sans-serif");
100
101
  font-weight: 400;
102
+ line-height: 1;
101
103
  margin-left: px-to-rem($spacing-padding-1);
102
104
  margin-bottom: 0;
103
- margin-top: 2px;
105
+ margin-top: 1px;
104
106
  order: 2;
105
107
 
106
108
  .right-to-left & {
@@ -5,6 +5,7 @@
5
5
  .ilo--hero {
6
6
  background: map-get($color, "ux", "pagination", "default", "background");
7
7
  display: block;
8
+ position: relative;
8
9
  width: 100%;
9
10
 
10
11
  &--home {
@@ -160,6 +161,18 @@
160
161
  }
161
162
  }
162
163
  }
164
+
165
+ .ilo--breadcrumb {
166
+ left: 0;
167
+ max-width: 560px;
168
+ position: absolute;
169
+ top: 0;
170
+
171
+ .right-to-left & {
172
+ left: auto;
173
+ right: 0;
174
+ }
175
+ }
163
176
  }
164
177
 
165
178
  .ilo--hero-card {
@@ -187,13 +200,17 @@
187
200
  }
188
201
 
189
202
  @include breakpoint("large") {
190
- height: 64px;
191
- top: -63.7px;
203
+ height: 56px;
204
+ top: -55.7px;
192
205
  }
193
206
  }
194
207
 
195
208
  @include breakpoint("large") {
196
209
  padding: 0 70px 70px 56px;
210
+
211
+ &.ilo--hero-card--graphic {
212
+ padding: 0 70px 44px 56px;
213
+ }
197
214
  }
198
215
 
199
216
  .right-to-left & {
@@ -206,7 +223,7 @@
206
223
 
207
224
  &--dark {
208
225
  background: map-get($color, "hero", "card", "dark", "background");
209
- border-bottom: 3px solid $brand-ilo-red;
226
+ border-bottom: 3px solid $color-base-red-medium;
210
227
  color: map-get($color, "hero", "card", "dark", "color");
211
228
 
212
229
  .ilo--hero-card--link.icon {
@@ -283,6 +300,10 @@
283
300
  border: none;
284
301
  padding: 24px;
285
302
 
303
+ &::before {
304
+ display: none;
305
+ }
306
+
286
307
  @include breakpoint("large") {
287
308
  bottom: 72px;
288
309
  max-width: 720px;
@@ -290,6 +311,24 @@
290
311
  position: absolute;
291
312
  width: 100%;
292
313
 
314
+ &::before {
315
+ background: inherit;
316
+ clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
317
+ content: "";
318
+ display: block;
319
+ height: 59px;
320
+ left: 0;
321
+ position: absolute;
322
+ top: -58.7px;
323
+ width: 100%;
324
+
325
+ .right-to-left & {
326
+ clip-path: polygon(100% 0, 100% 100%, 100% 100%, 0% 100%, 10% 0%);
327
+ left: auto;
328
+ right: 0;
329
+ }
330
+ }
331
+
293
332
  &.ilo--hero-card--center {
294
333
  left: 50%;
295
334
  right: auto;
@@ -308,10 +347,12 @@
308
347
  }
309
348
 
310
349
  &.ilo--hero-card--dark {
311
- background: rgba(
312
- map-get($color, "hero", "card", "dark", "background"),
313
- 0.55
314
- );
350
+ @include breakpoint("large") {
351
+ background: rgba(
352
+ map-get($color, "hero", "card", "dark", "background"),
353
+ 0.55
354
+ );
355
+ }
315
356
  }
316
357
  }
317
358
 
@@ -328,10 +369,10 @@
328
369
  }
329
370
 
330
371
  &--publication {
331
- margin-top: -64px;
332
372
  padding: 24px;
333
373
 
334
374
  @include breakpoint("large") {
375
+ margin-top: -64px;
335
376
  max-width: 720px;
336
377
  padding: 0 48px 48px 72px;
337
378
  width: 100%;
@@ -340,35 +381,21 @@
340
381
 
341
382
  &--datecopy {
342
383
  @include font-styles("body-small");
343
- @include textmargin("margin-bottom", 40px, "body-small", "copy", 0, 0);
384
+ margin-bottom: px-to-rem(28px);
344
385
 
345
386
  color: map-get($color, "hero", "card", "light", "datecopy", "color");
346
387
  }
347
388
 
348
389
  &--eyebrow {
349
390
  @include font-styles("body-small");
350
- @include textmargin(
351
- "margin-bottom",
352
- 32px,
353
- "body-small",
354
- "copy",
355
- "headline-2",
356
- "display"
357
- );
391
+ margin-bottom: px-to-rem(16px);
358
392
 
359
393
  color: map-get($color, "hero", "card", "light", "eyebrow", "color");
360
394
  }
361
395
 
362
396
  &--intro {
363
397
  @include font-styles("body-small");
364
- @include textmargin(
365
- "margin-bottom",
366
- 40px,
367
- "base",
368
- "copy",
369
- "body-small",
370
- "copy"
371
- );
398
+ margin-bottom: px-to-rem(28px);
372
399
 
373
400
  @include breakpoint("large") {
374
401
  @include font-styles("base");
@@ -81,6 +81,7 @@
81
81
  padding-right: px-to-rem($spacing-padding-4);
82
82
  text-decoration: none;
83
83
  @include dataurlicon("arrowright", $color-link-text-default);
84
+ @include globaltransition("color, background-color, border-color");
84
85
 
85
86
  &:visited {
86
87
  color: map-get($color, "link", "text", "default");
@@ -488,7 +488,7 @@
488
488
  width: 32px;
489
489
 
490
490
  .right-to-left & {
491
- clip-path: polygon(0 0, 0 100%, 100% 100%);
491
+ clip-path: polygon(0 0, 0 100%, 100% 0);
492
492
  left: auto;
493
493
  right: -32px;
494
494
  }