@ilo-org/styles 0.1.12 → 0.1.13

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.
@@ -13,9 +13,9 @@
13
13
  text-align: right;
14
14
  }
15
15
 
16
- &--action:hover:not(#{$self}--data),
17
- &--action:focus:not(#{$self}--data),
18
- &--action:focus-within:not(#{$self}--data) {
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) {
19
19
  background: $brand-ilo-white;
20
20
  color: $brand-ilo-blue;
21
21
  outline: none;
@@ -23,6 +23,12 @@
23
23
 
24
24
  &#{$self}--dark:not(#{$self}--detail):not(#{$self}--data):not(#{$self}--multilink):not(#{$self}--factlist) {
25
25
  background: $brand-ilo-white;
26
+
27
+ &#{$self}--cornercut {
28
+ &::after {
29
+ @include dataurlicon("triangledecoration", $brand-ilo-white);
30
+ }
31
+ }
26
32
  }
27
33
 
28
34
  #{$self}--eyebrow {
@@ -107,42 +113,110 @@
107
113
  }
108
114
  }
109
115
 
110
- &--cornercut:not(#{$self}--multilink):not(#{$self}--detail):not(#{$self}--feature) {
116
+ &--dark:not(#{$self}--action),
117
+ &--dark:not(#{$self}--action):hover,
118
+ &--dark:not(#{$self}--action):focus,
119
+ &--dark:not(#{$self}--action):focus-within {
120
+ background: $brand-ilo-dark-blue;
121
+ outline: none;
122
+ transition: background $transition-timing ease-out;
123
+
124
+ #{$self}--eyebrow {
125
+ color: $brand-ilo-grey-light;
126
+ transition: color $transition-timing ease-out;
127
+ }
128
+
129
+ #{$self}--title {
130
+ color: $brand-ilo-white;
131
+ transition: color $transition-timing ease-out;
132
+ }
133
+
134
+ #{$self}--intro {
135
+ color: $brand-ilo-grey-light;
136
+ transition: color $transition-timing ease-out;
137
+ }
138
+
139
+ #{$self}--date {
140
+ color: $brand-ilo-grey-light;
141
+ transition: color $transition-timing ease-out;
142
+ }
143
+
144
+ #{$self}--eventdate {
145
+ color: $brand-ilo-grey-light;
146
+ transition: color $transition-timing ease-out;
147
+ }
148
+ }
149
+
150
+ &--cornercut:not(#{$self}--multilink):not(#{$self}--detail):not(#{$self}--feature):not(#{$self}--graphic):not(#{$self}--stat):not(#{$self}--data) {
151
+ @include cornercut($brand-ilo-white, 40px, 73px);
111
152
  margin-top: px-to-rem(40px);
112
153
  padding-top: 0;
113
154
  position: relative;
114
155
 
156
+ &#{$self}--dark {
157
+ &::after {
158
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
159
+ }
160
+ }
161
+
115
162
  @include breakpoint("medium") {
163
+ @include cornercut($brand-ilo-white, 48px, 87px);
116
164
  margin-top: px-to-rem(48px);
165
+
166
+ &#{$self}--dark {
167
+ &::after {
168
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
169
+ }
170
+ }
117
171
  }
118
172
 
119
173
  @include breakpoint("large") {
174
+ @include cornercut($brand-ilo-white, 64px, 116px);
120
175
  margin-top: px-to-rem(64px);
176
+
177
+ &#{$self}--dark {
178
+ &::after {
179
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
180
+ }
181
+ }
121
182
  }
122
183
 
123
184
  &::before {
124
- background: inherit;
125
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
126
- content: "";
127
- display: block;
128
- height: px-to-rem(30px);
129
185
  left: 0;
130
- position: absolute;
131
- top: px-to-rem(-29.7px);
132
- width: 100%;
186
+ top: px-to-rem(-40px);
187
+ transition: background-image $transition-timing ease-out;
133
188
 
134
189
  .right-to-left & {
135
- clip-path: polygon(100% 0, 100% 100%, 100% 100%, 0% 100%, 10% 0%);
190
+ left: auto;
191
+ right: 0;
136
192
  }
137
193
 
138
194
  @include breakpoint("medium") {
139
- height: px-to-rem(38px);
140
- top: px-to-rem(-37.7px);
195
+ top: px-to-rem(-47.7px);
141
196
  }
142
197
 
143
198
  @include breakpoint("large") {
144
- height: px-to-rem(58px);
145
- top: px-to-rem(-57.7px);
199
+ top: px-to-rem(-63.7px);
200
+ }
201
+ }
202
+
203
+ &::after {
204
+ right: 0;
205
+ top: px-to-rem(-40px);
206
+ transition: background-image $transition-timing ease-out;
207
+
208
+ .right-to-left & {
209
+ left: 0;
210
+ right: auto;
211
+ transform: rotateY(180deg);
212
+ }
213
+
214
+ @include breakpoint("medium") {
215
+ top: px-to-rem(-47.7px);
216
+ }
217
+
218
+ @include breakpoint("large") {
219
+ top: px-to-rem(-63.7px);
146
220
  }
147
221
  }
