@royaloperahouse/harmonic 0.19.0 → 0.19.1-b

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +907 -0
  2. package/README.md +267 -43
  3. package/dist/components/atoms/Dropdown/Dropdown.d.ts +1 -1
  4. package/dist/components/atoms/Icons/StorybookSupport/Iconography.d.ts +2 -10
  5. package/dist/components/atoms/Icons/StorybookSupport/Iconography.types.d.ts +10 -0
  6. package/dist/components/atoms/Tab/Tab.d.ts +1 -1
  7. package/dist/components/atoms/TextLogo/TextLogo.d.ts +3 -10
  8. package/dist/components/atoms/TextLogo/TextLogo.types.d.ts +10 -0
  9. package/dist/components/atoms/index.d.ts +7 -2
  10. package/dist/components/index.d.ts +4 -4
  11. package/dist/components/molecules/BodyContent/BodyContent.d.ts +1 -4
  12. package/dist/components/molecules/BodyContent/BodyContent.types.d.ts +4 -0
  13. package/dist/components/molecules/Information/InfoCta.types.d.ts +11 -0
  14. package/dist/components/molecules/PageHeading/Compact/Compact.types.d.ts +14 -0
  15. package/dist/components/molecules/PageHeading/Compact/components/CompactHeaderBranding.d.ts +1 -7
  16. package/dist/components/molecules/PageHeading/Compact/components/CompactHeaderBranding.types.d.ts +7 -0
  17. package/dist/components/molecules/PageHeading/Promo/components/Badge.d.ts +2 -8
  18. package/dist/components/molecules/PageHeading/Promo/components/Badge.types.d.ts +7 -0
  19. package/dist/components/molecules/PageHeading/Promo/components/Button.d.ts +2 -8
  20. package/dist/components/molecules/PageHeading/Promo/components/Button.types.d.ts +7 -0
  21. package/dist/components/molecules/Pagination/Pagination.d.ts +2 -13
  22. package/dist/components/molecules/Pagination/Pagination.types.d.ts +13 -0
  23. package/dist/components/molecules/Paywall/Paywall.styles.d.ts +1 -4
  24. package/dist/components/molecules/PromoWithTitle/PromoChild.d.ts +2 -7
  25. package/dist/components/molecules/PromoWithTitle/PromoChild.types.d.ts +7 -0
  26. package/dist/components/molecules/Select2/Select2.d.ts +1 -3
  27. package/dist/components/molecules/Select2/Select2.types.d.ts +6 -0
  28. package/dist/components/molecules/SignUpForm/components/SignUpFormButton.d.ts +2 -6
  29. package/dist/components/molecules/SignUpForm/components/SignUpFormButton.types.d.ts +6 -0
  30. package/dist/components/molecules/SkipToMain/SkipToMain.style.d.ts +1 -1
  31. package/dist/components/molecules/Swipe/Swipe.d.ts +3 -6
  32. package/dist/components/molecules/Swipe/Swipe.types.d.ts +17 -0
  33. package/dist/components/molecules/Table/Table.style.d.ts +1 -1
  34. package/dist/components/molecules/Table/components/HeaderCells.d.ts +1 -4
  35. package/dist/components/molecules/Table/components/HeaderCells.types.d.ts +5 -0
  36. package/dist/components/molecules/index.d.ts +10 -3
  37. package/dist/components/organisms/Carousels/HighlightsCarousel/components/Buttons.d.ts +2 -3
  38. package/dist/components/organisms/Carousels/HighlightsCarousel/components/Buttons.types.d.ts +2 -0
  39. package/dist/components/organisms/Carousels/HighlightsCarousel/components/InfoSection.d.ts +3 -9
  40. package/dist/components/organisms/Carousels/HighlightsCarousel/components/InfoSection.types.d.ts +8 -0
  41. package/dist/components/organisms/Carousels/HighlightsCarousel/components/SwipeCarousel.d.ts +3 -12
  42. package/dist/components/organisms/Carousels/HighlightsCarousel/components/SwipeCarousel.types.d.ts +11 -0
  43. package/dist/harmonic.cjs.development.css +319 -0
  44. package/dist/harmonic.cjs.development.js +3548 -3916
  45. package/dist/harmonic.cjs.development.js.map +1 -1
  46. package/dist/harmonic.cjs.production.min.js +1 -1
  47. package/dist/harmonic.cjs.production.min.js.map +1 -1
  48. package/dist/harmonic.esm.js +3547 -3922
  49. package/dist/harmonic.esm.js.map +1 -1
  50. package/dist/index.d.ts +2 -2
  51. package/dist/styles/HarmonicThemeProvider/HarmonicThemeProvider.d.ts +1 -0
  52. package/dist/types/types.d.ts +9 -1
  53. package/package.json +6 -24
  54. package/README.GIT +0 -293
  55. package/dist/components/atoms/Radio/Radio.d.ts +0 -7
  56. package/dist/components/atoms/Radio/Radio.style.d.ts +0 -4
  57. package/dist/components/atoms/Radio/index.d.ts +0 -2
  58. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts +0 -7
  59. package/dist/components/molecules/RadioGroup/RadioGroup.style.d.ts +0 -1
  60. package/dist/components/molecules/RadioGroup/index.d.ts +0 -2
  61. package/dist/components/molecules/Select/Select.d.ts +0 -101
  62. package/dist/components/molecules/Select/Select.style.d.ts +0 -13
  63. package/dist/components/molecules/Select/index.d.ts +0 -2
