@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.
@@ -1,12 +1,15 @@
1
1
  @use "../tokens" as *;
2
2
  @use "../functions" as *;
3
+ @import "../animations";
3
4
  @import "../mixins";
4
5
 
5
6
  .ilo--footer {
7
+ border-bottom: px-to-rem(3px) solid $color-base-neutrals-light;
8
+
6
9
  &--main {
7
10
  background-color: $color-base-blue-dark;
8
11
  border-bottom: px-to-rem(6px) solid $color-base-red-medium;
9
- padding: 0 px-to-rem(32px);
12
+ padding: px-to-rem(40px) px-to-rem(32px) 0 px-to-rem(32px);
10
13
  position: relative;
11
14
 
12
15
  & > * {
@@ -15,21 +18,31 @@
15
18
  }
16
19
 
17
20
  &:after {
18
- background-color: $color-base-blue-medium;
19
- clip-path: polygon(63.75% 0%, 100% 63.75%, 100% 0);
21
+ background-size: contain;
22
+ background-repeat: no-repeat;
23
+ bottom: 0;
20
24
  content: "";
21
25
  height: 100%;
22
- left: 0;
26
+ min-width: 409.5px;
27
+ right: 0;
23
28
  position: absolute;
24
- top: 0;
25
- width: 100%;
29
+ transform: scaleY(-1);
30
+ width: 28.8%;
26
31
  z-index: 0;
32
+ @include dataurlicon("footertriangle", $color-base-blue-medium);
27
33
  }
28
34
  }
29
35
 
36
+ &--logo {
37
+ max-width: 100%;
38
+ }
39
+
30
40
  &--secondary {
31
41
  background-color: $color-base-neutrals-white;
32
42
  padding: px-to-rem(36px) px-to-rem(16px) 0 px-to-rem(16px);
43
+ min-height: px-to-rem(
44
+ map-get($spacing, "ux", "readmore", "default", "height")
45
+ );
33
46
  }
34
47
 
35
48
  &--headline {
@@ -90,17 +103,6 @@
90
103
  margin-bottom: px-to-rem(45px);
91
104
  }
92
105
 
93
- .social--links--item {
94
- height: px-to-rem(16px);
95
- margin-right: px-to-rem(20px);
96
- position: relative;
97
- width: px-to-rem(16px);
98
-
99
- &:last-of-type {
100
- margin-right: none;
101
- }
102
- }
103
-
104
106
  .social--links--link {
105
107
  background-repeat: no-repeat;
106
108
  background-size: contain;
@@ -131,6 +133,45 @@
131
133
  }
132
134
  }
133
135
 
136
+ .social--links--item {
137
+ align-items: center;
138
+ background-color: transparent;
139
+ border-radius: px-to-rem(3px);
140
+ display: flex;
141
+ height: px-to-rem(24px);
142
+ justify-content: center;
143
+ margin-right: px-to-rem(20px);
144
+ position: relative;
145
+ width: px-to-rem(24px);
146
+
147
+ &:last-of-type {
148
+ margin-right: none;
149
+ }
150
+
151
+ &:hover,
152
+ &:focus {
153
+ background-color: $color-base-blue-light;
154
+
155
+ .social--links--link {
156
+ &.facebook {
157
+ @include dataurlicon("facebook", $color-base-blue-medium);
158
+ }
159
+
160
+ &.instagram {
161
+ @include dataurlicon("instagram", $color-base-blue-medium);
162
+ }
163
+
164
+ &.twitter {
165
+ @include dataurlicon("twitter", $color-base-blue-medium);
166
+ }
167
+
168
+ &.youtube {
169
+ @include dataurlicon("youtube", $color-base-blue-medium);
170
+ }
171
+ }
172
+ }
173
+ }
174
+
134
175
  .legal,