148
222
  }
@@ -539,21 +613,46 @@
539
613
  }
540
614
 
541
615
  &--graphic {
616
+ @include cornercut($brand-ilo-white, 40px, 73px);
542
617
  border-bottom: px-to-rem(3px) solid $brand-ilo-grey-ui;
543
618
  margin-top: px-to-rem(40px);
544
619
  padding: 0 px-to-rem(24px) px-to-rem(40px);
545
620
  position: relative;
546
621
 
622
+ &#{$self}--dark {
623
+ &::after {
624
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
625
+ }
626
+
627
+ &:hover,
628
+ &:focus,
629
+ &:focus-within {
630
+ &::after {
631
+ @include dataurlicon("triangledecoration", $brand-ilo-white);
632
+ }
633
+ }
634
+ }
635
+
547
636
  &::before {
548
- background: inherit;
549
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
550
- content: "";
551
- display: block;
552
- height: 40px;
553
637
  left: 0;
554
- position: absolute;
555
638
  top: -39.7px;
556
- width: 100%;
639
+
640
+ .right-to-left & {
641
+ left: auto;
642
+ right: 0;
643
+ }
644
+ }
645
+
646
+ &::after {
647
+ right: 0;
648
+ top: -39.7px;
649
+ transition: background-image $transition-timing ease-out;
650
+
651
+ .right-to-left & {
652
+ left: 0;
653
+ right: auto;
654
+ transform: rotateY(180deg);
655
+ }
557
656
  }
558
657
 
559
658
  .ilo--profile--contents * {
@@ -574,7 +673,82 @@
574
673
  }
575
674
 
576
675
  @include breakpoint("medium") {
676
+ @include cornercut($brand-ilo-white, 40px, 73px);
577
677
  padding: 0 px-to-rem(32px) px-to-rem(40px);
678
+
679
+ &#{$self}--dark {
680
+ &::after {
681
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
682
+ }
683
+
684
+ &:hover,
685
+ &:focus,
686
+ &:focus-within {
687
+ &::after {
688
+ @include dataurlicon("triangledecoration", $brand-ilo-white);
689
+ }
690
+ }
691
+ }
692
+
693
+ &::before {
694
+ left: 0;
695
+ top: -39.7px;
696
+
697
+ .right-to-left & {
698
+ left: auto;
699
+ right: 0;
700
+ }
701
+ }
702
+
703
+ &::after {
704
+ right: 0;
705
+ top: -39.7px;
706
+
707
+ .right-to-left & {
708
+ left: 0;
709
+ right: auto;
710
+ transform: rotateY(180deg);
711
+ }
712
+ }
713
+ }
714
+
715
+ @include breakpoint("large") {
716
+ @include cornercut($brand-ilo-white, 40px, 73px);
717
+
718
+ &#{$self}--dark {
719
+ &::after {
720
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
721
+ }
722
+
723
+ &:hover,
724
+ &:focus,
725
+ &:focus-within {
726
+ &::after {
727
+ @include dataurlicon("triangledecoration", $brand-ilo-white);
728
+ }
729
+ }
730
+ }
731
+
732
+ &::before {
733
+ left: 0;
734
+ top: -39.7px;
735
+
736
+ .right-to-left & {
737
+ left: auto;
738
+ right: 0;
739
+ }
740
+ }
741
+
742
+ &::after {
743
+ right: 0;
744
+ top: -39.7px;
745
+
746
+ .right-to-left & {
747
+ left: 0;
748
+ right: auto;
749
+ transform: rotateY(180deg);
750
+ }
751
+ }
578
752
  }
579
753
 
580
754
  &#{$self}--wide {