@@ -1,10 +1,8 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  import { DropdownIndicatorProps } from 'react-select';
3
3
  import { ISelect2Props } from '../../../types/formTypes';
4
+ import { IWrapperProps } from './Select2.types';
4
5
  export declare const DropdownIndicator: (props: DropdownIndicatorProps) => React.JSX.Element;
5
- interface IWrapperProps extends Pick<ISelect2Props, 'label' | 'error' | 'width' | 'darkMode' | 'className'> {
6
- children: React.ReactNode;
7
- }
8
6
  export declare const WrapperComponent: FunctionComponent<IWrapperProps>;
9
7
  /**
10
8
  * A Select2 component wraps react-select with Harmonic styling and additional elements like
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ISelect2Props } from '../../../types/formTypes';
3
+ export interface IWrapperProps extends Pick<ISelect2Props, 'label' | 'error' | 'width' | 'darkMode'> {
4
+ children: React.ReactNode;
5
+ className?: string;
6
+ }
@@ -1,8 +1,4 @@
1
1
  import React from 'react';
2
- import { ThemeType } from '../../../../types/types';
3
- declare type Props = {
4
- theme: ThemeType;
5
- onClick: (e: React.FormEvent) => Promise<void>;
6
- };
7
- declare const SignUpFormButton: React.FC<Props>;
2
+ import { SignUpFormButtonProps } from './SignUpFormButton.types';
3
+ declare const SignUpFormButton: React.FC<SignUpFormButtonProps>;
8
4
  export default SignUpFormButton;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ThemeType } from '../../../../types/types';
3
+ export declare type SignUpFormButtonProps = {
4
+ theme: ThemeType;
5
+ onClick: (e: React.FormEvent) => Promise<void>;
6
+ };
@@ -1,6 +1,6 @@
1
1
  interface FocusableTabProps {
2
2
  hide?: boolean;
3
3
  }
4
- export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
4
+ export declare const FocusableTab: import("styled-components").StyledComponent<({ title, titleLink, onClick, onFocus, onReset, selected, iconName, iconDirection, withIcon, withTextInMobile, trimText, className, role, ariaLabel, tabLinkId, color, dataTestId, isOpen, }: import("../../../types/types").ITabProps) => import("react").JSX.Element, any, FocusableTabProps, never>;
5
5
  export declare const HiddenBlock: import("styled-components").StyledComponent<"div", any, {}, never>;
6
6
  export {};
@@ -1,10 +1,6 @@
1
1
  import React from 'react';
2
- export interface SwipeRef {
3
- nextSlide: () => void;
4
- prevSlide: () => void;
5
- hasOverflow: () => boolean;
6
- hasNext: () => boolean;
7
- }
2
+ import { SwipeRef } from './Swipe.types';
3
+ export type { SwipeRef } from './Swipe.types';
8
4
  declare const Swipe: React.ForwardRefExoticComponent<{
9
5
  children: React.ReactNode[];
10
6
  infinite?: boolean | undefined;
@@ -13,5 +9,6 @@ declare const Swipe: React.ForwardRefExoticComponent<{
13
9
  onIndexChange?: ((index: number) => void) | undefined;
14
10
  onActiveChange?: ((value: boolean) => void) | undefined;
15
11
  onOverflowChange?: ((overflow: boolean) => void) | undefined;
12
+ limitDragToNavigableRange?: boolean | undefined;
16
13
  } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<SwipeRef>>;
17
14
  export default Swipe;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export declare type SwipeProps = {
3
+ children: React.ReactNode[];
4
+ infinite?: boolean;
5
+ slidesOffsetBefore?: number;
6
+ slidesAriaHidden?: boolean;
7
+ onIndexChange?: (index: number) => void;
8
+ onActiveChange?: (value: boolean) => void;
9
+ onOverflowChange?: (overflow: boolean) => void;
10
+ limitDragToNavigableRange?: boolean;
11
+ } & React.HTMLAttributes<HTMLDivElement>;
12
+ export interface SwipeRef {
13
+ nextSlide: () => void;
14
+ prevSlide: () => void;
15
+ hasOverflow: () => boolean;
16
+ hasNext: () => boolean;
17
+ }
@@ -7,6 +7,6 @@ export declare const TableHeader: import("styled-components").StyledComponent<"t
7
7
  export declare const TableCell: import("styled-components").StyledComponent<"td", any, {
8
8
  columns: number;
9
9
  }, never>;
10
- export declare const PaginationWrapper: import("styled-components").StyledComponent<({ pageCount, currentPage, baseUrl, className, onPageChange }: import("../Pagination/Pagination").PageData) => import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>, any, {}, never>;
10
+ export declare const PaginationWrapper: import("styled-components").StyledComponent<({ pageCount, currentPage, baseUrl, className, onPageChange }: import("../Pagination/Pagination.types").PageData) => import("react").ReactElement<any, string | ((props: any) => import("react").ReactElement<any, any> | null) | (new (props: any) => import("react").Component<any, any, any>)>, any, {}, never>;
11
11
  export declare const ScrollButtons: import("styled-components").StyledComponent<"div", any, {}, never>;
12
12
  export declare const AriaDescription: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -1,7 +1,4 @@
1
1
  import React from 'react';
2
- interface HeaderCellsProps {
3
- headings: React.ReactNode[];
4
- columns: number;
5
- }
2
+ import { HeaderCellsProps } from './HeaderCells.types';
6
3
  declare const HeaderCells: React.FC<HeaderCellsProps>;
7
4
  export default HeaderCells;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export interface HeaderCellsProps {
3
+ headings: React.ReactNode[];
4
+ columns: number;
5
+ }
@@ -1,10 +1,13 @@
1
1
  import Accordion from './Accordion';
2
2
  import Accordions from './Accordions';
3
3
  import AnnouncementBanner from './AnnouncementBanner';
4
+ import Basket from './Basket';
5
+ import BodyContent from './BodyContent';
4
6
  import Card from './Card';
5
7
  import Cards from './Cards';
6
8
  import CastFilter from './CastFilter';
7
9
  import ContactCard from './ContactCard';
10
+ import ContactNewsletter from './ContactNewsletter';
8
11
  import ContentSummary from './ContentSummary';
9
12
  import Editorial from './Editorial';
10
13
  import HotFilters from './HotFilters';
@@ -15,18 +18,21 @@ import { PeopleListing, CreditListing } from './PeopleListing';
15
18
  import PolicyLinks from './PolicyLinks';
16
19
  import PromoWithTags from './PromoWithTags';
17
20
  import PromoWithTitle from './PromoWithTitle';
18
- import RadioGroup from './RadioGroup';
21
+ import Quote from './Quote';
19
22
  import RadioGroup2 from './RadioGroup2';
20
23
  import StatusBanner from './StatusBanner';
21
24
  import SearchBar from './SearchBar';
22
25
  import SectionTitle from './SectionTitle';
23
- import Select from './Select';
24
26
  import Select2 from './Select2';
25
27
  import Select2Async from './Select2Async';
28
+ import { Swipe, SwipeRef } from './Swipe';
26
29
  import Tabs from './Tabs';
27
30
  import UpsellCard from './UpsellCard';
28
31
  import ImageWithCaption from './ImageWithCaption';
29
32
  import MiniCard from './MiniCard';
33
+ import NavTop from './NavTop';
34
+ import PersonCard from './PersonCard';
35
+ import PersonDetails from './PersonDetails';
30
36
  import ReadMore from './ReadMore';
31
37
  import AuxiliaryNav from './AuxiliaryNav';
32
38
  import PasswordStrength from './PasswordStrength';
@@ -36,4 +42,5 @@ import SignUpForm from './SignUpForm';
36
42
  import AnchorBar from './AnchorBar';
37
43
  import SkipToMain from './SkipToMain';
38
44
  import Paywall from './Paywall';
39
- export { Accordion, Accordions, AnchorBar, AnnouncementBanner, AuxiliaryNav, Card, Cards, CastFilter, ContactCard, ContentSummary, CreditListing, Editorial, HotFilters, ImageWithCaption, Information, MiniCard, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingHighlight, PageHeadingPanel, PageHeadingPromo, PageHeadingHighlightCarousel, PasswordStrength, Pagination, Paywall, PeopleListing, PolicyLinks, PromoWithTags, PromoWithTitle, RadioGroup, RadioGroup2, ReadMore, StatusBanner, SectionTitle, SearchBar, Select, Select2, Select2Async, SignUpForm, Tabs, Table, UpsellCard, VideoWithControls, SkipToMain, };
45
+ import UpsellCards from './UpsellCards';
46
+ export { Accordion, Accordions, AnchorBar, AnnouncementBanner, AuxiliaryNav, Basket, BodyContent, Card, Cards, CastFilter, ContactCard, ContactNewsletter, ContentSummary, CreditListing, Editorial, HotFilters, ImageWithCaption, Information, MiniCard, NavTop, PersonCard, PersonDetails, PageHeading, PageHeadingCompact, PageHeadingImpact, PageHeadingHighlight, PageHeadingPanel, PageHeadingPromo, PageHeadingHighlightCarousel, PasswordStrength, Pagination, Paywall, PeopleListing, PolicyLinks, PromoWithTags, PromoWithTitle, Quote, RadioGroup2, ReadMore, StatusBanner, SectionTitle, SearchBar, Select2, Select2Async, SignUpForm, Swipe, SwipeRef, Tabs, Table, UpsellCard, UpsellCards, VideoWithControls, SkipToMain, };
@@ -1,5 +1,4 @@
1
1
  import { FunctionComponent } from 'react';
2
- import { HighlightsCarouselSlide } from '../../../../../types/carousel';
3
- declare type Props = Pick<HighlightsCarouselSlide, 'links' | 'auxiliaryCTA'>;
4
- declare const Buttons: FunctionComponent<Props>;
2
+ import { HighlightsCarouselButtonsProps } from './Buttons.types';
3
+ declare const Buttons: FunctionComponent<HighlightsCarouselButtonsProps>;
5
4
  export default Buttons;
@@ -0,0 +1,2 @@
1
+ import { HighlightsCarouselSlide } from '../../../../../types/carousel';
2
+ export declare type HighlightsCarouselButtonsProps = Pick<HighlightsCarouselSlide, 'links' | 'auxiliaryCTA'>;
@@ -1,10 +1,4 @@
1
- import { FunctionComponent, ReactElement } from 'react';
2
- import { HighlightsCarouselSlide } from '../../../../../types/carousel';
3
- import { ILogosProps } from '../../../../../types/types';
4
- declare type Props = {
5
- logo?: ReactElement<ILogosProps> | null;
6
- slide: HighlightsCarouselSlide;
7
- currentSlideIndex: number;
8
- };
9
- declare const InfoSection: FunctionComponent<Props>;
1
+ import { FunctionComponent } from 'react';
2
+ import { HighlightsCarouselInfoSectionProps } from './InfoSection.types';
3
+ declare const InfoSection: FunctionComponent<HighlightsCarouselInfoSectionProps>;
10
4
  export default InfoSection;
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from 'react';
2
+ import { HighlightsCarouselSlide } from '../../../../../types/carousel';
3
+ import { ILogosProps } from '../../../../../types/types';
4
+ export declare type HighlightsCarouselInfoSectionProps = {
5
+ logo?: ReactElement<ILogosProps> | null;
6
+ slide: HighlightsCarouselSlide;
7
+ currentSlideIndex: number;
8
+ };
@@ -1,13 +1,4 @@
1
- import React, { FunctionComponent } from 'react';
2
- import { HighlightsCarouselSlideImage, HighlightsCarouselSlideVideo } from '../../../../../types/carousel';
3
- import { SwipeRef } from '../../../../molecules/Swipe';
4
- declare type Props = {
5
- slidesMedia: (HighlightsCarouselSlideImage | HighlightsCarouselSlideVideo)[];
6
- currentSlide: number;
7
- setCurrentSlide: React.Dispatch<React.SetStateAction<number>>;
8
- carouselRef: React.RefObject<SwipeRef>;
9
- hasMultipleSlides: boolean;
10
- carouselTitle?: string;
11
- };
12
- declare const SwipeCarousel: FunctionComponent<Props>;
1
+ import { FunctionComponent } from 'react';
2
+ import { HighlightsCarouselSwipeCarouselProps } from './SwipeCarousel.types';
3
+ declare const SwipeCarousel: FunctionComponent<HighlightsCarouselSwipeCarouselProps>;
13
4
  export default SwipeCarousel;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { HighlightsCarouselSlideImage, HighlightsCarouselSlideVideo } from '../../../../../types/carousel';
3
+ import { SwipeRef } from '../../../../molecules';
4
+ export declare type HighlightsCarouselSwipeCarouselProps = {
5
+ slidesMedia: (HighlightsCarouselSlideImage | HighlightsCarouselSlideVideo)[];
6
+ currentSlide: number;
7
+ setCurrentSlide: React.Dispatch<React.SetStateAction<number>>;
8
+ carouselRef: React.RefObject<SwipeRef>;
9
+ hasMultipleSlides: boolean;
10
+ carouselTitle?: string;
11
+ };
@@ -350,6 +350,325 @@
350
350
  font-display: swap;
351
351
  }
352
352
 
353
+ /* ~~~~~ General Styling Classes ~~~~~ */
354
+ .typography_color-primary__LOfDi {
355
+ color: var(--color-primary);
356
+ }
357
+
358
+ .typography_color-black__6MHRL {
359
+ color: var(--color-base-black);
360
+ }
361
+
362
+ .typography_color-white__PfW5s {
363
+ color: var(--color-base-white);
364
+ }
365
+
366
+ .typography_color-red__iPlbG {
367
+ color: var(--color-primary-red);
368
+ }
369
+
370
+ .typography_color-grey__GA1c2 {
371
+ color: var(--color-base-dark-grey);
372
+ }
373
+
374
+ .typography_color-inherit__RDd0Y {
375
+ color: inherit;
376
+ }
377
+
378
+ .typography_em__E6tX- {
379
+ font-style: italic;
380
+ }
381
+ /* ~~~ */
382
+
383
+ /* Display Headers */
384
+ .typography_display__-F3p4 {
385
+ margin: 0;
386
+ font-family: var(--font-family-sans);
387
+ line-height: 100%;
388
+
389
+ &.typography_large__uq0zC {
390
+ font-size: 96px;
391
+ font-weight: 700;
392
+ letter-spacing: -5px;
393
+ }
394
+
395
+ &.typography_small__wfQ0K {
396
+ font-size: 68px;
397
+ font-weight: 500;
398
+ letter-spacing: -3px;
399
+ }
400
+
401
+ /* Serif and Italic styles */
402
+ &.typography_serif__VSO38,
403
+ &.typography_em__E6tX- {
404
+ font-family: var(--font-family-serif);
405
+ font-weight: 500;
406
+ }
407
+
408
+ /* Serif and Italic adjustments */
409
+ &.typography_large__uq0zC.typography_serif__VSO38,
410
+ &.typography_large__uq0zC.typography_em__E6tX- {
411
+ letter-spacing: -3px;
412
+ }
413
+
414
+ &.typography_small__wfQ0K.typography_serif__VSO38,
415
+ &.typography_small__wfQ0K.typography_em__E6tX- {
416
+ letter-spacing: -2px;
417
+ }
418
+
419
+ @media (max-width: 699px) {
420
+ &.typography_large__uq0zC {
421
+ font-size: 38px;
422
+ letter-spacing: -1.5px;
423
+ }
424
+
425
+ &.typography_small__wfQ0K {
426
+ font-size: 32px;
427
+ letter-spacing: -1.5px;
428
+ }
429
+
430
+ &.typography_large__uq0zC.typography_serif__VSO38,
431
+ &.typography_large__uq0zC.typography_em__E6tX-,
432
+ &.typography_small__wfQ0K.typography_serif__VSO38,
433
+ &.typography_small__wfQ0K.typography_em__E6tX- {
434
+ letter-spacing: -0.5px;
435
+ }
436
+ }
437
+ }
438
+
439
+ /* Headers */
440
+ .typography_header__BexiD {
441
+ margin: 0;
442
+ font-family: var(--font-family-sans);
443
+ font-weight: 500;
444
+
445
+ &.typography_large__uq0zC {
446
+ font-size: 44px;
447
+ line-height: 48px;
448
+ letter-spacing: -1.5px;
449
+ }
450
+
451
+ &.typography_medium__K0uZD {
452
+ font-size: 34px;
453
+ line-height: 40px;
454
+ letter-spacing: -1px;
455
+ }
456
+
457
+ &.typography_small__wfQ0K {
458
+ font-size: 26px;
459
+ line-height: 32px;
460
+ letter-spacing: -0.5px;
461
+ }
462
+
463
+ /* Serif and Italic styles */
464
+ &.typography_serif__VSO38,
465
+ &.typography_em__E6tX- {
466
+ font-family: var(--font-family-serif);
467
+ }
468
+
469
+ /* Serif and Italic letter-spacing overrides */
470
+ &.typography_large__uq0zC.typography_serif__VSO38,
471
+ &.typography_large__uq0zC.typography_em__E6tX- {
472
+ letter-spacing: -0.5px;
473
+ }
474
+
475
+ &.typography_medium__K0uZD.typography_serif__VSO38,
476
+ &.typography_medium__K0uZD.typography_em__E6tX- {
477
+ letter-spacing: -0.5px;
478
+ }
479
+
480
+ &.typography_small__wfQ0K.typography_serif__VSO38,
481
+ &.typography_small__wfQ0K.typography_em__E6tX- {
482
+ letter-spacing: -0.5px;
483
+ }
484
+
485
+ @media (max-width: 699px) {
486
+ &.typography_large__uq0zC {
487
+ font-size: 28px;
488
+ line-height: 34px;
489
+ letter-spacing: -1.5px;
490
+ }
491
+
492
+ &.typography_medium__K0uZD {
493
+ font-size: 24px;
494
+ line-height: 28px;
495
+ letter-spacing: -1px;
496
+ }
497
+
498
+ &.typography_small__wfQ0K {
499
+ font-size: 20px;
500
+ line-height: 26px;
501
+ letter-spacing: -0.75px;
502
+ }
503
+
504
+ /* Mobile overrides for serif/italic letter-spacing */
505
+ &.typography_large__uq0zC.typography_serif__VSO38,
506
+ &.typography_large__uq0zC.typography_em__E6tX-,
507
+ &.typography_medium__K0uZD.typography_serif__VSO38,
508
+ &.typography_medium__K0uZD.typography_em__E6tX-,
509
+ &.typography_small__wfQ0K.typography_serif__VSO38,
510
+ &.typography_small__wfQ0K.typography_em__E6tX- {
511
+ letter-spacing: -0.5px;
512
+ }
513
+ }
514
+ }
515
+
516
+ /* Subtitle */
517
+ .typography_subtitle__aoFTV {
518
+ margin: 0;
519
+ font-family: var(--font-family-sans);
520
+ font-weight: 500;
521
+
522
+ &.typography_large__uq0zC {
523
+ font-size: 19px;
524
+ line-height: 26px;
525
+ letter-spacing: -0.5px;
526
+ }
527
+
528
+ &.typography_small__wfQ0K {
529
+ font-size: 17px;
530
+ line-height: 24px;
531
+ letter-spacing: -0.5px;
532
+ }
533
+
534
+ @media (max-width: 699px) {
535
+ &.typography_large__uq0zC {
536
+ font-size: 17px;
537
+ line-height: 24px;
538
+ letter-spacing: -0.5px;
539
+ }
540
+
541
+ &.typography_small__wfQ0K {
542
+ font-size: 14px;
543
+ line-height: 20px;
544
+ letter-spacing: -0.2px;
545
+ }
546
+ }
547
+ }
548
+
549
+ /* Body Copy */
550
+ .typography_bodycopy__vYtQ8 {
551
+ margin: 0;
552
+ font-family: var(--font-family-sans);
553
+ font-weight: 400;
554
+
555
+ &.typography_large__uq0zC {
556
+ font-size: 19px;
557
+ line-height: 26px;
558
+ letter-spacing: -0.5px;
559
+ }
560
+
561
+ &.typography_medium__K0uZD {
562
+ font-size: 17px;
563
+ line-height: 24px;
564
+ letter-spacing: -0.5px;
565
+ }
566
+
567
+ &.typography_small__wfQ0K {
568
+ font-size: 14px;
569
+ line-height: 20px;
570
+ letter-spacing: -0.5px;
571
+ }
572
+
573
+ @media (max-width: 699px) {
574
+ &.typography_large__uq0zC {
575
+ font-size: 17px;
576
+ line-height: 24px;
577
+ letter-spacing: -0.5px;
578
+ }
579
+
580
+ &.typography_medium__K0uZD {
581
+ font-size: 14px;
582
+ line-height: 20px;
583
+ letter-spacing: -0.2px;
584
+ }
585
+
586
+ &.typography_small__wfQ0K {
587
+ font-size: 11px;
588
+ line-height: 16px;
589
+ letter-spacing: -0.2px;
590
+ }
591
+ }
592
+ }
593
+
594
+ /* Overline */
595
+ .typography_overline__EnUK3 {
596
+ margin: 0;
597
+ font-family: var(--font-family-sans);
598
+ font-weight: 500;
599
+ text-transform: uppercase;
600
+
601
+ &.typography_large__uq0zC {
602
+ font-size: 14px;
603
+ line-height: 18px;
604
+ letter-spacing: 0.3px;
605
+ }
606
+
607
+ &.typography_small__wfQ0K {
608
+ font-size: 12px;
609
+ line-height: 14px;
610
+ letter-spacing: 0.2px;
611
+ }
612
+
613
+ @media (max-width: 699px) {
614
+ &.typography_large__uq0zC {
615
+ line-height: 17px;
616
+ letter-spacing: 0.3px; /* Added to ensure it stays */
617
+ }
618
+
619
+ &.typography_small__wfQ0K {
620
+ line-height: 14px;
621
+ letter-spacing: 0.3px;
622
+ }
623
+ }
624
+ }
625
+
626
+ /* Button Text */
627
+ .typography_buttontext__vcxNi {
628
+ margin: 0;
629
+ font-family: var(--font-family-sans);
630
+ font-size: 17px;
631
+ line-height: 20px;
632
+ letter-spacing: -0.5px;
633
+ font-weight: 400;
634
+
635
+ @media (max-width: 699px) {
636
+ font-weight: 500;
637
+ line-height: 17px;
638
+ }
639
+ }
640
+
641
+ /* Caption Text */
642
+ .typography_captiontext__91UFb {
643
+ margin: 0;
644
+ font-family: var(--font-family-sans);
645
+ font-weight: 400;
646
+ font-size: 17px;
647
+ line-height: 24px;
648
+ letter-spacing: -0.5px;
649
+
650
+ @media (max-width: 699px) {
651
+ font-size: 14px;
652
+ line-height: 20px;
653
+ letter-spacing: -0.2px;
654
+ }
655
+ }
656
+
657
+ /* Navigation Text */
658
+ .typography_navigationtext__YfGf7 {
659
+ margin: 0;
660
+ font-family: var(--font-family-sans);
661
+ font-size: 19px;
662
+ line-height: 19px;
663
+ letter-spacing: 0.4px;
664
+ font-weight: 500;
665
+
666
+ @media (max-width: 699px) {
667
+ font-size: 17px;
668
+ line-height: 17px;
669
+ }
670
+ }
671
+
353
672
  .core-theme-module_coreTheme__pWxYB {
354
673
  /* RBO Red */
355
674
  /* Primary Palette */