135
176
  .secondarylinks {
136
177
  color: $color-base-neutrals-medium;
@@ -153,23 +194,28 @@
153
194
 
154
195
  .secondarylinks--list--item a {
155
196
  color: $color-base-neutrals-medium;
197
+ @include globaltransition("color, border-color");
156
198
 
157
199
  &:visited {
158
200
  color: map-get($color, "link", "text-footer", "visited");
201
+ @include globaltransition("color, border-color");
159
202
  }
160
203
 
161
204
  &:hover {
162
205
  color: map-get($color, "link", "text-footer", "hover");
206
+ @include globaltransition("color, border-color");
163
207
  }
164
208
 
165
209
  &:active {
166
210
  color: map-get($color, "link", "text-footer", "active");
167
211
  outline: none;
212
+ @include globaltransition("color, border-color");
168
213
  }
169
214
 
170
215
  &:focus {
171
216
  color: map-get($color, "link", "text-footer", "focus");
172
217
  outline: none;
218
+ @include globaltransition("color, border-color");
173
219
  }
174
220
  }
175
221
 
@@ -208,8 +254,7 @@
208
254
  border-bottom: 0.1071811361rem solid $color-base-blue-medium;
209
255
  color: $color-ux-labels-hover;
210
256
  cursor: pointer;
211
- transition: background 150ms linear, border 150ms linear,
212
- color 150ms linear;
257
+ @include globaltransition("color, background-color, border-color");
213
258
 
214
259
  &:after {
215
260
  @include dataurlicon("arrow", $color-ux-labels-hover);
@@ -286,6 +331,13 @@
286
331
  "site-info address connect"
287
332
  "site-info links connect";
288
333
  padding: px-to-rem(56px) px-to-rem(70px) px-to-rem(64px) px-to-rem(70px);
334
+
335
+ &:after {
336
+ background-position: right top;
337
+ bottom: auto;
338
+ top: 0;
339
+ transform: scaleY(1);
340
+ }
289
341
  }
290
342
 
291
343
  &--logo {
@@ -326,4 +378,61 @@
326
378
  top: 0;
327
379
  }
328
380
  }
381
+
382
+ .right-to-left & {
383
+ * {
384
+ text-align: right;
385
+ }
386
+
387
+ .social--links {
388
+ flex-direction: row-reverse;
389
+ }
390
+
391
+ .social--links--link {
392
+ text-indent: 999em;
393
+ }
394
+
395
+ &--main {
396
+ &:after {
397
+ bottom: 0;
398
+ left: 0;
399
+ right: auto;
400
+ top: auto;
401
+ transform: scale(-1, -1);
402
+ }
403
+ }
404
+
405
+ @include breakpoint("medium") {
406
+ &--main {
407
+ grid-template-areas:
408
+ "address site-info"
409
+ "links site-info"
410
+ "connect site-info";
411
+ }
412
+ }
413
+
414
+ @include breakpoint("large") {
415
+ &--main {
416
+ grid-template-columns: calc(32.5% + 64px) 25.1% 19.2%;
417
+ grid-template-areas:
418
+ "connect address site-info"
419
+ "connect links site-info";
420
+
421
+ &:after {
422
+ left: 0;
423
+ right: auto;
424
+ transform: scale(-1, 1);
425
+ }
426
+ }
427
+
428
+ .connect {
429
+ grid-template-columns: 60%, minmax(0, 40%);
430
+ margin: 0 calc(18.9% + 64px) 0 0;
431
+ }
432
+
433
+ .ilo--button {
434
+ justify-self: end;
435
+ }
436
+ }
437
+ }
329
438
  }
@@ -3,6 +3,8 @@
3
3
  @import "../mixins";
4
4
 