@@ -656,6 +830,21 @@
656
830
  display: block;
657
831
  @include textmargin("margin-bottom", 32px, "base", "copy", 0, 0);
658
832
  }
833
+
834
+ .ilo--card--content {
835
+ display: flex;
836
+ flex-direction: column;
837
+ position: relative;
838
+
839
+ > * {
840
+ justify-self: flex-start;
841
+ }
842
+
843
+ > *:last-child {
844
+ justify-self: flex-end;
845
+ margin-bottom: 0;
846
+ }
847
+ }
659
848
  }
660
849
 
661
850
  &--graphicpromo {
@@ -663,11 +852,6 @@
663
852
  padding: px-to-rem(40px) px-to-rem(24px);
664
853
  width: 100%;
665
854
 
666
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
667
- height: px-to-rem(34px);
668
- top: px-to-rem(-33.7px);
669
- }
670
-
671
855
  &:hover,
672
856
  &:focus,
673
857
  &:focus-within {
@@ -679,20 +863,10 @@
679
863
 
680
864
  @include breakpoint("medium") {
681
865
  padding: px-to-rem(48px);
682
-
683
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
684
- height: px-to-rem(64px);
685
- top: px-to-rem(-63.7px);
686
- }
687
866
  }
688
867
 
689
868
  @include breakpoint("large") {
690
869
  padding: px-to-rem(64px) px-to-rem(72px);
691
-
692
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
693
- height: px-to-rem(64px);
694
- top: px-to-rem(-63.7px);
695
- }
696
870
  }
697
871
 
698
872
  &#{$self}--wide {
@@ -806,10 +980,18 @@
806
980
  padding: 0 px-to-rem(24px) px-to-rem(48px) px-to-rem(24px);
807
981
  pointer-events: none;
808
982
 
809
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
810
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
811
- height: px-to-rem(40px);
812
- top: px-to-rem(-39.7px);
983
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
984
+ &::before {
985
+ height: 40px;
986
+ top: px-to-rem(-39.7px);
987
+ width: calc(100% - 73px);
988
+ }
989
+
990
+ &::after {
991
+ height: 40px;
992
+ top: px-to-rem(-39.7px);
993
+ width: 73.3px;
994
+ }
813
995
  }
814
996
 
815
997
  &#{$self}--dark {
@@ -819,10 +1001,18 @@
819
1001
  @include breakpoint("large") {
820
1002
  padding: 0 px-to-rem(40px) px-to-rem(56px) px-to-rem(40px);
821
1003
 
822
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
823
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
824
- height: px-to-rem(41px);
825
- top: px-to-rem(-40.7px);
1004
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1005
+ &::before {
1006
+ height: 48px;
1007
+ top: px-to-rem(-47.7px);
1008
+ width: calc(100% - 87px);
1009
+ }
1010
+
1011
+ &::after {
1012
+ height: 48px;
1013
+ top: px-to-rem(-47.7px);
1014
+ width: 87.3px;
1015
+ }
826
1016
  }
827
1017
  }
828
1018
 
@@ -908,29 +1098,64 @@
908
1098
 
909
1099
  &--stat {
910
1100
  border-bottom: px-to-rem(3px) solid $brand-ilo-purple;
1101
+ margin-top: px-to-rem(40px);
911
1102
  padding: 0 px-to-rem(24px) px-to-rem(40px) px-to-rem(22px);
1103
+ position: relative;
912
1104
  width: 100%;
913
1105
 
914
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
915
- clip-path: polygon(75% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
916
- height: px-to-rem(40px);
917
- top: px-to-rem(-39.7px);
1106
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1107
+ &::before {
1108
+ left: 0;
1109
+ top: px-to-rem(-39.7px);
1110
+
1111
+ .right-to-left & {
1112
+ left: auto;
1113
+ right: 0;
1114
+ }
1115
+ }
1116
+
1117
+ &::after {
1118
+ right: 0;
1119
+ top: px-to-rem(-39.7px);
1120
+
1121
+ .right-to-left & {
1122
+ left: 0;
1123
+ right: auto;
1124
+ transform: rotateY(180deg);
1125
+ }
1126
+ }
918
1127
  }
919
1128
 
920
1129
  &#{$self}--blue {
921
1130
  background: $brand-ilo-light-blue;
1131
+
1132
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1133
+ @include cornercut($brand-ilo-light-blue, 40px, 73px);
1134
+ }
922
1135
  }
