@uob-web-and-digital/component-library 0.0.2 → 0.0.3

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.
package/dist/main.css ADDED
@@ -0,0 +1,1884 @@
1
+ @charset "UTF-8";
2
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
3
+ /*************************
4
+ ** Breakpoints **
5
+ *************************/
6
+ /*************************
7
+ ** Typography **
8
+ *************************/
9
+ /*************************
10
+ ** Grid **
11
+ *************************/
12
+ /*************************
13
+ ** Accessibility **
14
+ *************************/
15
+ /*************************
16
+ ** Theme **
17
+ *************************/
18
+ /*************************
19
+ ** Layout **
20
+ *************************/
21
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
22
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
23
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
24
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
25
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
26
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
27
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
28
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
29
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
30
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
31
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
32
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
33
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
34
+ @import 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;700&display=swap';
35
+ .footer.theme-uobmain {
36
+ background: #000;
37
+ color: #fff;
38
+ }
39
+ .footer.theme-uobmain summary:focus-visible {
40
+ outline-color: #dcc266;
41
+ outline-offset: 0.625rem;
42
+ }
43
+ .footer.theme-uobmain .footer__bottom-container {
44
+ padding: 0.75rem 0;
45
+ background: #1a1a1a;
46
+ }
47
+ .footer.theme-uobmain .footer__details {
48
+ padding-bottom: 1.75rem;
49
+ border-bottom: 1px solid #58595b;
50
+ margin-bottom: 1.5rem;
51
+ }
52
+ .footer.theme-uobmain .footer__details[open] > summary .icon--chevron-down {
53
+ transform: rotate(180deg);
54
+ }
55
+ .footer.theme-redexample {
56
+ background: #f00;
57
+ color: #fff;
58
+ }
59
+ .footer.theme-redexample summary:focus-visible {
60
+ outline-color: #dcc266;
61
+ outline-offset: 0.625rem;
62
+ }
63
+ .footer.theme-redexample .footer__bottom-container {
64
+ padding: 0.75rem 0;
65
+ background: #00f;
66
+ }
67
+ .footer.theme-redexample .footer__details {
68
+ padding-bottom: 1.75rem;
69
+ border-bottom: 1px solid #fff;
70
+ margin-bottom: 1.5rem;
71
+ }
72
+ .footer.theme-redexample .footer__details[open] > summary .icon--chevron-down {
73
+ transform: rotate(180deg);
74
+ }
75
+ .footer__bottom-wrapper {
76
+ max-width: 1152px;
77
+ padding: 0 1.5rem;
78
+ margin: 0 auto;
79
+ }
80
+ @media screen and (min-width: 768px) {
81
+ .footer__bottom-wrapper {
82
+ padding: 0 3rem;
83
+ }
84
+ }
85
+ @media screen and (min-width: 1248px) {
86
+ .footer__bottom-wrapper {
87
+ padding: 0;
88
+ }
89
+ }
90
+ @media screen and (min-width: 1248px) {
91
+ .footer__bottom-wrapper {
92
+ display: flex;
93
+ align-items: flex-end;
94
+ justify-content: space-between;
95
+ }
96
+ }
97
+ .footer__container {
98
+ max-width: 1152px;
99
+ padding: 0 1.5rem;
100
+ margin: 0 auto;
101
+ padding-top: 1.5rem;
102
+ padding-bottom: 1.5rem;
103
+ }
104
+ @media screen and (min-width: 768px) {
105
+ .footer__container {
106
+ padding: 0 3rem;
107
+ }
108
+ }
109
+ @media screen and (min-width: 1248px) {
110
+ .footer__container {
111
+ padding: 0;
112
+ }
113
+ }
114
+ @media screen and (min-width: 768px) {
115
+ .footer__container {
116
+ padding-top: 3.75rem;
117
+ padding-bottom: 3.75rem;
118
+ }
119
+ }
120
+ @media screen and (min-width: 1248px) {
121
+ .footer__container {
122
+ padding-top: 4.5rem;
123
+ padding-bottom: 4.5rem;
124
+ }
125
+ }
126
+ @media screen and (min-width: 768px) {
127
+ .footer__column-container {
128
+ display: grid;
129
+ gap: 1.5rem;
130
+ grid-template-columns: repeat(2, 1fr);
131
+ }
132
+ }
133
+ @media screen and (min-width: 1248px) {
134
+ .footer__column-container {
135
+ display: grid;
136
+ gap: 1.5rem;
137
+ grid-template-columns: repeat(3, 1fr);
138
+ }
139
+ }
140
+ @media screen and (min-width: 1248px) {
141
+ .footer__column-left {
142
+ flex-basis: 22%;
143
+ }
144
+ }
145
+ @media screen and (min-width: 1248px) {
146
+ .footer__column-middle {
147
+ flex-basis: 30%;
148
+ }
149
+ }
150
+ .footer__logo-wrapper {
151
+ width: 8.75rem;
152
+ margin-bottom: 1.5rem;
153
+ }
154
+ @media screen and (min-width: 768px) {
155
+ .footer__logo-wrapper {
156
+ width: 15rem;
157
+ }
158
+ }
159
+ .footer__address {
160
+ margin-bottom: 1.5rem;
161
+ }
162
+ .footer__telephone {
163
+ margin-bottom: 1.5rem;
164
+ }
165
+ .footer__telephone a {
166
+ text-decoration: none;
167
+ }
168
+ .footer__social-wrapper {
169
+ display: grid;
170
+ gap: 1.5rem;
171
+ grid-template-columns: repeat(4, 40px);
172
+ margin: 1.875rem 0;
173
+ }
174
+ .footer__social-wrapper li {
175
+ margin-right: 0.375rem;
176
+ }
177
+ @media screen and (min-width: 768px) {
178
+ .footer__social-wrapper li {
179
+ margin-right: 0.5rem;
180
+ }
181
+ }
182
+ @media screen and (min-width: 1248px) {
183
+ .footer__social-wrapper li {
184
+ margin-right: 1.125rem;
185
+ }
186
+ }
187
+ .footer__summary-links {
188
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
189
+ font-style: normal;
190
+ font-weight: 400;
191
+ font-size: 1.5rem;
192
+ line-height: 1.8rem;
193
+ display: flex;
194
+ align-items: center;
195
+ cursor: pointer;
196
+ }
197
+ @media screen and (min-width: 768px) {
198
+ .footer__summary-links {
199
+ font-size: 1.75rem;
200
+ line-height: 2.1rem;
201
+ }
202
+ }
203
+ @media screen and (min-width: 1248px) {
204
+ .footer__summary-links {
205
+ font-size: 2.25rem;
206
+ line-height: 2.7rem;
207
+ }
208
+ }
209
+ .footer__summary-links::marker {
210
+ display: none;
211
+ content: "";
212
+ }
213
+ .footer__summary-icon {
214
+ width: 2.25rem;
215
+ margin-top: 0.5rem;
216
+ margin-left: 0.625rem;
217
+ }
218
+ .footer__summary-icon svg {
219
+ width: 100%;
220
+ height: 100%;
221
+ object-fit: cover;
222
+ transition: transform 0.3s ease-out;
223
+ }
224
+ .footer__location {
225
+ display: flex;
226
+ align-items: center;
227
+ }
228
+ .footer__location a {
229
+ text-decoration: none;
230
+ }
231
+ .footer__location-icon {
232
+ width: 1.5rem;
233
+ margin-top: 0.5rem;
234
+ }
235
+ .footer__location-icon svg {
236
+ width: 100%;
237
+ height: 100%;
238
+ object-fit: cover;
239
+ }
240
+ .footer__arrow-link {
241
+ margin-bottom: 1.5rem;
242
+ }
243
+ .footer__hygiene-link-wrapper {
244
+ display: flex;
245
+ flex-wrap: wrap;
246
+ margin-bottom: 2.5rem;
247
+ }
248
+ @media screen and (min-width: 1248px) {
249
+ .footer__hygiene-link-wrapper {
250
+ margin-right: 1.875rem;
251
+ margin-bottom: 0;
252
+ }
253
+ }
254
+ .footer__hygiene-link {
255
+ display: inline;
256
+ padding: 0.625rem 0;
257
+ margin-right: 0.625rem;
258
+ font-size: 0.75rem;
259
+ line-height: 1.4166666667;
260
+ }
261
+ .footer__hygiene-link a {
262
+ text-decoration: none;
263
+ }
264
+ .footer__map {
265
+ display: none;
266
+ }
267
+ @media screen and (min-width: 1248px) {
268
+ .footer__map {
269
+ display: block;
270
+ flex-basis: 40%;
271
+ }
272
+ }
273
+ .footer__copyright {
274
+ font-size: 0.75rem;
275
+ line-height: 1.4166666667;
276
+ }
277
+ @media screen and (min-width: 1248px) {
278
+ .footer__copyright {
279
+ flex-basis: 40%;
280
+ padding-bottom: 0.625rem;
281
+ text-align: right;
282
+ }
283
+ }
284
+
285
+ /*************************
286
+ ** Breakpoints **
287
+ *************************/
288
+ /*************************
289
+ ** Typography **
290
+ *************************/
291
+ /*************************
292
+ ** Grid **
293
+ *************************/
294
+ /*************************
295
+ ** Accessibility **
296
+ *************************/
297
+ /*************************
298
+ ** Theme **
299
+ *************************/
300
+ /*************************
301
+ ** Layout **
302
+ *************************/
303
+ .header {
304
+ z-index: 10;
305
+ }
306
+ .header--is-closed {
307
+ position: sticky;
308
+ top: 0;
309
+ transition: top 0.2s ease-out;
310
+ }
311
+ .header.theme-uobmain .header__closed {
312
+ background: #fff;
313
+ color: #000;
314
+ }
315
+ .header.theme-uobmain .header__open {
316
+ background: #000;
317
+ color: #fff;
318
+ }
319
+ .header.theme-uobmain .header__logo-link:focus-visible {
320
+ border: 2px solid #dcc266;
321
+ outline: 2px solid #000;
322
+ }
323
+ .header.theme-uobmain .header__content-wrapper {
324
+ border-color: #fff;
325
+ }
326
+ .header.theme-redexample .header__closed {
327
+ background: #00f;
328
+ color: #fff;
329
+ }
330
+ .header.theme-redexample .header__open {
331
+ background: #f00;
332
+ color: #fff;
333
+ }
334
+ .header.theme-redexample .header__logo-link:focus-visible {
335
+ border: 2px solid #dcc266;
336
+ outline: 2px solid #f00;
337
+ }
338
+ .header.theme-redexample .header__content-wrapper {
339
+ border-color: #fff;
340
+ }
341
+ .header__top-container {
342
+ max-width: 1152px;
343
+ padding: 0 1.5rem;
344
+ margin: 0 auto;
345
+ display: flex;
346
+ align-items: center;
347
+ justify-content: space-between;
348
+ padding-top: 0.75rem;
349
+ padding-bottom: 0.75rem;
350
+ }
351
+ @media screen and (min-width: 768px) {
352
+ .header__top-container {
353
+ padding: 0 3rem;
354
+ }
355
+ }
356
+ @media screen and (min-width: 1248px) {
357
+ .header__top-container {
358
+ padding: 0;
359
+ }
360
+ }
361
+ @media screen and (min-width: 768px) {
362
+ .header__top-container {
363
+ padding-top: 0.75rem;
364
+ padding-bottom: 0.75rem;
365
+ }
366
+ }
367
+ @media screen and (min-width: 1248px) {
368
+ .header__top-container {
369
+ padding-top: 0.75rem;
370
+ padding-bottom: 0.75rem;
371
+ }
372
+ }
373
+ .header__logo-wrapper img {
374
+ height: 2.875rem;
375
+ }
376
+ @media screen and (min-width: 768px) {
377
+ .header__logo-wrapper img {
378
+ height: 4.3125rem;
379
+ }
380
+ }
381
+ .header__logo-link {
382
+ display: block;
383
+ border: 2px solid transparent;
384
+ }
385
+ .header__menu-button {
386
+ display: flex;
387
+ align-items: center;
388
+ gap: 0.8125rem;
389
+ font-family: "Manrope", "Arial", sans-serif;
390
+ font-style: normal;
391
+ font-weight: bold;
392
+ font-size: 0.875rem;
393
+ line-height: 1.225rem;
394
+ }
395
+ @media screen and (min-width: 1248px) {
396
+ .header__menu-button {
397
+ font-size: 1rem;
398
+ line-height: 1.4rem;
399
+ }
400
+ }
401
+ .header__open {
402
+ position: fixed;
403
+ z-index: 10;
404
+ padding-bottom: 1.5rem;
405
+ inset: 0;
406
+ overflow-x: auto;
407
+ }
408
+ @media screen and (min-width: 768px) {
409
+ .header__open {
410
+ padding-bottom: 9.125rem;
411
+ }
412
+ }
413
+ .header__main-menu {
414
+ max-width: 1152px;
415
+ padding: 0 1.5rem;
416
+ margin: 0 auto;
417
+ margin-top: 1rem;
418
+ }
419
+ @media screen and (min-width: 768px) {
420
+ .header__main-menu {
421
+ padding: 0 3rem;
422
+ }
423
+ }
424
+ @media screen and (min-width: 1248px) {
425
+ .header__main-menu {
426
+ padding: 0;
427
+ }
428
+ }
429
+ @media screen and (min-width: 768px) {
430
+ .header__main-menu {
431
+ margin-top: 3rem;
432
+ }
433
+ }
434
+ .header__main-menu-primary-list {
435
+ display: flex;
436
+ flex-direction: column;
437
+ align-items: start;
438
+ gap: 1rem;
439
+ }
440
+ .header__main-menu-secondary-list {
441
+ display: flex;
442
+ flex-direction: column;
443
+ align-items: start;
444
+ margin-top: 1.5rem;
445
+ gap: 1rem;
446
+ }
447
+ @media screen and (min-width: 1248px) {
448
+ .header__main-menu-secondary-list {
449
+ margin-top: 2.25rem;
450
+ }
451
+ }
452
+ .header__nested-menu {
453
+ max-width: 1152px;
454
+ padding: 0 1.5rem;
455
+ margin: 0 auto;
456
+ margin-top: 1.5rem;
457
+ }
458
+ @media screen and (min-width: 768px) {
459
+ .header__nested-menu {
460
+ padding: 0 3rem;
461
+ }
462
+ }
463
+ @media screen and (min-width: 1248px) {
464
+ .header__nested-menu {
465
+ padding: 0;
466
+ }
467
+ }
468
+ .header__heading-link {
469
+ margin-top: 2.25rem;
470
+ }
471
+ @media screen and (min-width: 1248px) {
472
+ .header__heading-link {
473
+ margin-top: 1.5rem;
474
+ }
475
+ }
476
+ .header__content-wrapper {
477
+ margin-top: 1.5rem;
478
+ }
479
+ @media screen and (min-width: 768px) {
480
+ .header__content-wrapper {
481
+ padding-top: 2.25rem;
482
+ border-top: 1px solid;
483
+ margin-top: 2.25rem;
484
+ display: grid;
485
+ gap: 1.5rem;
486
+ grid-template-columns: repeat(12, 1fr);
487
+ }
488
+ }
489
+ @media screen and (min-width: 1248px) {
490
+ .header__content-wrapper {
491
+ padding-top: 1.5rem;
492
+ }
493
+ }
494
+ .header__description {
495
+ font-family: "Manrope", "Arial", sans-serif;
496
+ font-style: normal;
497
+ font-weight: 400;
498
+ font-size: 1.125rem;
499
+ line-height: 1.575rem;
500
+ }
501
+ @media screen and (min-width: 1248px) {
502
+ .header__description {
503
+ font-size: 1.5rem;
504
+ line-height: 1.95rem;
505
+ }
506
+ }
507
+ @media screen and (min-width: 768px) {
508
+ .header__description {
509
+ grid-column: 1/span 6;
510
+ }
511
+ }
512
+ .header__link-list {
513
+ display: flex;
514
+ flex-direction: column;
515
+ align-items: start;
516
+ margin-top: 2.25rem;
517
+ gap: 1rem;
518
+ }
519
+ @media screen and (min-width: 768px) {
520
+ .header__link-list {
521
+ margin-top: 0;
522
+ grid-column: 1/span 6;
523
+ }
524
+ }
525
+ @media screen and (min-width: 768px) {
526
+ .header__link-list--with-desc {
527
+ grid-column: 7/span 6;
528
+ }
529
+ }
530
+ .header__campus-selector--mobile {
531
+ margin-top: 1.5rem;
532
+ }
533
+
534
+ /*************************
535
+ ** Breakpoints **
536
+ *************************/
537
+ /*************************
538
+ ** Typography **
539
+ *************************/
540
+ /*************************
541
+ ** Grid **
542
+ *************************/
543
+ /*************************
544
+ ** Accessibility **
545
+ *************************/
546
+ /*************************
547
+ ** Theme **
548
+ *************************/
549
+ /*************************
550
+ ** Layout **
551
+ *************************/
552
+ .signpost.theme-uobmain {
553
+ background: #000;
554
+ color: #fff;
555
+ }
556
+ .signpost.theme-uobmain,
557
+ .signpost.theme-uobmain .signpost__item {
558
+ border-color: #fff;
559
+ }
560
+ .signpost.theme-uobmain--inverse {
561
+ background: #fff;
562
+ color: #000;
563
+ }
564
+ .signpost.theme-uobmain--inverse,
565
+ .signpost.theme-uobmain--inverse .signpost__item {
566
+ border-color: #000;
567
+ }
568
+ .signpost.theme-redexample {
569
+ background: #f00;
570
+ color: #fff;
571
+ }
572
+ .signpost.theme-redexample,
573
+ .signpost.theme-redexample .signpost__item {
574
+ border-color: #fff;
575
+ }
576
+ .signpost.theme-redexample--inverse {
577
+ background: #00f;
578
+ color: #fff;
579
+ }
580
+ .signpost.theme-redexample--inverse,
581
+ .signpost.theme-redexample--inverse .signpost__item {
582
+ border-color: #000;
583
+ }
584
+ .signpost__item {
585
+ display: flex;
586
+ flex-direction: column;
587
+ align-items: start;
588
+ padding: 1.5rem 0 1.625rem;
589
+ border-top: 1.5px solid;
590
+ gap: 1.5rem;
591
+ }
592
+ .signpost__item:first-child {
593
+ border-top: 0;
594
+ }
595
+ @media screen and (min-width: 768px) {
596
+ .signpost__item {
597
+ padding: 0;
598
+ border-top: 0;
599
+ margin: 2.25rem 0;
600
+ grid-column: 1/span 6;
601
+ }
602
+ .signpost__item:first-child {
603
+ padding-right: 3rem;
604
+ }
605
+ .signpost__item:nth-child(2n) {
606
+ padding-left: 3rem;
607
+ border-left: 1.5px solid;
608
+ grid-column: 7/span 6;
609
+ }
610
+ }
611
+ .signpost + .signpost .signpost__item {
612
+ border-top: 1.5px solid;
613
+ }
614
+ @media screen and (min-width: 768px) {
615
+ .signpost + .signpost .signpost__item {
616
+ border-top: 0;
617
+ }
618
+ .signpost + .signpost .signpost__grid {
619
+ border-top: 1.5px solid;
620
+ }
621
+ }
622
+ .signpost__container {
623
+ max-width: 1152px;
624
+ padding: 0 1.5rem;
625
+ margin: 0 auto;
626
+ }
627
+ @media screen and (min-width: 768px) {
628
+ .signpost__container {
629
+ padding: 0 3rem;
630
+ }
631
+ }
632
+ @media screen and (min-width: 1248px) {
633
+ .signpost__container {
634
+ padding: 0;
635
+ }
636
+ }
637
+ .signpost__grid {
638
+ display: flex;
639
+ flex-direction: column;
640
+ }
641
+ @media screen and (min-width: 768px) {
642
+ .signpost__grid {
643
+ display: grid;
644
+ gap: 1.5rem;
645
+ grid-template-columns: repeat(12, 1fr);
646
+ gap: 0;
647
+ }
648
+ }
649
+ .signpost__tag {
650
+ font-family: "Manrope", "Arial", sans-serif;
651
+ font-style: normal;
652
+ font-weight: 400;
653
+ font-size: 0.875rem;
654
+ line-height: 1.225rem;
655
+ }
656
+ @media screen and (min-width: 1248px) {
657
+ .signpost__tag {
658
+ font-size: 1rem;
659
+ line-height: 1.4rem;
660
+ }
661
+ }
662
+ .signpost__title {
663
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
664
+ font-style: normal;
665
+ font-weight: bold;
666
+ font-size: 1.25rem;
667
+ line-height: 1.5rem;
668
+ }
669
+ @media screen and (min-width: 768px) {
670
+ .signpost__title {
671
+ font-size: 1.375rem;
672
+ line-height: 1.65rem;
673
+ }
674
+ }
675
+ @media screen and (min-width: 768px) {
676
+ .signpost__title {
677
+ font-size: 1.875rem;
678
+ line-height: 2.4375rem;
679
+ }
680
+ }
681
+
682
+ /*************************
683
+ ** Breakpoints **
684
+ *************************/
685
+ /*************************
686
+ ** Typography **
687
+ *************************/
688
+ /*************************
689
+ ** Grid **
690
+ *************************/
691
+ /*************************
692
+ ** Accessibility **
693
+ *************************/
694
+ /*************************
695
+ ** Theme **
696
+ *************************/
697
+ /*************************
698
+ ** Layout **
699
+ *************************/
700
+ .icon-button {
701
+ display: flex;
702
+ width: 2.75rem;
703
+ height: 2.75rem;
704
+ align-items: center;
705
+ justify-content: center;
706
+ border-radius: 100%;
707
+ }
708
+ @media screen and (min-width: 768px) {
709
+ .icon-button {
710
+ width: 3rem;
711
+ height: 3rem;
712
+ }
713
+ }
714
+ .icon-button.theme-uobmain {
715
+ border: 2px solid #fff;
716
+ background: #000;
717
+ color: #fff;
718
+ transition: filter 0.3s ease-in;
719
+ }
720
+ .icon-button.theme-uobmain:focus-visible {
721
+ border: 2px solid #dcc266;
722
+ background: #000;
723
+ color: #fff;
724
+ outline: 2px solid #000;
725
+ }
726
+ .icon-button.theme-uobmain:focus-visible path {
727
+ fill: #fff;
728
+ }
729
+ .icon-button.theme-uobmain:hover {
730
+ filter: invert(100%);
731
+ }
732
+ .icon-button.theme-uobmain--inverse {
733
+ border: 2px solid #000;
734
+ background: #fff;
735
+ color: #000;
736
+ }
737
+ .icon-button.theme-uobmain--inverse:focus-visible {
738
+ border: 2px solid #dcc266;
739
+ outline: 2px solid #000;
740
+ }
741
+ .icon-button.theme-redexample {
742
+ border: 2px solid #fff;
743
+ background: #f00;
744
+ color: #fff;
745
+ transition: filter 0.3s ease-in;
746
+ }
747
+ .icon-button.theme-redexample:focus-visible {
748
+ border: 2px solid #dcc266;
749
+ background: #f00;
750
+ color: #fff;
751
+ outline: 2px solid #f00;
752
+ }
753
+ .icon-button.theme-redexample:focus-visible path {
754
+ fill: #fff;
755
+ }
756
+ .icon-button.theme-redexample:hover {
757
+ filter: invert(100%);
758
+ }
759
+ .icon-button.theme-redexample--inverse {
760
+ border: 2px solid #fff;
761
+ background: #00f;
762
+ color: #fff;
763
+ }
764
+ .icon-button.theme-redexample--inverse:focus-visible {
765
+ border: 2px solid #dcc266;
766
+ outline: 2px solid #f00;
767
+ }
768
+
769
+ /*************************
770
+ ** Breakpoints **
771
+ *************************/
772
+ /*************************
773
+ ** Typography **
774
+ *************************/
775
+ /*************************
776
+ ** Grid **
777
+ *************************/
778
+ /*************************
779
+ ** Accessibility **
780
+ *************************/
781
+ /*************************
782
+ ** Theme **
783
+ *************************/
784
+ /*************************
785
+ ** Layout **
786
+ *************************/
787
+ .icon--facebook.theme-uobmain, .icon--twitter.theme-uobmain, .icon--instagram.theme-uobmain, .icon--weibo.theme-uobmain, .icon--wechat.theme-uobmain, .icon--youtube.theme-uobmain, .icon--hamburger.theme-uobmain, .icon--cross.theme-uobmain {
788
+ fill: #fff;
789
+ }
790
+ .icon--facebook.theme-uobmain path, .icon--twitter.theme-uobmain path, .icon--instagram.theme-uobmain path, .icon--weibo.theme-uobmain path, .icon--wechat.theme-uobmain path, .icon--youtube.theme-uobmain path, .icon--hamburger.theme-uobmain path, .icon--cross.theme-uobmain path {
791
+ fill: #fff;
792
+ }
793
+ .icon--facebook.theme-uobmain--inverse, .icon--twitter.theme-uobmain--inverse, .icon--instagram.theme-uobmain--inverse, .icon--weibo.theme-uobmain--inverse, .icon--wechat.theme-uobmain--inverse, .icon--youtube.theme-uobmain--inverse, .icon--hamburger.theme-uobmain--inverse, .icon--cross.theme-uobmain--inverse {
794
+ fill: #000;
795
+ }
796
+ .icon--facebook.theme-uobmain--inverse path, .icon--twitter.theme-uobmain--inverse path, .icon--instagram.theme-uobmain--inverse path, .icon--weibo.theme-uobmain--inverse path, .icon--wechat.theme-uobmain--inverse path, .icon--youtube.theme-uobmain--inverse path, .icon--hamburger.theme-uobmain--inverse path, .icon--cross.theme-uobmain--inverse path {
797
+ fill: #000;
798
+ }
799
+ .icon--facebook.theme-redexample, .icon--twitter.theme-redexample, .icon--instagram.theme-redexample, .icon--weibo.theme-redexample, .icon--wechat.theme-redexample, .icon--youtube.theme-redexample, .icon--hamburger.theme-redexample, .icon--cross.theme-redexample {
800
+ fill: #fff;
801
+ }
802
+ .icon--facebook.theme-redexample path, .icon--twitter.theme-redexample path, .icon--instagram.theme-redexample path, .icon--weibo.theme-redexample path, .icon--wechat.theme-redexample path, .icon--youtube.theme-redexample path, .icon--hamburger.theme-redexample path, .icon--cross.theme-redexample path {
803
+ fill: #fff;
804
+ }
805
+ .icon--facebook.theme-redexample--inverse, .icon--twitter.theme-redexample--inverse, .icon--instagram.theme-redexample--inverse, .icon--weibo.theme-redexample--inverse, .icon--wechat.theme-redexample--inverse, .icon--youtube.theme-redexample--inverse, .icon--hamburger.theme-redexample--inverse, .icon--cross.theme-redexample--inverse {
806
+ fill: #000;
807
+ }
808
+ .icon--facebook.theme-redexample--inverse path, .icon--twitter.theme-redexample--inverse path, .icon--instagram.theme-redexample--inverse path, .icon--weibo.theme-redexample--inverse path, .icon--wechat.theme-redexample--inverse path, .icon--youtube.theme-redexample--inverse path, .icon--hamburger.theme-redexample--inverse path, .icon--cross.theme-redexample--inverse path {
809
+ fill: #fff;
810
+ }
811
+ .icon--chevron-down.theme-uobmain, .icon--arrow-right.theme-uobmain, .icon--arrow-right-large.theme-uobmain, .icon--chevron-right.theme-uobmain, .icon--arrow-left.theme-uobmain {
812
+ stroke: #fff;
813
+ }
814
+ .icon--chevron-down.theme-uobmain path, .icon--arrow-right.theme-uobmain path, .icon--arrow-right-large.theme-uobmain path, .icon--chevron-right.theme-uobmain path, .icon--arrow-left.theme-uobmain path {
815
+ stroke: #fff;
816
+ }
817
+ .icon--chevron-down.theme-uobmain--inverse, .icon--arrow-right.theme-uobmain--inverse, .icon--arrow-right-large.theme-uobmain--inverse, .icon--chevron-right.theme-uobmain--inverse, .icon--arrow-left.theme-uobmain--inverse {
818
+ stroke: #000;
819
+ }
820
+ .icon--chevron-down.theme-uobmain--inverse path, .icon--arrow-right.theme-uobmain--inverse path, .icon--arrow-right-large.theme-uobmain--inverse path, .icon--chevron-right.theme-uobmain--inverse path, .icon--arrow-left.theme-uobmain--inverse path {
821
+ stroke: #000;
822
+ }
823
+ .icon--chevron-down.theme-redexample, .icon--arrow-right.theme-redexample, .icon--arrow-right-large.theme-redexample, .icon--chevron-right.theme-redexample, .icon--arrow-left.theme-redexample {
824
+ stroke: #fff;
825
+ }
826
+ .icon--chevron-down.theme-redexample path, .icon--arrow-right.theme-redexample path, .icon--arrow-right-large.theme-redexample path, .icon--chevron-right.theme-redexample path, .icon--arrow-left.theme-redexample path {
827
+ stroke: #fff;
828
+ }
829
+ .icon--chevron-down.theme-redexample--inverse, .icon--arrow-right.theme-redexample--inverse, .icon--arrow-right-large.theme-redexample--inverse, .icon--chevron-right.theme-redexample--inverse, .icon--arrow-left.theme-redexample--inverse {
830
+ stroke: #000;
831
+ }
832
+ .icon--chevron-down.theme-redexample--inverse path, .icon--arrow-right.theme-redexample--inverse path, .icon--arrow-right-large.theme-redexample--inverse path, .icon--chevron-right.theme-redexample--inverse path, .icon--arrow-left.theme-redexample--inverse path {
833
+ stroke: #000;
834
+ }
835
+
836
+ .image {
837
+ display: block;
838
+ width: 100%;
839
+ height: auto;
840
+ object-fit: cover;
841
+ }
842
+
843
+ /*************************
844
+ ** Breakpoints **
845
+ *************************/
846
+ /*************************
847
+ ** Typography **
848
+ *************************/
849
+ /*************************
850
+ ** Grid **
851
+ *************************/
852
+ /*************************
853
+ ** Accessibility **
854
+ *************************/
855
+ /*************************
856
+ ** Theme **
857
+ *************************/
858
+ /*************************
859
+ ** Layout **
860
+ *************************/
861
+ .link-with-arrow {
862
+ position: relative;
863
+ display: inline-flex;
864
+ align-items: center;
865
+ justify-content: center;
866
+ padding-right: 1.5rem;
867
+ border-bottom: 2px solid transparent;
868
+ text-decoration: none;
869
+ transition: all 0.3s ease-in;
870
+ font-family: "Manrope", "Arial", sans-serif;
871
+ font-style: normal;
872
+ font-weight: bold;
873
+ font-size: 1rem;
874
+ line-height: 1.4rem;
875
+ }
876
+ @media screen and (min-width: 1248px) {
877
+ .link-with-arrow {
878
+ font-size: 1.125rem;
879
+ line-height: 1.575rem;
880
+ }
881
+ }
882
+ .link-with-arrow.lock-scroll {
883
+ overflow: hidden;
884
+ }
885
+ .link-with-arrow::before {
886
+ position: absolute;
887
+ top: 50%;
888
+ left: -1.25rem;
889
+ width: 0.875rem;
890
+ content: "•";
891
+ opacity: 0;
892
+ transform: translateY(-50%);
893
+ transition: all 0.3s ease-in;
894
+ }
895
+ .link-with-arrow__icon {
896
+ position: absolute;
897
+ width: 1.0625rem;
898
+ height: 1.5rem;
899
+ flex-shrink: 0;
900
+ margin-top: 0.125rem;
901
+ margin-left: 0.375rem;
902
+ transition: all 0.3s ease-in;
903
+ }
904
+ .link-with-arrow__icon path:first-child {
905
+ transition: transform 0.3s ease-in;
906
+ }
907
+ .link-with-arrow__icon path:nth-child(2) {
908
+ transition: transform 0.5s ease-in;
909
+ }
910
+ .link-with-arrow__icon svg {
911
+ width: 100%;
912
+ height: 100%;
913
+ object-fit: cover;
914
+ }
915
+ .link-with-arrow__title {
916
+ position: relative;
917
+ text-decoration: underline;
918
+ text-decoration-thickness: 1.5px;
919
+ text-underline-offset: 5px;
920
+ }
921
+ .link-with-arrow:hover {
922
+ transform: translateX(1.25rem);
923
+ }
924
+ .link-with-arrow:hover::before {
925
+ opacity: 1;
926
+ }
927
+ .link-with-arrow:hover .link-with-arrow__icon path:first-child {
928
+ transform: scaleX(2);
929
+ transition: transform 0.5s ease-in;
930
+ }
931
+ .link-with-arrow:hover .link-with-arrow__icon path:nth-child(2) {
932
+ transform: translateX(5px);
933
+ transition: transform 0.3s ease-in;
934
+ }
935
+ .link-with-arrow.theme-uobmain {
936
+ background: #000;
937
+ color: #fff;
938
+ }
939
+ .link-with-arrow.theme-uobmain:focus-visible {
940
+ border-bottom: 2px solid #000;
941
+ background: #dcc266;
942
+ color: #000;
943
+ }
944
+ .link-with-arrow.theme-uobmain:focus-visible .link-with-arrow__title {
945
+ text-decoration-color: transparent;
946
+ }
947
+ .link-with-arrow.theme-uobmain:focus-visible path {
948
+ stroke: #000;
949
+ }
950
+ .link-with-arrow.theme-uobmain--inverse {
951
+ background: #fff;
952
+ color: #000;
953
+ }
954
+ .link-with-arrow.theme-uobmain--inverse:focus-visible {
955
+ background: #dcc266;
956
+ }
957
+ .link-with-arrow.theme-redexample {
958
+ background: #f00;
959
+ color: #fff;
960
+ }
961
+ .link-with-arrow.theme-redexample:focus-visible {
962
+ border-bottom: 2px solid #000;
963
+ background: #dcc266;
964
+ color: #000;
965
+ }
966
+ .link-with-arrow.theme-redexample:focus-visible .link-with-arrow__title {
967
+ text-decoration-color: transparent;
968
+ }
969
+ .link-with-arrow.theme-redexample:focus-visible path {
970
+ stroke: #f00;
971
+ }
972
+ .link-with-arrow.theme-redexample--inverse {
973
+ background: #00f;
974
+ color: #fff;
975
+ }
976
+ .link-with-arrow.theme-redexample--inverse:focus-visible {
977
+ background: #dcc266;
978
+ }
979
+
980
+ /*************************
981
+ ** Breakpoints **
982
+ *************************/
983
+ /*************************
984
+ ** Typography **
985
+ *************************/
986
+ /*************************
987
+ ** Grid **
988
+ *************************/
989
+ /*************************
990
+ ** Accessibility **
991
+ *************************/
992
+ /*************************
993
+ ** Theme **
994
+ *************************/
995
+ /*************************
996
+ ** Layout **
997
+ *************************/
998
+ .link-standard {
999
+ display: inline-flex;
1000
+ align-items: center;
1001
+ justify-content: center;
1002
+ text-decoration: none;
1003
+ transition: all 0.3s ease-in;
1004
+ }
1005
+ .link-standard.theme-uobmain {
1006
+ border-bottom: 2px solid transparent;
1007
+ color: #fff;
1008
+ }
1009
+ .link-standard.theme-uobmain:focus-visible {
1010
+ border-bottom: 2px solid #000;
1011
+ background: #dcc266;
1012
+ color: #000;
1013
+ }
1014
+ .link-standard.theme-uobmain:hover {
1015
+ border-bottom: 2px solid #fff;
1016
+ }
1017
+ .link-standard.theme-uobmain--inverse {
1018
+ color: #000;
1019
+ }
1020
+ .link-standard.theme-uobmain--inverse:hover {
1021
+ border-bottom: 2px solid #000;
1022
+ }
1023
+ .link-standard.theme-redexample {
1024
+ border-bottom: 2px solid transparent;
1025
+ color: #fff;
1026
+ }
1027
+ .link-standard.theme-redexample:focus-visible {
1028
+ border-bottom: 2px solid #000;
1029
+ background: #dcc266;
1030
+ color: #fff;
1031
+ }
1032
+ .link-standard.theme-redexample:hover {
1033
+ border-bottom: 2px solid #fff;
1034
+ }
1035
+ .link-standard.theme-redexample--inverse {
1036
+ color: #fff;
1037
+ }
1038
+ .link-standard.theme-redexample--inverse:hover {
1039
+ border-bottom: 2px solid #000;
1040
+ }
1041
+
1042
+ /*************************
1043
+ ** Breakpoints **
1044
+ *************************/
1045
+ /*************************
1046
+ ** Typography **
1047
+ *************************/
1048
+ /*************************
1049
+ ** Grid **
1050
+ *************************/
1051
+ /*************************
1052
+ ** Accessibility **
1053
+ *************************/
1054
+ /*************************
1055
+ ** Theme **
1056
+ *************************/
1057
+ /*************************
1058
+ ** Layout **
1059
+ *************************/
1060
+ .campus-selector.theme-uobmain {
1061
+ background: #000;
1062
+ color: #fff;
1063
+ }
1064
+ .campus-selector.theme-redexample {
1065
+ background: #f00;
1066
+ color: #fff;
1067
+ }
1068
+ .campus-selector__container {
1069
+ max-width: 1152px;
1070
+ padding: 0 1.5rem;
1071
+ margin: 0 auto;
1072
+ display: flex;
1073
+ align-items: center;
1074
+ gap: 0.625rem;
1075
+ }
1076
+ @media screen and (min-width: 768px) {
1077
+ .campus-selector__container {
1078
+ padding: 0 3rem;
1079
+ }
1080
+ }
1081
+ @media screen and (min-width: 1248px) {
1082
+ .campus-selector__container {
1083
+ padding: 0;
1084
+ }
1085
+ }
1086
+ @media screen and (min-width: 768px) {
1087
+ .campus-selector__container {
1088
+ justify-content: flex-end;
1089
+ padding-top: 1.0625rem;
1090
+ padding-bottom: 1.0625rem;
1091
+ gap: 1rem;
1092
+ }
1093
+ }
1094
+ @media screen and (min-width: 1248px) {
1095
+ .campus-selector__container {
1096
+ gap: 1.5rem;
1097
+ }
1098
+ }
1099
+ .campus-selector--desktop {
1100
+ display: none;
1101
+ }
1102
+ @media screen and (min-width: 768px) {
1103
+ .campus-selector--desktop {
1104
+ display: block;
1105
+ }
1106
+ }
1107
+ @media screen and (min-width: 768px) {
1108
+ .campus-selector--mobile {
1109
+ display: none;
1110
+ }
1111
+ }
1112
+
1113
+ /*************************
1114
+ ** Breakpoints **
1115
+ *************************/
1116
+ /*************************
1117
+ ** Typography **
1118
+ *************************/
1119
+ /*************************
1120
+ ** Grid **
1121
+ *************************/
1122
+ /*************************
1123
+ ** Accessibility **
1124
+ *************************/
1125
+ /*************************
1126
+ ** Theme **
1127
+ *************************/
1128
+ /*************************
1129
+ ** Layout **
1130
+ *************************/
1131
+ .nav-link {
1132
+ position: relative;
1133
+ text-decoration: none;
1134
+ text-decoration-color: transparent;
1135
+ transition: all 0.3s ease-in;
1136
+ }
1137
+ .nav-link:hover {
1138
+ text-decoration: underline;
1139
+ text-decoration-color: inherit;
1140
+ text-decoration-thickness: 1.5px;
1141
+ text-underline-offset: 7px;
1142
+ }
1143
+ @media screen and (min-width: 768px) {
1144
+ .nav-link:hover {
1145
+ text-underline-offset: 10px;
1146
+ }
1147
+ }
1148
+ .nav-link__icon {
1149
+ position: absolute;
1150
+ transition: all 0.3s ease-in;
1151
+ }
1152
+ .nav-link__icon svg {
1153
+ overflow: visible;
1154
+ width: 100%;
1155
+ height: 100%;
1156
+ object-fit: cover;
1157
+ }
1158
+ .nav-link--level-one {
1159
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
1160
+ font-style: normal;
1161
+ font-weight: 400;
1162
+ font-size: 1.75rem;
1163
+ line-height: 2.1rem;
1164
+ padding-right: 1.875rem;
1165
+ }
1166
+ @media screen and (min-width: 768px) {
1167
+ .nav-link--level-one {
1168
+ font-size: 2.25rem;
1169
+ line-height: 2.25rem;
1170
+ }
1171
+ }
1172
+ @media screen and (min-width: 1248px) {
1173
+ .nav-link--level-one {
1174
+ font-size: 3rem;
1175
+ line-height: 3.6rem;
1176
+ }
1177
+ }
1178
+ .nav-link--level-one .nav-link__icon {
1179
+ width: 0.75rem;
1180
+ height: 1.125rem;
1181
+ margin-left: 0.375rem;
1182
+ }
1183
+ @media screen and (min-width: 768px) {
1184
+ .nav-link--level-one .nav-link__icon {
1185
+ width: 0.875rem;
1186
+ height: 1.4375rem;
1187
+ margin-left: 0.625rem;
1188
+ }
1189
+ }
1190
+ @media screen and (min-width: 1248px) {
1191
+ .nav-link--level-one .nav-link__icon {
1192
+ width: 0.9375rem;
1193
+ height: 1.625rem;
1194
+ }
1195
+ }
1196
+ .nav-link--level-two {
1197
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
1198
+ font-style: normal;
1199
+ font-weight: 400;
1200
+ font-size: 1.5rem;
1201
+ line-height: 1.8rem;
1202
+ padding-right: 1rem;
1203
+ }
1204
+ @media screen and (min-width: 768px) {
1205
+ .nav-link--level-two {
1206
+ font-size: 1.75rem;
1207
+ line-height: 2.1rem;
1208
+ }
1209
+ }
1210
+ @media screen and (min-width: 1248px) {
1211
+ .nav-link--level-two {
1212
+ font-size: 2.25rem;
1213
+ line-height: 2.7rem;
1214
+ }
1215
+ }
1216
+ @media screen and (min-width: 768px) {
1217
+ .nav-link--level-two {
1218
+ padding-right: 1.5rem;
1219
+ }
1220
+ }
1221
+ .nav-link--level-two .nav-link__icon {
1222
+ width: 0.4375rem;
1223
+ height: 0.875rem;
1224
+ margin-left: 0.375rem;
1225
+ }
1226
+ @media screen and (min-width: 768px) {
1227
+ .nav-link--level-two .nav-link__icon {
1228
+ width: 0.625rem;
1229
+ height: 1rem;
1230
+ margin-left: 0.625rem;
1231
+ }
1232
+ }
1233
+ .nav-link.theme-uobmain {
1234
+ background: #000;
1235
+ color: #fff;
1236
+ }
1237
+ .nav-link.theme-uobmain:focus-visible {
1238
+ background: #dcc266;
1239
+ color: #000;
1240
+ transition: none;
1241
+ }
1242
+ .nav-link.theme-uobmain:focus-visible path {
1243
+ stroke: #000;
1244
+ }
1245
+ .nav-link.theme-uobmain--inverse {
1246
+ background: #fff;
1247
+ color: #000;
1248
+ }
1249
+ .nav-link.theme-uobmain--inverse:focus-visible {
1250
+ background: #dcc266;
1251
+ }
1252
+ .nav-link.theme-redexample {
1253
+ background: #f00;
1254
+ color: #fff;
1255
+ }
1256
+ .nav-link.theme-redexample:focus-visible {
1257
+ background: #dcc266;
1258
+ color: #f00;
1259
+ transition: none;
1260
+ }
1261
+ .nav-link.theme-redexample:focus-visible path {
1262
+ stroke: #f00;
1263
+ }
1264
+ .nav-link.theme-redexample--inverse {
1265
+ background: #00f;
1266
+ color: #fff;
1267
+ }
1268
+ .nav-link.theme-redexample--inverse:focus-visible {
1269
+ background: #dcc266;
1270
+ }
1271
+
1272
+ /*************************
1273
+ ** Breakpoints **
1274
+ *************************/
1275
+ /*************************
1276
+ ** Typography **
1277
+ *************************/
1278
+ /*************************
1279
+ ** Grid **
1280
+ *************************/
1281
+ /*************************
1282
+ ** Accessibility **
1283
+ *************************/
1284
+ /*************************
1285
+ ** Theme **
1286
+ *************************/
1287
+ /*************************
1288
+ ** Layout **
1289
+ *************************/
1290
+ .page-link {
1291
+ position: relative;
1292
+ display: inline-flex;
1293
+ align-items: center;
1294
+ justify-content: center;
1295
+ text-decoration: none;
1296
+ text-decoration-color: transparent;
1297
+ transition: all 0.3s ease-in;
1298
+ }
1299
+ .page-link--level-one {
1300
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
1301
+ font-style: normal;
1302
+ font-weight: 400;
1303
+ font-size: 1.75rem;
1304
+ line-height: 2.1rem;
1305
+ }
1306
+ @media screen and (min-width: 768px) {
1307
+ .page-link--level-one {
1308
+ font-size: 2.25rem;
1309
+ line-height: 2.25rem;
1310
+ }
1311
+ }
1312
+ @media screen and (min-width: 1248px) {
1313
+ .page-link--level-one {
1314
+ font-size: 3rem;
1315
+ line-height: 3.6rem;
1316
+ }
1317
+ }
1318
+ .page-link--level-two {
1319
+ font-family: "CanelaDeck", "Times New Roman", "Times", serif;
1320
+ font-style: normal;
1321
+ font-weight: 400;
1322
+ font-size: 1.5rem;
1323
+ line-height: 1.8rem;
1324
+ }
1325
+ @media screen and (min-width: 768px) {
1326
+ .page-link--level-two {
1327
+ font-size: 1.75rem;
1328
+ line-height: 2.1rem;
1329
+ }
1330
+ }
1331
+ @media screen and (min-width: 1248px) {
1332
+ .page-link--level-two {
1333
+ font-size: 2.25rem;
1334
+ line-height: 2.7rem;
1335
+ }
1336
+ }
1337
+ .page-link.theme-uobmain {
1338
+ background: #000;
1339
+ color: #fff;
1340
+ }
1341
+ .page-link.theme-uobmain:focus-visible {
1342
+ background: #dcc266;
1343
+ color: #000;
1344
+ }
1345
+ .page-link.theme-uobmain--inverse {
1346
+ background: #fff;
1347
+ color: #000;
1348
+ }
1349
+ .page-link.theme-uobmain--inverse:focus-visible {
1350
+ background: #dcc266;
1351
+ }
1352
+ .page-link.theme-redexample {
1353
+ background: #f00;
1354
+ color: #fff;
1355
+ }
1356
+ .page-link.theme-redexample:focus-visible {
1357
+ background: #dcc266;
1358
+ color: #f00;
1359
+ }
1360
+ .page-link.theme-redexample--inverse {
1361
+ background: #00f;
1362
+ color: #fff;
1363
+ }
1364
+ .page-link.theme-redexample--inverse:focus-visible {
1365
+ background: #dcc266;
1366
+ }
1367
+ .page-link:hover {
1368
+ text-decoration: underline;
1369
+ text-decoration-color: inherit;
1370
+ text-decoration-thickness: 1.5px;
1371
+ text-underline-offset: 7px;
1372
+ }
1373
+ @media screen and (min-width: 768px) {
1374
+ .page-link:hover {
1375
+ text-underline-offset: 10px;
1376
+ }
1377
+ }
1378
+
1379
+ /*************************
1380
+ ** Breakpoints **
1381
+ *************************/
1382
+ /*************************
1383
+ ** Typography **
1384
+ *************************/
1385
+ /*************************
1386
+ ** Grid **
1387
+ *************************/
1388
+ /*************************
1389
+ ** Accessibility **
1390
+ *************************/
1391
+ /*************************
1392
+ ** Theme **
1393
+ *************************/
1394
+ /*************************
1395
+ ** Layout **
1396
+ *************************/
1397
+ .reverse-link-with-arrow {
1398
+ position: relative;
1399
+ display: inline-flex;
1400
+ align-items: center;
1401
+ justify-content: center;
1402
+ padding-left: 1.25rem;
1403
+ border-bottom: 2px solid transparent;
1404
+ text-decoration: none;
1405
+ transition: all 0.3s ease-in;
1406
+ font-family: "Manrope", "Arial", sans-serif;
1407
+ font-style: normal;
1408
+ font-weight: bold;
1409
+ font-size: 1rem;
1410
+ line-height: 1.4rem;
1411
+ }
1412
+ @media screen and (min-width: 1248px) {
1413
+ .reverse-link-with-arrow {
1414
+ font-size: 1.125rem;
1415
+ line-height: 1.575rem;
1416
+ }
1417
+ }
1418
+ .reverse-link-with-arrow.lock-scroll {
1419
+ overflow: hidden;
1420
+ }
1421
+ .reverse-link-with-arrow::after {
1422
+ position: absolute;
1423
+ top: 50%;
1424
+ right: -1.25rem;
1425
+ width: 0.875rem;
1426
+ content: "•";
1427
+ opacity: 0;
1428
+ transform: translateY(-50%);
1429
+ transition: all 0.3s ease-in;
1430
+ }
1431
+ .reverse-link-with-arrow__icon {
1432
+ position: absolute;
1433
+ left: -1.25rem;
1434
+ width: 0.75rem;
1435
+ height: 0.625rem;
1436
+ flex-shrink: 0;
1437
+ transition: all 0.3s ease-in;
1438
+ }
1439
+ .reverse-link-with-arrow__icon path:first-child {
1440
+ transform-origin: right;
1441
+ transition: transform 0.3s ease-in;
1442
+ }
1443
+ .reverse-link-with-arrow__icon path:nth-child(2) {
1444
+ transition: transform 0.3s ease-in;
1445
+ }
1446
+ .reverse-link-with-arrow__icon svg {
1447
+ overflow: visible;
1448
+ width: 100%;
1449
+ height: 100%;
1450
+ object-fit: cover;
1451
+ }
1452
+ .reverse-link-with-arrow__title {
1453
+ position: relative;
1454
+ text-decoration: underline;
1455
+ text-decoration-thickness: 1.5px;
1456
+ text-underline-offset: 5px;
1457
+ }
1458
+ .reverse-link-with-arrow:hover {
1459
+ transform: translateX(-1.25rem);
1460
+ }
1461
+ .reverse-link-with-arrow:hover::after {
1462
+ opacity: 1;
1463
+ }
1464
+ .reverse-link-with-arrow:hover .reverse-link-with-arrow__icon path:first-child {
1465
+ transform: scaleX(1.3);
1466
+ }
1467
+ .reverse-link-with-arrow:hover .reverse-link-with-arrow__icon path:nth-child(2) {
1468
+ transform: translateX(-5px);
1469
+ }
1470
+ .reverse-link-with-arrow.theme-uobmain {
1471
+ background: #000;
1472
+ color: #fff;
1473
+ }
1474
+ .reverse-link-with-arrow.theme-uobmain:focus-visible {
1475
+ border-bottom: 2px solid #000;
1476
+ background: #dcc266;
1477
+ color: #000;
1478
+ }
1479
+ .reverse-link-with-arrow.theme-uobmain:focus-visible .reverse-link-with-arrow__title {
1480
+ text-decoration-color: transparent;
1481
+ }
1482
+ .reverse-link-with-arrow.theme-uobmain:focus-visible path {
1483
+ stroke: #000;
1484
+ }
1485
+ .reverse-link-with-arrow.theme-uobmain--inverse {
1486
+ background: #fff;
1487
+ color: #000;
1488
+ }
1489
+ .reverse-link-with-arrow.theme-uobmain--inverse:focus-visible {
1490
+ background: #dcc266;
1491
+ }
1492
+ .reverse-link-with-arrow.theme-redexample {
1493
+ background: #f00;
1494
+ color: #fff;
1495
+ }
1496
+ .reverse-link-with-arrow.theme-redexample:focus-visible {
1497
+ border-bottom: 2px solid #f00;
1498
+ background: #dcc266;
1499
+ color: #f00;
1500
+ }
1501
+ .reverse-link-with-arrow.theme-redexample:focus-visible .reverse-link-with-arrow__title {
1502
+ text-decoration-color: transparent;
1503
+ }
1504
+ .reverse-link-with-arrow.theme-redexample:focus-visible path {
1505
+ stroke: #f00;
1506
+ }
1507
+ .reverse-link-with-arrow.theme-redexample--inverse {
1508
+ background: #00f;
1509
+ color: #fff;
1510
+ }
1511
+ .reverse-link-with-arrow.theme-redexample--inverse:focus-visible {
1512
+ background: #dcc266;
1513
+ }
1514
+
1515
+ /*************************
1516
+ ** Breakpoints **
1517
+ *************************/
1518
+ /*************************
1519
+ ** Typography **
1520
+ *************************/
1521
+ /*************************
1522
+ ** Grid **
1523
+ *************************/
1524
+ /*************************
1525
+ ** Accessibility **
1526
+ *************************/
1527
+ /*************************
1528
+ ** Theme **
1529
+ *************************/
1530
+ /*************************
1531
+ ** Layout **
1532
+ *************************/
1533
+ .text-button {
1534
+ padding: 0.6875rem 1.5rem;
1535
+ border-radius: 3.75rem;
1536
+ text-decoration: none;
1537
+ transition: all 0.2s ease-in;
1538
+ font-family: "Manrope", "Arial", sans-serif;
1539
+ font-style: normal;
1540
+ font-weight: bold;
1541
+ font-size: 0.875rem;
1542
+ line-height: 1.225rem;
1543
+ }
1544
+ .text-button.theme-uobmain {
1545
+ border: 2px solid #000;
1546
+ background: #000;
1547
+ color: #fff;
1548
+ }
1549
+ .text-button.theme-uobmain:hover {
1550
+ background: none;
1551
+ color: #000;
1552
+ }
1553
+ .text-button.theme-uobmain--inverse {
1554
+ border: 2px solid #fff;
1555
+ background: #fff;
1556
+ color: #000;
1557
+ }
1558
+ .text-button.theme-uobmain--inverse:hover {
1559
+ background: none;
1560
+ color: #fff;
1561
+ }
1562
+ .text-button.theme-uobmain:focus-visible {
1563
+ border: 2px solid #dcc266;
1564
+ background: #000;
1565
+ color: #fff;
1566
+ outline: 2px solid #000;
1567
+ }
1568
+ .text-button.theme-redexample {
1569
+ border: 2px solid #f00;
1570
+ background: #f00;
1571
+ color: #fff;
1572
+ }
1573
+ .text-button.theme-redexample:hover {
1574
+ background: none;
1575
+ color: #f00;
1576
+ }
1577
+ .text-button.theme-redexample--inverse {
1578
+ border: 2px solid #00f;
1579
+ background: #00f;
1580
+ color: #fff;
1581
+ }
1582
+ .text-button.theme-redexample--inverse:hover {
1583
+ background: none;
1584
+ color: #00f;
1585
+ }
1586
+ .text-button.theme-redexample:focus-visible {
1587
+ border: 2px solid #dcc266;
1588
+ background: #f00;
1589
+ color: #fff;
1590
+ outline: 2px solid #f00;
1591
+ }
1592
+ .text-button--hollow.theme-uobmain {
1593
+ background: none;
1594
+ color: #000;
1595
+ }
1596
+ .text-button--hollow.theme-uobmain:hover {
1597
+ background: #000;
1598
+ color: #fff;
1599
+ }
1600
+ .text-button--hollow.theme-uobmain--inverse {
1601
+ background: none;
1602
+ color: #fff;
1603
+ }
1604
+ .text-button--hollow.theme-uobmain--inverse:hover {
1605
+ background: #fff;
1606
+ color: #000;
1607
+ }
1608
+ .text-button--hollow.theme-redexample {
1609
+ background: none;
1610
+ color: #f00;
1611
+ }
1612
+ .text-button--hollow.theme-redexample:hover {
1613
+ background: #f00;
1614
+ color: #fff;
1615
+ }
1616
+ .text-button--hollow.theme-redexample--inverse {
1617
+ background: none;
1618
+ color: #00f;
1619
+ }
1620
+ .text-button--hollow.theme-redexample--inverse:hover {
1621
+ background: #00f;
1622
+ color: #fff;
1623
+ }
1624
+ @media screen and (min-width: 1248px) {
1625
+ .text-button {
1626
+ font-size: 1rem;
1627
+ line-height: 1.4rem;
1628
+ }
1629
+ }
1630
+ @media screen and (min-width: 1248px) {
1631
+ .text-button {
1632
+ padding: 1rem 2.25rem;
1633
+ }
1634
+ }
1635
+
1636
+ /*************************
1637
+ ** Breakpoints **
1638
+ *************************/
1639
+ /*************************
1640
+ ** Typography **
1641
+ *************************/
1642
+ /*************************
1643
+ ** Grid **
1644
+ *************************/
1645
+ /*************************
1646
+ ** Accessibility **
1647
+ *************************/
1648
+ /*************************
1649
+ ** Theme **
1650
+ *************************/
1651
+ /*************************
1652
+ ** Layout **
1653
+ *************************/
1654
+ .campus-selector-link {
1655
+ padding-bottom: 0.0625rem;
1656
+ text-decoration: underline;
1657
+ text-decoration-color: transparent;
1658
+ text-decoration-thickness: 0.125rem;
1659
+ text-underline-offset: 0.3125rem;
1660
+ transition: all 0.2s ease-in;
1661
+ font-family: "Manrope", "Arial", sans-serif;
1662
+ font-style: normal;
1663
+ font-weight: bold;
1664
+ font-size: 1rem;
1665
+ line-height: 1.4rem;
1666
+ }
1667
+ .campus-selector-link.theme-uobmain {
1668
+ background: #000;
1669
+ color: #fff;
1670
+ }
1671
+ .campus-selector-link.theme-uobmain:hover {
1672
+ background: #58595b;
1673
+ }
1674
+ .campus-selector-link.theme-uobmain:focus-visible {
1675
+ background: #dcc266;
1676
+ color: #000;
1677
+ }
1678
+ .campus-selector-link.theme-redexample {
1679
+ background: #f00;
1680
+ color: #fff;
1681
+ }
1682
+ .campus-selector-link.theme-redexample:hover {
1683
+ background: #fff;
1684
+ }
1685
+ .campus-selector-link.theme-redexample:focus-visible {
1686
+ background: #dcc266;
1687
+ color: #000;
1688
+ }
1689
+ @media screen and (min-width: 1248px) {
1690
+ .campus-selector-link {
1691
+ font-size: 1.125rem;
1692
+ line-height: 1.575rem;
1693
+ }
1694
+ }
1695
+ .campus-selector-link.lock-scroll {
1696
+ overflow: hidden;
1697
+ }
1698
+ .campus-selector-link--active {
1699
+ text-decoration-color: currentcolor;
1700
+ }
1701
+
1702
+ /*************************
1703
+ ** Breakpoints **
1704
+ *************************/
1705
+ /*************************
1706
+ ** Typography **
1707
+ *************************/
1708
+ /*************************
1709
+ ** Grid **
1710
+ *************************/
1711
+ /*************************
1712
+ ** Accessibility **
1713
+ *************************/
1714
+ /*************************
1715
+ ** Theme **
1716
+ *************************/
1717
+ /*************************
1718
+ ** Layout **
1719
+ *************************/
1720
+ html,
1721
+ body {
1722
+ width: 100%;
1723
+ height: 100%;
1724
+ padding: 0;
1725
+ margin: 0;
1726
+ }
1727
+
1728
+ html {
1729
+ box-sizing: border-box;
1730
+ font-size: 16px;
1731
+ }
1732
+
1733
+ body {
1734
+ font-family: "Manrope", "Arial", sans-serif;
1735
+ font-style: normal;
1736
+ font-weight: 400;
1737
+ font-size: 1rem;
1738
+ line-height: 1.4rem;
1739
+ -webkit-font-smoothing: antialiased;
1740
+ -moz-osx-font-smoothing: grayscale;
1741
+ overflow-x: hidden;
1742
+ }
1743
+ @media screen and (min-width: 1248px) {
1744
+ body {
1745
+ font-size: 1.125rem;
1746
+ line-height: 1.575rem;
1747
+ }
1748
+ }
1749
+ body.lock-scroll {
1750
+ overflow: hidden;
1751
+ }
1752
+
1753
+ *,
1754
+ *::before,
1755
+ *::after {
1756
+ box-sizing: inherit;
1757
+ }
1758
+
1759
+ body,
1760
+ h1,
1761
+ h2,
1762
+ h3,
1763
+ h4,
1764
+ h5,
1765
+ h6,
1766
+ p,
1767
+ ol,
1768
+ ul {
1769
+ padding: 0;
1770
+ margin: 0;
1771
+ font-weight: normal;
1772
+ }
1773
+
1774
+ ol,
1775
+ ul {
1776
+ list-style: none;
1777
+ }
1778
+
1779
+ button {
1780
+ padding: 0;
1781
+ border: 0;
1782
+ appearance: none;
1783
+ background-color: transparent;
1784
+ outline: none;
1785
+ }
1786
+
1787
+ a {
1788
+ color: inherit;
1789
+ outline: none;
1790
+ }
1791
+
1792
+ button,
1793
+ a {
1794
+ color: inherit;
1795
+ cursor: pointer;
1796
+ }
1797
+
1798
+ blockquote {
1799
+ margin: 0;
1800
+ }
1801
+
1802
+ figure {
1803
+ margin: 0;
1804
+ }
1805
+
1806
+ .sr-only {
1807
+ position: absolute;
1808
+ top: auto;
1809
+ left: -10000px;
1810
+ overflow: hidden;
1811
+ width: 1px;
1812
+ height: 1px;
1813
+ font-size: 1rem;
1814
+ }
1815
+
1816
+ ::selection.theme-uobmain {
1817
+ background: #dcc266;
1818
+ }
1819
+ ::selection.theme-redexample {
1820
+ background: #dcc266;
1821
+ }
1822
+
1823
+ /*************************
1824
+ ** Breakpoints **
1825
+ *************************/
1826
+ /*************************
1827
+ ** Typography **
1828
+ *************************/
1829
+ /*************************
1830
+ ** Grid **
1831
+ *************************/
1832
+ /*************************
1833
+ ** Accessibility **
1834
+ *************************/
1835
+ /*************************
1836
+ ** Theme **
1837
+ *************************/
1838
+ /*************************
1839
+ ** Layout **
1840
+ *************************/
1841
+ .skip-to-content {
1842
+ position: relative;
1843
+ width: 100%;
1844
+ }
1845
+ .skip-to-content.theme-uobmain {
1846
+ background: #dcc266;
1847
+ }
1848
+ .skip-to-content.theme-redexample {
1849
+ background: #dcc266;
1850
+ }
1851
+ .skip-to-content__link {
1852
+ position: absolute;
1853
+ top: 0;
1854
+ left: -1000px;
1855
+ display: block;
1856
+ padding: 0.625rem 1.5rem;
1857
+ font-family: "Manrope", "Arial", sans-serif;
1858
+ font-style: normal;
1859
+ font-weight: 400;
1860
+ font-size: 1rem;
1861
+ line-height: 1.4rem;
1862
+ }
1863
+ @media screen and (min-width: 1248px) {
1864
+ .skip-to-content__link {
1865
+ font-size: 1.125rem;
1866
+ line-height: 1.575rem;
1867
+ }
1868
+ }
1869
+ .skip-to-content__link.lock-scroll {
1870
+ overflow: hidden;
1871
+ }
1872
+ @media screen and (min-width: 768px) {
1873
+ .skip-to-content__link {
1874
+ padding: 0.625rem 3rem;
1875
+ }
1876
+ }
1877
+ @media screen and (min-width: 1248px) {
1878
+ .skip-to-content__link {
1879
+ padding: 0.625rem 1rem;
1880
+ }
1881
+ }
1882
+ .skip-to-content__link:focus {
1883
+ position: static;
1884
+ }