5
5
  .ilo--hero {
6
+ background: map-get($color, "ux", "pagination", "default", "background");
7
+
6
8
  &--home {
7
9
  @include breakpoint("large") {
8
10
  position: relative;
@@ -13,8 +15,6 @@
13
15
  position: relative;
14
16
 
15
17
  @include breakpoint("large") {
16
- padding-top: 128px;
17
-
18
18
  .ilo--image {
19
19
  height: calc(100% - 80px);
20
20
  left: 0;
@@ -41,7 +41,7 @@
41
41
  }
42
42
  }
43
43
  }
44
- background: map-get($color, "ux", "pagination", "default", "background");
44
+
45
45
  &--article {
46
46
  background: map-get($color, "hero", "article");
47
47
  padding: 88px 0 0 0;
@@ -108,11 +108,10 @@
108
108
  background-color: map-get($color, "hero", "image");
109
109
 
110
110
  @include breakpoint("large") {
111
- padding-top: 128px;
112
-
113
111
  .ilo--image {
114
112
  height: 100%;
115
113
  max-height: 592px;
114
+ overflow: hidden;
116
115
  width: 100%;
117
116
  }
118
117
 
@@ -1,5 +1,6 @@
1
1
  @use "../tokens" as *;
2
2
  @use "../functions" as *;
3
+ @import "../animations";
3
4
  @import "../mixins";
4
5
 
5
6
  .ilo--link-list {
@@ -82,11 +83,13 @@
82
83
 
83
84
  &:visited {
84
85
  color: map-get($color, "link", "text", "default");
86
+ @include globaltransition("color");
85
87
  }
86
88
 
87
89
  &:active {
88
90
  color: map-get($color, "link", "text", "active");
89
91
  outline: none;
92
+ @include globaltransition("color");
90
93
  }
91
94
 
92
95
  &:hover,
@@ -97,6 +100,17 @@
97
100
  color: map-get($color, "link", "text", "hover");
98
101
  outline: none;
99
102
  @include dataurlicon("arrowright", $color-link-text-hover);
103
+ @include globaltransition("color, background-color, border-color");
104
+ }
105
+
106
+ .right-to-left & {
107
+ background-position: $spacing-padding-0-5 center;
108
+ @include dataurlicon("arrowleft", $color-link-text-default);
109
+
110
+ &:hover,
111
+ &:focus {
112
+ @include dataurlicon("arrowleft", $color-link-text-hover);
113
+ }
100
114
  }
101
115
  }
102
116
 
@@ -123,6 +137,7 @@
123
137
  &:visited {
124
138
  .ilo--link-list--label {
125
139
  color: $color-base-neutrals-white;
140
+ @include globaltransition("color");
126
141
  }
127
142
  }
128
143
 
@@ -131,6 +146,7 @@
131
146
 
132
147
  .ilo--link-list--label {
133
148
  color: map-get($color, "link", "text", "active");
149
+ @include globaltransition("color");
134
150
  }
135
151
  }
136
152
 
@@ -141,8 +157,25 @@
141
157
 
142
158
  .ilo--link-list--label {
143
159
  color: $color-base-blue-medium;
160
+ @include globaltransition("color");
144
161
  }
145
162
  }
163
+
164
+ .right-to-left & {
165
+ background-position: $spacing-padding-0-5 center;
166
+ @include dataurlicon("arrowleft", $color-base-neutrals-white);
167
+
168
+ &:hover,
169
+ &:focus {
170
+ @include dataurlicon("arrowleft", $color-base-blue-medium);
171
+ }
172
+ }
173
+ }
174
+ }
175
+
176
+ .right-to-left & {
177
+ * {
178
+ text-align: right;
146
179
  }
147
180
  }
148
181
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  .ilo--header {
6
6
  $self: &;
7
- overflow-x: hidden;
7
+ overflow: hidden;
8
8
  position: relative;
9
9
  z-index: 4;
10
10
 
@@ -78,6 +78,11 @@
78
78
 
79
79
  &--logo {
80
80
  display: block;
81
+ max-width: 150px;
82
+
83
+ @include breakpoint("large") {
84
+ max-width: 200px;
85
+ }
81
86
 
82
87
  &-link {
83
88
  display: block;
@@ -112,6 +117,10 @@
112
117
  &--local {
113
118
  justify-content: space-between;
114
119
  }
120
+
121
+ .right-to-left & {
122
+ flex-direction: row-reverse;
123
+ }
115
124
  }
116
125
  }
117
126
 
@@ -121,6 +130,10 @@
121
130
  padding: 0 16px;
122
131
  width: 100%;
123
132
 
133
+ .right-to-left & {
134
+ direction: rtl;
135
+ }
136
+
124
137
  @include breakpoint("large") {
125
138
  display: flex;
126
139
  justify-content: space-between;
@@ -157,12 +170,17 @@
157
170
  padding: 20px 0;
158
171
  text-align: right;
159
172
 
173
+ .right-to-left & {
174
+ text-align: left;
175
+ }
176
+
160
177
  @include breakpoint("large") {
161
178
  display: block;
162
179
  }
163
180
 
164
181
  &--small {
165
182
  @include font-styles("tagline");
183
+ color: $brand-ilo-ramp-blue;
166
184
  display: block;
167
185
  font-weight: 500;
168
186
  }
@@ -231,7 +249,7 @@
231
249
 
232
250
  &:hover,
233
251
  &:focus {
234
- background: $brand-ilo-white;
252
+ background: $brand-ilo-light-blue;
235
253
  color: $brand-ilo-blue;
236
254
  text-decoration: none;
237
255
  }
@@ -244,7 +262,7 @@
244
262
 
245
263
  appearance: none;
246
264
  background-color: $brand-ilo-white;
247
- background-position: 90% 55%;
265
+ background-position: calc(100% - 16px) 55%;
248
266
  background-repeat: no-repeat;
249
267
  background-size: 16px;
250
268
  border: none;
@@ -265,6 +283,22 @@
265
283
  color: $brand-ilo-blue;
266
284
  }
267
285
 
286
+ .right-to-left & {
287
+ @include dataurlicon("arrowleft", $brand-ilo-dark-blue);
288
+ background-color: $brand-ilo-white;
289
+ background-position: 16px 55%;
290
+ background-repeat: no-repeat;
291
+ background-size: 16px;
292
+ text-align: right;
293
+
294
+ &:focus,
295
+ &:hover {
296
+ @include dataurlicon("arrowleft", $brand-ilo-blue);
297
+ background-color: $brand-ilo-light-blue;
298
+ color: $brand-ilo-blue;
299
+ }
300
+ }
301
+
268
302
  @include breakpoint("large") {
269
303
  @include dataurlicon("add", $brand-ilo-white);
270
304
  @include font-styles("nav-bold-b-sm");
@@ -292,6 +326,22 @@
292
326
  border-color: $brand-ilo-white;
293
327
  color: $brand-ilo-blue;
294
328
  }
329
+
330
+ .right-to-left & {
331
+ @include dataurlicon("add", $brand-ilo-white);
332
+ background-color: $brand-ilo-dark-blue;
333
+ background-position: 90% 55%;
334
+ background-repeat: no-repeat;
335
+ background-size: 20px;
336
+ text-align: left;
337
+
338
+ &:focus,
339
+ &:hover {
340
+ @include dataurlicon("add", $brand-ilo-blue);
341
+ background-color: $brand-ilo-white;
342
+ color: $brand-ilo-blue;
343
+ }
344
+ }
295
345
  }