923
1136
 
924
1137
  &#{$self}--yellow {
925
1138
  background: $brand-ilo-yellow;
1139
+
1140
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1141
+ @include cornercut($brand-ilo-yellow, 40px, 73px);
1142
+ }
926
1143
  }
927
1144
 
928
1145
  &#{$self}--green {
929
1146
  background: $brand-ilo-green;
1147
+
1148
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1149
+ @include cornercut($brand-ilo-green, 40px, 73px);
1150
+ }
930
1151
  }
931
1152
 
932
1153
  &#{$self}--turquoise {
933
1154
  background: $brand-ilo-turquoise;
1155
+
1156
+ &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature) {
1157
+ @include cornercut($brand-ilo-turquoise, 40px, 73px);
1158
+ }
934
1159
  }
935
1160
 
936
1161
  #{$self}--content {
@@ -962,20 +1187,16 @@
962
1187
  @include font-styles("image-credit");
963
1188
  align-self: flex-end;
964
1189
  }
965
-
966
- @include breakpoint("large") {
967
- &.ilo--card--cornercut:not(.ilo--card--multilink):not(.ilo--card--detail):not(.ilo--card--feature)::before {
968
- height: px-to-rem(48px);
969
- top: px-to-rem(-47.7px);
970
- }
971
- }
972
1190
  }
973
1191
 
974
1192
  &--data {
1193
+ @include cornercut($brand-ilo-light-blue, 40px, 73px);
975
1194
  background: $brand-ilo-light-blue;
976
1195
  border-bottom: px-to-rem(3px) solid #82afdc;
1196
+ margin-top: px-to-rem(40px);
977
1197
  max-width: px-to-rem(600px);
978
1198
  padding: 0 px-to-rem(24px) px-to-rem(56px);
1199
+ position: relative;
979
1200
 
980
1201
  &:hover,
981
1202
  &:focus,
@@ -984,15 +1205,34 @@
984
1205
  }
985
1206
 
986
1207
  &::before {
987
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
988
- height: px-to-rem(40px);
1208
+ left: 0;
989
1209
  top: px-to-rem(-39.7px);
1210
+
1211
+ .right-to-left & {
1212
+ left: auto;
1213
+ right: 0;
1214
+ }
990
1215
  }
991
1216
 
992
- @include breakpoint("large") {
1217
+ &::after {
1218
+ right: 0;
1219
+ top: px-to-rem(-39.7px);
1220
+
1221
+ .right-to-left & {
1222
+ left: 0;
1223
+ right: auto;
1224
+ transform: rotateY(180deg);
1225
+ }
1226
+ }
1227
+
1228
+ @include breakpoint("medium") {
1229
+ @include cornercut($brand-ilo-light-blue, 48px, 84px);
1230
+
993
1231
  &::before {
994
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
995
- height: px-to-rem(48px);
1232
+ top: px-to-rem(-47.7px);
1233
+ }
1234
+
1235
+ &::after {
996
1236
  top: px-to-rem(-47.7px);
997
1237
  }
998
1238
  }
@@ -180,6 +180,10 @@
180
180
  }
181
181
 