296
346
  }
297
347
 
@@ -334,12 +384,65 @@
334
384
  }
335
385
 
336
386
  .ilo--mobile--nav {
387
+ border-bottom: 3px solid $brand-ilo-grey-light;
388
+ margin-bottom: 16px;
389
+ padding-bottom: 16px;
390
+
337
391
  &--logo {
338
392
  align-items: center;
339
393
  display: flex;
340
394
  justify-content: space-between;
341
395
  }
342
396
 
397
+ &--language--select {
398
+ background: $brand-ilo-white;
399
+ left: 0;
400
+ height: 100%;
401
+ padding: 0 0 px-to-rem(32px);
402
+ position: absolute;
403
+ top: 0;
404
+ transform: translateX(100%);
405
+ transition: transform 225ms ease-out;
406
+ width: 100%;
407
+
408
+ .ilo--select--open & {
409
+ transform: translateX(0);
410
+ }
411
+ }
412
+
413
+ &--language--switcher--button {
414
+ @include dataurlicon("global", $brand-ilo-dark-blue);
415
+ @include font-styles("nav-md");
416
+
417
+ appearance: none;
418
+ background-color: $brand-ilo-white;
419
+ background-position: calc(100% - 16px) 55%;
420
+ background-repeat: no-repeat;
421
+ background-size: 16px;
422
+ border: none;
423
+ color: $brand-ilo-dark-blue;
424
+ cursor: pointer;
425
+ display: block;
426
+ font-family: $fonts-display;
427
+ font-weight: 500;
428
+ padding: 16px 36px 16px 8px;
429
+ text-align: left;
430
+ transition: all 150ms ease-out;
431
+ width: 100%;
432
+
433
+ &:focus,
434
+ &:hover {
435
+ @include dataurlicon("global", $brand-ilo-blue);
436
+ background-color: $brand-ilo-light-blue;
437
+ color: $brand-ilo-blue;
438
+ }
439
+
440
+ .right-to-left & {
441
+ background-position: 16px 55%;
442
+ text-align: right;
443
+ }
444
+ }
445
+
343
446
  @include breakpoint("large") {
344
447
  display: none;
345
448
  }
@@ -351,6 +454,10 @@
351
454
  padding: 0 max((100% - 1300px) / 2, 20px) 0 0;
352
455
  position: relative;
353
456
 
457
+ .right-to-left & {
458
+ padding: 0 0 0 max((100% - 1300px) / 2, 20px);
459
+ }
460
+
354
461
  &::before {
355
462
  background: $brand-ilo-dark-blue;
356
463
  clip-path: polygon(0 0, 100% 0, 100% 100%);
@@ -361,6 +468,12 @@
361
468
  position: absolute;
362
469
  top: 0;
363
470
  width: 32px;
471
+
472
+ .right-to-left & {
473
+ clip-path: polygon(0 0, 0 100%, 100% 100%);
474
+ left: auto;
475
+ right: -32px;
476
+ }
364
477
  }
365
478
 
366
479
  &--wrap {
@@ -380,6 +493,7 @@
380
493
  color: $brand-ilo-white;
381
494
  cursor: pointer;
382
495
  display: block;
496
+ font-family: $fonts-display;
383
497
  font-weight: 500;
384
498
  padding: 8px 30px 8px 40px;
385
499
  transition: all 150ms ease-out;
@@ -409,6 +523,8 @@
409
523
 
410
524
  .ilo--subnav {
411
525
  background: $brand-ilo-white;
526
+ height: 100%;
527
+ left: 0;
412
528
  padding: 0 0 32px;
413
529
  position: absolute;
414
530
  top: 0;
@@ -420,7 +536,15 @@
420
536
  transform: translateX(0);
421
537
  }
422
538
 
539
+ .right-to-left & {
540
+ direction: rtl;
541
+ }
542
+
423
543
  @include breakpoint("large") {
544
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
545
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
546
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08));
547
+ height: auto;
424
548
  left: 0;
425
549
  padding: 32px 0;
426
550
  top: auto;
@@ -495,12 +619,14 @@
495
619
  border: none;
496
620
  color: $brand-ilo-dark-blue;
497
621
  cursor: pointer;
622
+ font-family: $fonts-display;
623
+ font-weight: 500;
498
624
  padding: 16px 16px 16px 32px;
499
625
  position: relative;
500
626
  transition: all 150ms ease-out;
501
627
 
502
628
  &::before {
503
- @include dataurlicon("arrowright", $brand-ilo-dark-blue);
629
+ @include dataurlicon("arrowleft", $brand-ilo-dark-blue);
504
630
  background-position: 10% center;
505
631
  background-repeat: no-repeat;
506
632
  background-size: 24px;
@@ -510,21 +636,43 @@
510
636
  left: 0;
511
637
  position: absolute;
512
638
  top: 50%;
513
- transform: translateY(-50%) rotate(180deg);
639
+ transform: translateY(-50%);
514
640
  width: 24px;
515
641
  }
516
642
 
643
+ .right-to-left & {
644
+ padding: 16px 32px 16px 16px;
645
+
646
+ &::before {
647
+ @include dataurlicon("arrowright", $brand-ilo-dark-blue);
648
+ background-position: 10% center;
649
+ background-repeat: no-repeat;
650
+ background-size: 24px;
651
+ left: auto;
652
+ right: 0;
653
+ }
654
+ }
655
+
517
656
  &:hover,
518
657
  &:focus {
519
658
  background-color: $brand-ilo-light-blue;
520
659
  color: $brand-ilo-blue;
521
660
 
522
661
  &::before {
523
- @include dataurlicon("arrowright", $brand-ilo-blue);
662
+ @include dataurlicon("arrowleft", $brand-ilo-blue);
524
663
  background-position: 10% center;
525
664
  background-repeat: no-repeat;
526
665
  background-size: 24px;
527
666
  }
667
+
668
+ .right-to-left & {
669
+ &::before {
670
+ @include dataurlicon("arrowright", $brand-ilo-blue);
671
+ background-position: 10% center;
672
+ background-repeat: no-repeat;
673
+ background-size: 24px;
674
+ }
675
+ }
528
676
  }
529
677
 
530
678
  @include breakpoint("large") {
@@ -546,6 +694,7 @@
546
694
 
547
695
  .ilo--search-box {
548
696
  background: $brand-ilo-white;
697
+ left: 0;
549
698
  position: absolute;
550
699
  top: 0;
551
700
  transform: translateX(100%);
@@ -557,6 +706,9 @@
557
706
  }
558
707
 
559
708
  @include breakpoint("large") {
709
+ filter: drop-shadow(0px 0.8px 1.6px rgba(30, 45, 190, 0.038))
710
+ drop-shadow(0px 4px 8px rgba(30, 45, 190, 0.054))
711
+ drop-shadow(0px 10px 20px rgba(30, 45, 190, 0.08));
560
712
  left: 0;
561
713
  padding: 32px 0;
562
714
  top: auto;
@@ -605,7 +757,7 @@
605
757
  }
606
758
 
607
759
  .ilo--search--open & {
608
- @include dataurlicon("add", $brand-ilo-dark-blue);
760
+ @include dataurlicon("close", $brand-ilo-dark-blue);
609
761
  background-color: $brand-ilo-white;
610
762
  background-position: center;
611
763
  background-repeat: no-repeat;
@@ -613,7 +765,7 @@
613
765
 
614
766
  &:hover,
615
767
  &:focus {
616
- @include dataurlicon("add", $brand-ilo-blue);
768
+ @include dataurlicon("close", $brand-ilo-blue);
617
769
  background-color: $brand-ilo-light-blue;
618
770
  }
619
771
  }