182
182
  .ilo--hero-card {
183
+ @include cornercut(
184
+ map-get($color, "hero", "card", "light", "background"),
185
+ 40px
186
+ );
183
187
  background: map-get($color, "hero", "card", "light", "background");
184
188
  color: map-get($color, "hero", "card", "light", "color");
185
189
  max-width: 998px;
@@ -187,29 +191,39 @@
187
191
  padding: 16px 16px 40px 16px;
188
192
 
189
193
  &::before {
190
- background: inherit;
191
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
192
- content: "";
193
- display: block;
194
- height: 40px;
195
194
  left: 0;
196
- position: absolute;
197
195
  top: -39.7px;
198
- width: 100%;
199
196
 
200
197
  .right-to-left & {
201
- clip-path: polygon(100% 0, 100% 100%, 100% 100%, 0% 100%, 10% 0%);
202
198
  left: auto;
203
199
  right: 0;
204
200
  }
205
201
 
206
202
  @include breakpoint("large") {
207
- height: 56px;
208
- top: -55.7px;
203
+ top: -63.7px;
204
+ }
205
+ }
206
+
207
+ &::after {
208
+ right: 0;
209
+ top: -39.7px;
210
+
211
+ .right-to-left & {
212
+ left: 0;
213
+ right: auto;
214
+ }
215
+
216
+ @include breakpoint("large") {
217
+ top: -63.7px;
209
218
  }
210
219
  }
211
220
 
212
221
  @include breakpoint("large") {
222
+ @include cornercut(
223
+ map-get($color, "hero", "card", "light", "background"),
224
+ 64px,
225
+ 116px
226
+ );
213
227
  padding: 0 70px 70px 56px;
214
228
 
215
229
  &.ilo--hero-card--graphic {
@@ -230,6 +244,10 @@
230
244
  border-bottom: 3px solid $color-base-red-medium;
231
245
  color: map-get($color, "hero", "card", "dark", "color");
232
246
 
247
+ &::after {
248
+ @include dataurlicon("triangledecoration", $brand-ilo-dark-blue);
249
+ }
250
+
233
251
  .ilo--hero-card--link.icon {
234
252
  color: map-get($color, "hero", "card", "dark", "icon", "color");
235
253
 
@@ -308,7 +326,24 @@
308
326
  display: none;
309
327
  }
310
328
 
329
+ &.ilo--hero-card--nobackground {
330
+ background: transparent;
331
+
332
+ > * {
333
+ filter: drop-shadow(0px 12px 32px rgba(0, 0, 0, 0.16))
334
+ drop-shadow(0px 0.8px 1.6px rgba(0, 0, 0, 0.02))
335
+ drop-shadow(0px 2.7px 4.8px rgba(0, 0, 0, 0.04))
336
+ drop-shadow(0px 8px 16px rgba(0, 0, 0, 0.08));
337
+ }
338
+
339
+ &::before,
340
+ &::after {
341
+ content: "";
342
+ }
343
+ }
344
+
311
345
  @include breakpoint("large") {
346
+ @include cornercut($brand-ilo-white, 48px, 87.4px);
312
347
  bottom: 72px;
313
348
  max-width: 720px;
314
349
  padding: 0 48px 48px 72px;
@@ -316,23 +351,25 @@
316
351
  width: 100%;
317
352
 
318
353
  &::before {
319
- background: inherit;
320
- clip-path: polygon(90% 0, 100% 100%, 100% 100%, 0% 100%, 0% 0%);
321
- content: "";
322
- display: block;
323
- height: 59px;
324
354
  left: 0;
325
- position: absolute;
326
- top: -58.7px;
327
- width: 100%;
355
+ top: -48px;
328
356
 
329
357
  .right-to-left & {
330
- clip-path: polygon(100% 0, 100% 100%, 100% 100%, 0% 100%, 10% 0%);
331
358
  left: auto;
332
359
  right: 0;
333
360
  }
334
361
  }
335
362
 
363
+ &::after {
364
+ right: 0;
365
+ top: -48px;
366
+
367
+ .right-to-left & {
368
+ left: 0;
369
+ right: auto;
370
+ }
371
+ }
372
+
336
373
  &.ilo--hero-card--center {
337
374
  left: 50%;
338
375
  right: auto;
@@ -348,6 +385,15 @@
348
385
  left: auto;
349
386
  right: 0;
350
387
  }
388
+
389
+ &.ilo--hero-card--nobackground {
390
+ background: transparent;
391
+
392
+ &::before,
393
+ &::after {
394
+ content: "";
395
+ }
396
+ }
351
397
  }
352
398
 
353
399
  &.ilo--hero-card--dark {
@@ -356,6 +402,22 @@
356
402
  map-get($color, "hero", "card", "dark", "background"),
357
403
  0.55
358
404
  );
405
+
406
+ &.ilo--hero-card--nobackground {
407
+ background: transparent;
408
+
409
+ &::before,
410
+ &::after {
411
+ content: "";
412
+ }
413
+ }
414
+ }
415
+
416
+ &::after {
417
+ @include dataurlicon(
418
+ "triangledecoration",
419
+ rgba($brand-ilo-dark-blue, 0.55)
420
+ );
359
421
  }
360
422
  }
361
423
  }
@@ -385,11 +447,6 @@
385
447
  max-width: 720px;
386
448
  padding: 0 48px 48px 48px;
387
449
  width: 100%;
388
-
389
- &:before {
390
- height: px-to-rem(40px);
391
- top: px-to-rem(-39.7px);
392
- }
393
450
  }
394
451
  }
395
452