.page-content-container {
    background-color: var(--color-background);
    padding: var(--page-content-spacing-y) var(--page-content-spacing-x);
}

.tagline {
    color: var(--color-tagline);
    font-family: var(--tagline-font-family);
    font-size: var(--tagline-font-size);
    font-weight: var(--tagline-font-weight);
    letter-spacing: var(--tagline-letter-spacing);
    line-height: var(--tagline-line-height);
    margin-bottom: var(--tagline-margin-bottom);
    margin-top: calc(var(--heading-1-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--1 {
    --tagline-font-size: var(--tagline-1-font-size);
    --tagline-font-weight: var(--tagline-1-font-weight);
    --tagline-letter-spacing: var(--tagline-1-letter-spacing);
    --tagline-line-height: var(--tagline-1-line-height);

    margin-top: calc(var(--heading-1-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--2 {
    --tagline-font-size: var(--tagline-2-font-size);
    --tagline-font-weight: var(--tagline-2-font-weight);
    --tagline-letter-spacing: var(--tagline-2-letter-spacing);
    --tagline-line-height: var(--tagline-2-line-height);

    margin-top: calc(var(--heading-2-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--3 {
    --tagline-font-size: var(--tagline-3-font-size);
    --tagline-font-weight: var(--tagline-3-font-weight);
    --tagline-letter-spacing: var(--tagline-3-letter-spacing);
    --tagline-line-height: var(--tagline-3-line-height);

    margin-top: calc(var(--heading-3-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--4 {
    --tagline-font-size: var(--tagline-4-font-size);
    --tagline-font-weight: var(--tagline-4-font-weight);
    --tagline-letter-spacing: var(--tagline-4-letter-spacing);
    --tagline-line-height: var(--tagline-4-line-height);

    margin-top: calc(var(--heading-4-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--5 {
    --tagline-font-size: var(--tagline-5-font-size);
    --tagline-font-weight: var(--tagline-5-font-weight);
    --tagline-letter-spacing: var(--tagline-5-letter-spacing);
    --tagline-line-height: var(--tagline-5-line-height);

    margin-top: calc(var(--heading-5-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--6 {
    --tagline-font-size: var(--tagline-6-font-size);
    --tagline-font-weight: var(--tagline-6-font-weight);
    --tagline-letter-spacing: var(--tagline-6-letter-spacing);
    --tagline-line-height: var(--tagline-6-line-height);

    margin-top: calc(var(--heading-6-font-size) * var(--heading-margin-top-multiplier));
}

.tagline--no-top-margin {
    line-height: var(--tagline-font-size);
    margin-top: 0;
}

.title {
    color: var(--color-title);
    font-family: var(--heading-font-family);
    font-size: var(--title-font-size);
    font-weight: var(--title-font-weight);
    letter-spacing: var(--title-letter-spacing);
    line-height: var(--title-line-height);
    margin: 0;
}

.title--no-tagline {
    margin-top: calc(var(--title-font-size) * var(--heading-margin-top-multiplier));
}

.title--no-subtitle {
    margin-bottom: calc(var(--title-font-size) * var(--heading-margin-bottom-multiplier));
}

.title--1 {
    --title-font-size: var(--heading-1-font-size);
    --title-font-weight: var(--heading-1-font-weight);
    --title-line-height: var(--heading-1-line-height);
    --title-letter-spacing: var(--heading-1-letter-spacing);
}

.title--2 {
    --title-font-size: var(--heading-2-font-size);
    --title-font-weight: var(--heading-2-font-weight);
    --title-line-height: var(--heading-2-line-height);
    --title-letter-spacing: var(--heading-2-letter-spacing);
}

.title--3 {
    --title-font-size: var(--heading-3-font-size);
    --title-font-weight: var(--heading-3-font-weight);
    --title-line-height: var(--heading-3-line-height);
    --title-letter-spacing: var(--heading-3-letter-spacing);
}

.title--4 {
    --title-font-size: var(--heading-4-font-size);
    --title-font-weight: var(--heading-4-font-weight);
    --title-line-height: var(--heading-4-line-height);
    --title-letter-spacing: var(--heading-4-letter-spacing);
}

.title--5 {
    --title-font-size: var(--heading-5-font-size);
    --title-font-weight: var(--heading-5-font-weight);
    --title-line-height: var(--heading-5-line-height);
    --title-letter-spacing: var(--heading-5-letter-spacing);
}

.title--6 {
    --title-font-size: var(--heading-6-font-size);
    --title-font-weight: var(--heading-6-font-weight);
    --title-line-height: var(--heading-6-line-height);
    --title-letter-spacing: var(--heading-6-letter-spacing);
}

.title--no-top-margin {
    line-height: var(--title-font-size);
    margin-top: 0;
}

.title--internal {
    display: inline;
    margin: 0;
}

.title-anchor {
    margin-left: var(--text-spacing-md);
    opacity: 0;
    transition: var(--transition-regular);
}

.title-anchor.primary-link {
    color: var(--color-text);
}

.title:hover .title-anchor {
    opacity: 1;
}

.card-container {
    --card-container-border: 1px solid var(--color-border);
    --card-container-border-radius: var(--border-radius-lg);

    background: var(--color-background);
    box-shadow: none;
    color: var(--color-text);
    transition: box-shadow .2s ease-in-out;
}

:root {
    --border-radius-lg: .375rem;
    --border-radius-md: .25rem;
    --border-radius-sm: .125rem;
    --box-spacing-lg: 1.5rem;
    --box-spacing-md: 1rem;
    --box-spacing-sm: .5rem;
    --box-spacing-xl: 2rem;
    --box-spacing-xs: .25rem;
    --box-spacing-xxl: 3rem;
    --breakpoint-lg: 1024px;
    --breakpoint-md: 768px;
    --breakpoint-xl: 1280px;
    --caption-font-family: Open Sans, sans-serif;
    --caption-font-size: .625rem;
    --caption-font-weight: var(--font-weight-light);
    --caption-line-height: 1.4;
    --caption-margin-bottom: var(--text-spacing-sm);
    --caption-margin-top: 0;
    --elevation-lg: 0 10px 20px rgba(0, 0, 0, .15), 0 3px 6px rgba(0, 0, 0, .1);
    --elevation-md: 0 3px 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .12);
    --elevation-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
    --font-weight-bold: 700;
    --font-weight-light: 300;
    --font-weight-medium: 500;
    --font-weight-regular: 400;
    --heading-1-font-size: 3rem;
    --heading-1-font-weight: var(--font-weight-bold);
    --heading-1-letter-spacing: 0;
    --heading-1-line-height: 1.2;
    --heading-2-font-size: 2.5rem;
    --heading-2-font-weight: var(--font-weight-bold);
    --heading-2-letter-spacing: 0;
    --heading-2-line-height: 1.2;
    --heading-3-font-size: 1.5rem;
    --heading-3-font-weight: var(--font-weight-medium);
    --heading-3-letter-spacing: 0;
    --heading-3-line-height: 1.2;
    --heading-4-font-size: 1.25rem;
    --heading-4-font-weight: var(--font-weight-medium);
    --heading-4-letter-spacing: 0;
    --heading-4-line-height: 1.2;
    --heading-5-font-size: 1.125rem;
    --heading-5-font-weight: var(--font-weight-medium);
    --heading-5-letter-spacing: 0;
    --heading-5-line-height: 1.2;
    --heading-6-font-size: .875rem;
    --heading-6-font-weight: var(--font-weight-medium);
    --heading-6-letter-spacing: 0;
    --heading-6-line-height: 1.2;
    --heading-font-family: Neuton, serif;
    --heading-margin-bottom-multiplier: .75;
    --heading-margin-top-multiplier: 1.25;
    --max-content-width: 1440px;
    --page-content-padding-x: .5rem;
    --page-content-padding-y: 1.5rem;
    --page-content-spacing-x: .5rem;
    --page-content-spacing-y: 1.5rem;
    --spacing-lg: 1.5rem;
    --spacing-md: 1rem;
    --spacing-sm: .75rem;
    --spacing-xl: 2rem;
    --spacing-xs: .5rem;
    --spacing-xxl: 3rem;
    --spacing-xxs: .25rem;
    --subtitle-1-font-size: 1rem;
    --subtitle-1-font-weight: var(--font-weight-medium);
    --subtitle-1-letter-spacing: 0;
    --subtitle-1-line-height: 1.4;
    --subtitle-1-margin-bottom: calc(var(--heading-1-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-2-font-size: .875rem;
    --subtitle-2-font-weight: var(--font-weight-medium);
    --subtitle-2-letter-spacing: 0;
    --subtitle-2-line-height: 1.4;
    --subtitle-2-margin-bottom: calc(var(--heading-2-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-3-font-size: .75rem;
    --subtitle-3-font-weight: var(--font-weight-medium);
    --subtitle-3-letter-spacing: 0;
    --subtitle-3-line-height: 1.4;
    --subtitle-3-margin-bottom: calc(var(--heading-3-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-4-font-size: .6875rem;
    --subtitle-4-font-weight: var(--font-weight-medium);
    --subtitle-4-letter-spacing: 0;
    --subtitle-4-line-height: 1.4;
    --subtitle-4-margin-bottom: calc(var(--heading-4-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-5-font-size: .625rem;
    --subtitle-5-font-weight: var(--font-weight-medium);
    --subtitle-5-letter-spacing: 0;
    --subtitle-5-line-height: 1.4;
    --subtitle-5-margin-bottom: calc(var(--heading-5-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-6-font-size: .5625rem;
    --subtitle-6-font-weight: var(--font-weight-medium);
    --subtitle-6-letter-spacing: 0;
    --subtitle-6-line-height: 1.4;
    --subtitle-6-margin-bottom: calc(var(--heading-6-font-size) * var(--heading-margin-bottom-multiplier));
    --subtitle-font-family: Neuton, serif;
    --subtitle-margin-top: var(--text-spacing-sm);
    --tagline-1-font-size: 1.125rem;
    --tagline-1-font-weight: var(--font-weight-medium);
    --tagline-1-letter-spacing: .05em;
    --tagline-1-line-height: 1.3;
    --tagline-1-margin-top: calc(var(--heading-1-font-size) * var(--heading-margin-top-multiplier));
    --tagline-2-font-size: 1rem;
    --tagline-2-font-weight: var(--font-weight-medium);
    --tagline-2-letter-spacing: .05em;
    --tagline-2-line-height: 1.3;
    --tagline-2-margin-top: calc(var(--heading-2-font-size) * var(--heading-margin-top-multiplier));
    --tagline-3-font-size: .875rem;
    --tagline-3-font-weight: var(--font-weight-regular);
    --tagline-3-letter-spacing: .05em;
    --tagline-3-line-height: 1.3;
    --tagline-3-margin-top: calc(var(--heading-3-font-size) * var(--heading-margin-top-multiplier));
    --tagline-4-font-size: .75rem;
    --tagline-4-font-weight: var(--font-weight-regular);
    --tagline-4-letter-spacing: .05em;
    --tagline-4-line-height: 1.3;
    --tagline-4-margin-top: calc(var(--heading-4-font-size) * var(--heading-margin-top-multiplier));
    --tagline-5-font-size: .625rem;
    --tagline-5-font-weight: var(--font-weight-regular);
    --tagline-5-letter-spacing: .05em;
    --tagline-5-line-height: 1.3;
    --tagline-5-margin-top: calc(var(--heading-5-font-size) * var(--heading-margin-top-multiplier));
    --tagline-6-font-size: .5625rem;
    --tagline-6-font-weight: var(--font-weight-regular);
    --tagline-6-letter-spacing: .05em;
    --tagline-6-line-height: 1.3;
    --tagline-6-margin-top: calc(var(--heading-6-font-size) * var(--heading-margin-top-multiplier));
    --tagline-font-family: Neuton, serif;
    --tagline-letter-spacing: .05em;
    --tagline-margin-bottom: var(--text-spacing-xs);
    --tagline-text-transform: uppercase;
    --text-font-family: Open Sans, sans-serif;
    --text-font-size-lg: 1rem;
    --text-font-size-md: .9rem;
    --text-font-size-sm: .8rem;
    --text-font-size-xl: 1.1rem;
    --text-line-height-lg: 1.6;
    --text-line-height-md: 1.6;
    --text-line-height-sm: 1.5;
    --text-line-height-xl: 1.6;
    --text-margin-bottom: 0;
    --text-margin-top: var(--text-spacing-md);
    --text-spacing-lg: 1.5em;
    --text-spacing-md: 1em;
    --text-spacing-sm: .5em;
    --text-spacing-xl: 2em;
    --text-spacing-xs: .3em;
    --text2-font-family: Open Sans, sans-serif;
    --text2-font-size-lg: 1rem;
    --text2-font-size-md: .875rem;
    --text2-font-size-sm: .75rem;
    --text2-font-size-xl: 1.125rem;
    --text2-line-height-lg: 1.5;
    --text2-line-height-md: 1.5;
    --text2-line-height-sm: 1.5;
    --text2-line-height-xl: 1.5;
    --text2-margin-bottom: 0;
    --text2-margin-top: var(--text-spacing-lg);
    --transition-quick: .2s ease-in-out;
    --transition-regular: .4s ease-in-out;
    --transition-slow: .7s ease-in-out;

    --card-with-image-lists-images-gap: var(--spacing-lg);
    --card-with-image-lists-text-spacing: var(--text-spacing-xl);

    --image-carousel-gap-horizontal: var(--spacing-xxl);
    --image-carousel-gap-vertical: var(--spacing-md);
}

.palette-light {
    --color-background: #ffffff;
    --color-border: #dee2e6;
    --color-disabled: #ced4da;
    --color-divider: #dee2e6;
    --color-error: #dc3545;
    --color-featured-1: #9dc4ff;
    --color-featured-2: #fffcde;
    --color-featured-3: #f6c2ff;
    --color-featured-4: #d75fff;
    --color-featured-background: #f0fcff;
    --color-icon: var(--color-primary);
    --color-info: #17a2b8;
    --color-muted: #adb5bd;
    --color-neutral-dark: #495057;
    --color-neutral-light: #e9ecef;
    --color-neutral: #cdcace;
    --color-outline: #ced4da;
    --color-primary-dark: #010156;
    --color-primary-ligher: #f8f9fa;
    --color-primary-light: #3a3aff;
    --color-primary: #0505e5;
    --color-secondary-dark: #c9ba00;
    --color-secondary-light: #fceb33;
    --color-secondary-lighter: #fffcde;
    --color-secondary: #fbe700;
    --color-subtitle: #6c757d;
    --color-success: #28a745;
    --color-tagline: #495057;
    --color-tertiary-dark: #0a6ca3;
    --color-tertiary-light: #4fb2f2;
    --color-tertiary-lighter: #66dfff;
    --color-tertiary: #1092db;
    --color-text-dark: #000022;
    --color-text-light: #ffffff;
    --color-text: var(--color-text-dark);
    --color-title: var(--color-primary);
    --color-warning: #ffc107;
}

.palette-tertiary-light {
    --color-background: var(--color-tertiary-lighter);
}

.palette-featured-background {
    --color-background: var(--color-featured-background);
}

.palette-icon-list-tertiary {
    --color-icon: var(--color-tertiary);
    --color-title: var(--color-tertiary);
}

.palette-tagline-tertiary {
    --color-background-header: #00bdff;
    --color-tagline: var(--color-tertiary);
    --color-title: var(--color-text-dark);
}

.palette-icon-featured-4 {
    --color-background: #ffffff;
    --color-border: var(--color-tertiary-light);
    --color-icon: var(--color-featured-4);
    --color-title: var(--color-text-dark);
}

.palette-primary-neutral {
    --color-background: var(--color-primary);
    --color-icon: var(--color-secondary);
    --color-text: var(--color-text-light);
    --color-title: var(--color-text-light);
}

.palette-primary-dark-neutral {
    --color-background: var(--color-primary-dark);
    --color-text: var(--color-text-light);
    --color-title: var(--color-text-light);
}

.palette-secondary-neutral {
    --color-background: var(--color-secondary);
    --color-icon: var(--color-primary);
    --color-title: var(--color-text-dark);
}

.palette-gray {
    --color-background: #f2f2f3;
}

.palette-primary-filled {
    --color-background: var(--color-primary);
    --color-border: var(--color-primary);
    --color-featured: #ffd700;
    --color-text: var(--color-text-light);
    --color-title: var(--color-secondary);
}

.palette-primary-filled-interactive:hover {
    --color-background: var(--color-primary-light);
    --color-border: var(--color-primary-light);
    --color-text: var(--color-text-light);
}

.palette-primary-filled-interactive:active {
    --color-background: var(--color-primary-dark);
    --color-border: var(--color-primary-dark);
    --color-text: var(--color-text-light);
}

.palette-primary-filled-interactive:focus {
    --color-outline: var(--color-primary);
}

.palette-primary-filled-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-primary-outline {
    --color-background: transparent;
    --color-border: var(--color-primary);
    --color-text: var(--color-primary);
}

.palette-primary-outline-interactive:hover {
    --color-background: var(--color-primary-light);
    --color-border: var(--color-primary-light);
    --color-text: var(--color-text-light);
}

.palette-primary-outline-interactive:active {
    --color-background: var(--color-primary-dark);
    --color-border: var(--color-primary-dark);
    --color-text: var(--color-text-light);
}

.palette-primary-outline-interactive:focus {
    --color-outline: var(--color-primary);
}

.palette-primary-outline-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-primary-alternate {
    --color-background: transparent;
    --color-border: var(--color-primary);
    --color-text: var(--color-primary);
}

.palette-primary-alternate-interactive:hover {
    --color-background: var(--color-primary-light);
    --color-border: var(--color-primary-light);
    --color-text: var(--color-text-light);
}

.palette-primary-alternate-interactive:active {
    --color-background: var(--color-primary-dark);
    --color-border: var(--color-primary-dark);
    --color-text: var(--color-text-light);
}

.palette-primary-alternate-interactive:focus {
    --color-outline: var(--color-primary);
}

.palette-primary-alternate-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-primary-link {
    --color-text: var(--color-primary);
}

.palette-primary-link-interactive:hover {
    --color-text: var(--color-primary-light);
}

.palette-primary-link-interactive:active {
    --color-text: var(--color-primary-dark);
}

.palette-primary-link-interactive:focus {
    --color-outline: var(--color-primary);
}

.palette-primary-link-interactive:disabled {
    --color-text: var(--color-muted);
}

.palette-secondary-filled {
    --color-background: var(--color-secondary);
    --color-border: var(--color-secondary);
    --color-featured: #ff6b6b;
    --color-text: var(--color-text-dark);
}

.palette-secondary-filled-interactive:hover {
    --color-background: var(--color-secondary-light);
    --color-border: var(--color-secondary-light);
    --color-text: var(--color-text-dark);
}

.palette-secondary-filled-interactive:active {
    --color-background: var(--color-secondary-dark);
    --color-border: var(--color-secondary-dark);
    --color-text: var(--color-text-light);
}

.palette-secondary-filled-interactive:focus {
    --color-outline: var(--color-secondary);
}

.palette-secondary-filled-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-secondary-outline {
    --color-background: transparent;
    --color-border: var(--color-secondary);
    --color-text: var(--color-secondary);
}

.palette-secondary-outline-interactive:hover {
    --color-background: var(--color-secondary-light);
    --color-border: var(--color-secondary-light);
    --color-text: var(--color-text-dark);
}

.palette-secondary-outline-interactive:active {
    --color-background: var(--color-secondary-dark);
    --color-border: var(--color-secondary-dark);
    --color-text: var(--color-text-light);
}

.palette-secondary-outline-interactive:focus {
    --color-outline: var(--color-secondary);
}

.palette-secondary-outline-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-secondary-alternate {
    --color-background: transparent;
    --color-border: var(--color-secondary);
    --color-text: var(--color-secondary);
}

.palette-secondary-alternate-interactive:hover {
    --color-background: var(--color-secondary-light);
    --color-border: var(--color-secondary-light);
    --color-text: var(--color-text-dark);
}

.palette-secondary-alternate-interactive:active {
    --color-background: var(--color-secondary-dark);
    --color-border: var(--color-secondary-dark);
    --color-text: var(--color-text-light);
}

.palette-secondary-alternate-interactive:focus {
    --color-outline: var(--color-secondary);
}

.palette-secondary-alternate-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-secondary-link {
    --color-text: var(--color-secondary);
}

.palette-secondary-link-interactive:hover {
    --color-text: var(--color-secondary-light);
}

.palette-secondary-link-interactive:active {
    --color-text: var(--color-secondary-dark);
}

.palette-secondary-link-interactive:focus {
    --color-outline: var(--color-secondary);
}

.palette-secondary-link-interactive:disabled {
    --color-text: var(--color-muted);
}

.palette-tertiary-filled {
    --color-background: var(--color-tertiary);
    --color-border: var(--color-tertiary);
    --color-featured: #ffeb3b;
    --color-text: var(--color-text-light);
}

.palette-tertiary-filled-interactive:hover {
    --color-background: var(--color-tertiary-light);
    --color-border: var(--color-tertiary-light);
    --color-text: var(--color-text-light);
}

.palette-tertiary-filled-interactive:active {
    --color-background: var(--color-tertiary-dark);
    --color-border: var(--color-tertiary-dark);
    --color-text: var(--color-text-light);
}

.palette-tertiary-filled-interactive:focus {
    --color-outline: var(--color-tertiary);
}

.palette-tertiary-filled-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-tertiary-outline {
    --color-background: transparent;
    --color-border: var(--color-tertiary);
    --color-text: var(--color-tertiary);
}

.palette-tertiary-outline-interactive:hover {
    --color-background: var(--color-tertiary-light);
    --color-border: var(--color-tertiary-light);
    --color-text: var(--color-text-light);
}

.palette-tertiary-outline-interactive:active {
    --color-background: var(--color-tertiary-dark);
    --color-border: var(--color-tertiary-dark);
    --color-text: var(--color-text-light);
}

.palette-tertiary-outline-interactive:focus {
    --color-outline: var(--color-tertiary);
}

.palette-tertiary-outline-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-tertiary-alternate {
    --color-background: transparent;
    --color-border: var(--color-tertiary);
    --color-text: var(--color-tertiary);
}

.palette-tertiary-alternate-interactive:hover {
    --color-background: var(--color-tertiary-light);
    --color-border: var(--color-tertiary-light);
    --color-text: var(--color-text-light);
}

.palette-tertiary-alternate-interactive:active {
    --color-background: var(--color-tertiary-dark);
    --color-border: var(--color-tertiary-dark);
    --color-text: var(--color-text-light);
}

.palette-tertiary-alternate-interactive:focus {
    --color-outline: var(--color-tertiary);
}

.palette-tertiary-alternate-interactive:disabled {
    --color-background: var(--color-disabled);
    --color-border: var(--color-muted);
    --color-text: var(--color-muted);
}

.palette-tertiary-link {
    --color-text: var(--color-tertiary);
}

.palette-tertiary-link-interactive:hover {
    --color-text: var(--color-tertiary-light);
}

.palette-tertiary-link-interactive:active {
    --color-text: var(--color-tertiary-dark);
}

.palette-tertiary-link-interactive:focus {
    --color-outline: var(--color-tertiary);
}

.palette-tertiary-link-interactive:disabled {
    --color-text: var(--color-muted);
}

.palette-neutral-link-interactive:hover {
    --color-text: var(--color-primary-light);
}

.palette-neutral-link-interactive:active {
    --color-text: var(--color-primary-dark);
}

.palette-neutral-link-interactive:focus {
    --color-outline: var(--color-text);
}

.palette-neutral-link-interactive:disabled {
    --color-text: var(--color-muted);
}

.palette-nav-menu-item-link {
    background: none;
    border: none;
    color: var(--color-text);
    text-decoration: none;
}

.palette-nav-menu-item-link-interactive:hover {
    background-color: var(--color-secondary-lighter);
}

.palette-nav-menu-item-link-interactive:active {
    background-color: var(--color-tertiary-lighter);
}

.palette-nav-menu-item-link-interactive:focus {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

.palette-nav-submenu-item-link {
    background: none;
    border: none;
    color: var(--color-text);
    text-decoration: none;
}

.palette-nav-submenu-item-link-interactive:hover {
    background-color: var(--color-secondary-lighter);
}

.palette-nav-submenu-item-link-interactive:active {
    background-color: var(--color-tertiary-lighter);
}

.palette-nav-submenu-item-link-interactive:focus {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

.palette-footer-link {
    background: none;
    border: none;
    color: var(--color-text);
    text-decoration: none;
}

.palette-footer-link-interactive:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

.palette-footer-link-interactive:active {
    color: var(--color-primary);
    text-decoration: none;
}

.palette-footer-link-interactive:focus {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

.palette-footer-mobile-menu-item-link {
    background: none;
    border: none;
    color: var(--color-primary);
    text-decoration: none;
}

.palette-footer-mobile-menu-item-link-interactive:focus {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

.palette-plain-link {
    background: none;
    border: none;
    color: var(--color-text);
    text-decoration: underline;
}

.palette-plain-link-interactive:hover {
    color: var(--color-primary);
}

.palette-plain-link-interactive:active {
    color: var(--color-primary);
    text-decoration: none;
}

.palette-plain-link-interactive:focus {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

@media screen and (min-width: 768px) {
    :root {
        --border-radius-lg: .5rem;
        --border-radius-md: .375rem;
        --border-radius-sm: .25rem;
        --box-spacing-lg: 2rem;
        --box-spacing-md: 1.5rem;
        --box-spacing-sm: 1rem;
        --box-spacing-xl: 3rem;
        --box-spacing-xs: .5rem;
        --box-spacing-xxl: 4rem;
        --caption-font-size: .75rem;
        --heading-1-font-size: 3.5rem;
        --heading-2-font-size: 3rem;
        --heading-3-font-size: 2rem;
        --heading-4-font-size: 1.5rem;
        --heading-5-font-size: 1.25rem;
        --heading-6-font-size: 1rem;
        --page-content-spacing-x: 1.5rem;
        --page-content-spacing-y: 3rem;
        --spacing-lg: 1.5rem;
        --spacing-md: 1rem;
        --spacing-sm: .75rem;
        --spacing-xl: 2rem;
        --spacing-xs: .5rem;
        --spacing-xxl: 3rem;
        --spacing-xxs: .25rem;
        --subtitle-1-font-size: 1.125rem;
        --subtitle-2-font-size: 1rem;
        --subtitle-3-font-size: .875rem;
        --subtitle-4-font-size: .8125rem;
        --subtitle-5-font-size: .75rem;
        --subtitle-6-font-size: .6875rem;
        --tagline-1-font-size: 1.25rem;
        --tagline-2-font-size: 1.125rem;
        --tagline-3-font-size: 1rem;
        --tagline-4-font-size: .875rem;
        --tagline-5-font-size: .75rem;
        --tagline-6-font-size: .6875rem;
        --text-font-size-lg: 1.25rem;
        --text-font-size-md: 1rem;
        --text-font-size-sm: .875rem;
        --text-font-size-xl: 1.5rem;
        --text2-font-size-lg: 1rem;
        --text2-font-size-md: .875rem;
        --text2-font-size-sm: .75rem;
        --text2-font-size-xl: 1.125rem;
    }
}

@media screen and (min-width: 1024px) {
    :root {
        --page-content-spacing-x: 3rem;
        --page-content-spacing-y: 4rem;
    }
}

.palette-main,
:root {
    --color-background: #ffffff;
    --color-border: #dee2e6;
    --color-disabled: #ced4da;
    --color-divider: #dee2e6;
    --color-error: #dc3545;
    --color-featured-1: #9dc4ff;
    --color-featured-2: #fffcde;
    --color-featured-3: #f6c2ff;
    --color-featured-4: #d75fff;
    --color-featured-background: #f0fcff;
    --color-icon: var(--color-primary);
    --color-info: #17a2b8;
    --color-muted: #adb5bd;
    --color-neutral-dark: #495057;
    --color-neutral-light: #e9ecef;
    --color-neutral: #cdcace;
    --color-outline: #ced4da;
    --color-primary-dark: #010156;
    --color-primary-ligher: #f8f9fa;
    --color-primary-light: #3a3aff;
    --color-primary: #0505e5;
    --color-secondary-dark: #c9ba00;
    --color-secondary-light: #fceb33;
    --color-secondary-lighter: #fffcde;
    --color-secondary: #fbe700;
    --color-subtitle: #6c757d;
    --color-success: #28a745;
    --color-tagline: #495057;
    --color-tertiary-dark: #0a6ca3;
    --color-tertiary-light: #4fb2f2;
    --color-tertiary-lighter: #66dfff;
    --color-tertiary: #1092db;
    --color-text-dark: #000022;
    --color-text-light: #ffffff;
    --color-text: var(--color-text-dark);
    --color-title: var(--color-primary);
    --color-warning: #ffc107;

    color-scheme: light;
}

.card-container--centered {
    text-align: center;
}

.card-container--left {
    text-align: left;
}

.card-container--rounded {
    border-radius: var(--card-container-border-radius);
    overflow: hidden;
}

.card-container--border {
    border: var(--card-container-border);
}

.card-container--full-width {
    width: 100%;
}

.card-container--elevation-sm {
    box-shadow: 0 1px 3px #0000001f, 0 1px 2px #0000003d;
}

.card-container--elevation-md {
    box-shadow: 0 3px 6px #00000026, 0 2px 4px #0000001f;
}

.card-container--elevation-lg {
    box-shadow: 0 10px 20px #00000026, 0 3px 6px #0000001a;
}

.card-container--hover:hover:not([class*=card-container--elevation-]) {
    box-shadow: 0 1px 3px #0000001f, 0 1px 2px #0000003d;
}

.card-container--hover.card-container--elevation-sm:hover {
    box-shadow: 0 3px 6px #00000026, 0 2px 4px #0000001f;
}

.card-container--hover.card-container--elevation-md:hover {
    box-shadow: 0 10px 20px #00000026, 0 3px 6px #0000001a;
}

.card-container--hover.card-container--elevation-lg:hover {
    box-shadow: 0 10px 20px #00000026, 0 3px 6px #0000001a;
    transform: translateY(-2px);
}

.card {
    --card-footer-margin-top: var(--spacing-xxl);
    --card-spacing-x-base: var(--spacing-sm);
    --card-spacing-x-md: var(--spacing-lg);
    --card-spacing-y-base: var(--spacing-sm);
    --card-spacing-y-md: var(--spacing-lg);
}

.button {
    --button-border-radius: var(--border-radius-md);
    --button-font-family: var(--text-font-family);
    --button-font-size-lg: var(--text-font-size-lg);
    --button-font-size-md: var(--text-font-size-md);
    --button-font-size-sm: var(--text-font-size-sm);
    --button-font-weight: var(--font-weight-bold);
    --button-padding: var(--spacing-sm) var(--spacing-lg);
    --button-transition: var(--transition-quick);

    align-items: center;
    color: var(--color-text);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    position: relative;
    transition: var(--button-transition);
}

.button:not(.button-link) {
    background-color: var(--color-background);
    border-radius: var(--button-border-radius);
    border: 1px solid var(--color-border);
    font-family: var(--button-font-family);
    font-weight: var(--button-font-weight);
    padding: var(--button-padding);
}

.button:focus:not([disabled], :active) {
    outline: 2px dashed var(--color-outline);
    outline-offset: 4px;
}

.button[disabled] {
    cursor: not-allowed;
    pointer-events: none;
}

a.button {
    font-weight: inherit;
    text-decoration: none;
}

button.button-link {
    background-color: transparent;
    border: none;
}

.button-content {
    font-family: var(--button-font-family);
    font-weight: var(--button-font-weight);
    transition: opacity var(--button-transition);
}

.button-content-hidden {
    opacity: 0;
}

.button-content--sm {
    font-size: var(--button-font-size-sm);
}

.button-content--md {
    font-size: var(--button-font-size-md);
}

.button-content--lg {
    font-size: var(--button-font-size-lg);
}

.button-loader {
    font-family: var(--button-font-family);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.button-content-sm~.button-loader {
    font-size: var(--button-font-size-sm);
}

.button-content-md~.button-loader {
    font-size: var(--button-font-size-md);
}

.button-content-lg~.button-loader {
    font-size: var(--button-font-size-lg);
}

.button-icon--left-with-text {
    margin-right: .5rem;
}

.button-text {
    white-space: nowrap;
}

.button-icon--right-with-text {
    margin-left: .5rem;
}

.t-image__container {
    display: inline-block;
    height: var(--height-base);
    overflow: hidden;
    width: var(--width-base);
}

@media (min-width: 768px) {
    .t-image__container {
        height: var(--height-md);
        width: var(--width-md);
    }
}

@media (min-width: 1024px) {
    .t-image__container {
        height: var(--height-lg);
        width: var(--width-lg);
    }
}

@media (min-width: 1280px) {
    .t-image__container {
        height: var(--height-xl);
        width: var(--width-xl);
    }
}

.t-image {
    height: 100%;
    width: 100%;
}

.t-image--fit-contain {
    object-fit: contain;
}

.t-image--fit-cover {
    object-fit: cover;
}

.card-header--image {
    background-color: var(--color-background-header);
}

.card:not(.card--no-padding) {
    margin: var(--card-spacing-y-base) var(--card-spacing-x-base);
}

.card-heading,
.card-content {
    margin-top: var(--card-spacing-y-base);
}

.card-footer {
    margin-top: var(--card-footer-margin-top);
}

.card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-top: var(--card-spacing-y-base);
}

.card-actions--left {
    justify-content: flex-start;
}

.card-actions--center {
    justify-content: center;
}

.card-actions--right {
    justify-content: flex-end;
}

@media (min-width: 768px) {
    .card-actions[data-position-md=left] {
        justify-content: flex-start;
    }

    .card-actions[data-position-md=center] {
        justify-content: center;
    }

    .card-actions[data-position-md=right] {
        justify-content: flex-end;
    }
}

@media (min-width: 1024px) {
    .card-actions[data-position-lg=left] {
        justify-content: flex-start;
    }

    .card-actions[data-position-lg=center] {
        justify-content: center;
    }

    .card-actions[data-position-lg=right] {
        justify-content: flex-end;
    }
}

@media (min-width: 1280px) {
    .card-actions[data-position-xl=left] {
        justify-content: flex-start;
    }

    .card-actions[data-position-xl=center] {
        justify-content: center;
    }

    .card-actions[data-position-xl=right] {
        justify-content: flex-end;
    }
}

.icon-card {
    --icon-margin-bottom: var(--spacing-md);
    --icon-margin-right: var(--spacing-md);
    --icon-size-lg: var(--text-font-size-xl);
    --icon-size-md: var(--text-font-size-md);
    --icon-size-sm: var(--text-font-size-sm);
    --icon-size-xl: var(--heading-3-font-size);

    flex-grow: 1;
    max-width: var(--card-with-icon-cards-cards-max-width);
}

.icon-card:not(.icon-card--no-padding) {
    padding: var(--card-spacing-y-base) var(--card-spacing-x-base);
}

.card--left {
    display: flex;
}

.icon-container {
    color: var(--color-icon);
}

.icon--align-top {
    vertical-align: top;
}

.icon--align-center {
    vertical-align: center;
}

.icon--align-baseline {
    vertical-align: baseline;
}

.icon--sm {
    font-size: var(--icon-size-sm);
}

.icon--md {
    font-size: var(--icon-size-md);
}

.icon--lg {
    font-size: var(--icon-size-lg);
}

.icon--xl {
    font-size: var(--icon-size-xl);
}

.icon-top {
    margin-bottom: var(--icon-margin-bottom);
}

.icon-top--center {
    text-align: center;
}

.icon-left {
    display: flex;
    margin-right: var(--icon-margin-right);
}

.icon-left--top {
    align-self: flex-start;
}

.icon-left--center {
    align-self: center;
}

.text {
    font-family: var(--text-font-family);
    margin-bottom: var(--card-with-image-lists-text-spacing);
}

.text2 {
    font-family: var(--text2-font-family);
}

.text--no-margin,
.text2--no-margin {
    margin-bottom: 0;
    margin-top: 0;
}

.text--margin {
    margin-bottom: var(--text-margin-bottom);
    margin-top: var(--text-margin-top);
}

.text2--margin {
    margin-bottom: var(--text2-margin-bottom);
    margin-top: var(--text2-margin-top);
}

.text--size-sm {
    font-size: var(--text-font-size-sm);
    line-height: var(--text-line-height-sm);
}

.text2--size-sm {
    font-size: var(--text2-font-size-sm);
    line-height: var(--text2-line-height-sm);
}

.text--size-md {
    font-size: var(--text-font-size-md);
    line-height: var(--text-line-height-md);
}

.text2--size-md {
    font-size: var(--text2-font-size-md);
    line-height: var(--text2-line-height-md);
}

.text--size-lg {
    font-size: var(--text-font-size-lg);
    line-height: var(--text-line-height-lg);
}

.text2--size-lg {
    font-size: var(--text2-font-size-lg);
    line-height: var(--text2-line-height-lg);
}

.text--size-xl {
    font-size: var(--text-font-size-xl);
    line-height: var(--text-line-height-xl);
}

.text2--size-xl {
    font-size: var(--text2-font-size-xl);
    line-height: var(--text2-line-height-xl);
}

.text--weight-light {
    font-weight: var(--font-weight-light);
}

.text--weight-regular {
    font-weight: var(--font-weight-regular);
}

.text--weight-medium {
    font-weight: var(--font-weight-medium);
}

.text--weight-bold {
    font-weight: var(--font-weight-bold);
}

.icon-list-card {
    --icon-list-list-gap: var(--spacing-lg);
    --icon-list-list-margin-top: var(--spacing-lg);
}

.icon-list {
    display: flex;
    flex-direction: column;
}

.icon-list--with-text {
    margin-top: var(--icon-list-list-margin-top);
}

.icon-list-item:not(:last-child) {
    margin-bottom: var(--icon-list-list-gap);
}

.two-column {
    --two-column-gap: var(--spacing-xxl);

    display: flex;
    flex-direction: column;
    gap: var(--two-column-gap);
    margin: 0 auto;
    max-width: 1440px;
}

.two-column__left,
.two-column__right {
    width: 100%;
}

.two-column--stack-right-first {
    flex-direction: column-reverse;
}

@media (min-width: 768px) {
    .two-column {
        flex-direction: row;
    }

    .two-column__left,
    .two-column__right {
        flex: 1;
        width: auto;
    }

    .two-column--stack-right-first {
        flex-direction: row;
    }

    .two-column--align-top {
        align-items: flex-start;
    }

    .two-column--align-center {
        align-items: center;
    }

    .two-column--align-bottom {
        align-items: flex-end;
    }
}

.card-with-two-columns {
    --card-with-two-columns-text-spacing: var(--spacing-md);

    margin: 0 auto;
    max-width: 1440px;
}

.card-with-two-columns__text {
    margin-bottom: var(--card-with-two-columns-text-spacing);
}

.card-with-two-columns__two-column {
    flex: 1;
}

.card-with-icon-cards {
    --card-with-icon-cards-cards-gap: var(--spacing-xl);
    --card-with-icon-cards-cards-max-width: 300px;
    --card-with-icon-cards-text-spacing: var(--spacing-lg);

    margin: 0 auto;
    max-width: 1440px;
}

.icon-cards {
    display: flex;
    flex-wrap: wrap;
    gap: var(--card-with-icon-cards-cards-gap);
    justify-content: center;
}


.card-with-image-lists {
    margin: 0 auto;
    max-width: 1440px;
}

.image-lists {
    display: flex;
    flex-direction: column;
    gap: var(--card-with-image-lists-images-gap);
}

.image-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--card-with-image-lists-images-gap);
    justify-content: center;
}

.image {
    flex-shrink: 0;
}

.card-with-two-column-tabs {
    --card-with-two-column-tabs-tab-list-border-color: transparent;
    --card-with-two-column-tabs-tab-list-item-active-color: var(--color-title);
    --card-with-two-column-tabs-tab-list-item-border-spacing: var(--text-spacing-sm);
    --card-with-two-column-tabs-tab-list-item-border-width: 2px;
    --card-with-two-column-tabs-tab-list-item-font-size: var(--text-font-size-md);
    --card-with-two-column-tabs-tab-list-item-font-weight: var(--font-weight-medium);
    --card-with-two-column-tabs-tab-list-item-spacing: var(--text-spacing-xl);
    --card-with-two-column-tabs-tab-list-margin-bottom: var(--spacing-xl);
    --card-with-two-column-tabs-tab-list-margin-top: var(--spacing-xxl);
    --card-with-two-column-tabs-tab-panel-spacing-x: var(--spacing-xl);
    --card-with-two-column-tabs-tab-panel-spacing-y: var(--spacing-xl);

    margin: 0 auto;
    max-width: 1440px;
}

.card-with-two-column-tabs__text {
    margin-bottom: var(--card-with-two-column-tabs-text-spacing);
}

.card-with-two-column-tabs__tab-list-container {
    margin-bottom: var(--card-with-two-column-tabs-tab-list-margin-bottom);
    margin-top: var(--card-with-two-column-tabs-tab-list-margin-top);
}

@media (min-width: 768px) {
    .card-with-two-column-tabs__tab-list-container {
        display: flex;
        justify-content: center;
    }
}

.card-with-two-column-tabs__tab-list {
    border-bottom: var(--card-with-two-column-tabs-tab-list-item-border-width) solid var(--card-with-two-column-tabs-tab-list-border-color);
}

.card-with-two-column-tabs__tab-list-content {
    width: max-content;
}

.card-with-two-column-tabs__tab-list-item {
    background: none;
    border-bottom: var(--card-with-two-column-tabs-tab-list-item-border-width) solid transparent;
    border: none;
    cursor: pointer;
    font-size: var(--card-with-two-column-tabs-tab-list-item-font-size);
    font-weight: var(--card-with-two-column-tabs-tab-list-item-font-weight);
    margin: 0 0 calc(var(--card-with-two-column-tabs-tab-list-item-border-width) * -1);
    padding: 0 0 var(--card-with-two-column-tabs-tab-list-item-border-spacing) 0;
    transition: color var(--transition-regular) ease-in-out, border-bottom-color var(--transition-regular) ease-in-out;
}

.card-with-two-column-tabs__tab-list-item+.card-with-two-column-tabs__tab-list-item {
    margin-left: var(--card-with-two-column-tabs-tab-list-item-spacing);
}

.card-with-two-column-tabs__tab-list-item[data-p-active=true] {
    border-bottom-color: var(--card-with-two-column-tabs-tab-list-item-active-color);
    color: var(--card-with-two-column-tabs-tab-list-item-active-color);
}

.card-with-two-column-tabs__tab-panel {
    background: var(--color-background);
    padding: var(--card-with-two-column-tabs-tab-panel-spacing-y) var(--card-with-two-column-tabs-tab-panel-spacing-x);
}

.carousel {
    --carousel-button-active-background-color: #eeeeee;
    --carousel-button-active-border-color: #e2e8f0;
    --carousel-button-active-box-shadow: none;
    --carousel-button-active-color: #64748b;
    --carousel-button-active-transform: scale(.95);
    --carousel-button-arrow-size: .9rem;
    --carousel-button-background-color: #ffffff;
    --carousel-button-border-radius: 50%;
    --carousel-button-border: 1px solid #e2e8f0;
    --carousel-button-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);
    --carousel-button-color: #64748b;
    --carousel-button-hover-background-color: #f8fafc;
    --carousel-button-hover-border-color: #cbd5e1;
    --carousel-button-hover-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);
    --carousel-button-hover-color: #475569;
    --carousel-button-hover-transform: scale(1.05);
    --carousel-button-size: 2.5rem;
    --carousel-button-transition-duration: .25s;
    --carousel-controls-gap: 1rem;
    --carousel-controls-margin-top: 1.5rem;
    --carousel-indicator-animation-duration: .3s;
    --carousel-indicator-aura-color-active: rgba(71, 85, 105, .2);
    --carousel-indicator-aura-color: rgba(148, 163, 184, .2);
    --carousel-indicator-aura-position: -4px;
    --carousel-indicator-background-color-active: #475569;
    --carousel-indicator-background-color-hover: #94a3b8;
    --carousel-indicator-background-color: #cbd5e1;
    --carousel-indicator-border-radius: 50%;
    --carousel-indicator-border: none;
    --carousel-indicator-gap: .5rem;
    --carousel-indicator-margin-top: 1rem;
    --carousel-indicator-size: 12px;
    --carousel-slide-hover-transition-duration: .2s;
    --carousel-slide-hover-translate-y: -2px;
}

.carousel-container {
    align-items: center;
    display: flex;
}

.carousel-indicators-inline .carousel-container {
    gap: var(--carousel-controls-gap);
}

.slides-viewport {
    overflow: hidden;
}

.slides-container {
    display: flex;
    width: 100%;
}

.slide {
    display: flex;
    flex-shrink: 0;
    transition: transform var(--carousel-slide-hover-transition-duration) ease-in-out;
    will-change: transform;
}

.carousel-nav-button {
    align-items: center;
    background: var(--carousel-button-background-color);
    border-radius: var(--carousel-button-border-radius);
    border: var(--carousel-button-border);
    box-shadow: var(--carousel-button-box-shadow);
    color: var(--carousel-button-color);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    height: var(--carousel-button-size);
    justify-content: center;
    transition: all var(--carousel-button-transition-duration) cubic-bezier(.4, 0, .2, 1);
    width: var(--carousel-button-size);
}

.carousel-nav-button:hover:not(:disabled) {
    background-color: var(--carousel-button-hover-background-color);
    border-color: var(--carousel-button-hover-border-color);
    box-shadow: var(--carousel-button-hover-box-shadow);
    color: var(--carousel-button-hover-color);
    transform: var(--carousel-button-hover-transform);
}

.carousel-nav-button:active:not(:disabled) {
    background-color: var(--carousel-button-active-background-color);
    border-color: var(--carousel-button-active-border-color);
    box-shadow: var(--carousel-button-active-box-shadow);
    color: var(--carousel-button-active-color);
    transform: var(--carousel-button-active-transform);
}

.carousel-nav-button:disabled {
    cursor: not-allowed;
    opacity: .5;
    transform: none;
}

.carousel-nav-button svg {
    height: var(--carousel-button-arrow-size);
    transition: transform var(--carousel-button-transition-duration) ease-in-out;
    width: var(--carousel-button-arrow-size);
}

.carousel-nav-button:hover:not(:disabled) svg {
    transform: scale(1.1);
}

.bottom-controls {
    align-items: center;
    display: flex;
    gap: var(--carousel-controls-gap);
    justify-content: center;
    margin-top: var(--carousel-controls-margin-top);
}

.carousel-indicators-container,
.carousel-indicators-inline-container {
    display: flex;
    justify-content: center;
    margin-top: var(--carousel-controls-margin-top);
}

.carousel-indicators {
    align-items: center;
    display: flex;
    gap: var(--carousel-indicator-gap);
}

.carousel-indicator {
    background: var(--carousel-indicator-background-color);
    border-radius: var(--carousel-indicator-border-radius);
    border: var(--carousel-indicator-border);
    cursor: pointer;
    height: var(--carousel-indicator-size);
    position: relative;
    transition: all var(--carousel-indicator-animation-duration) cubic-bezier(.4, 0, .2, 1);
    width: var(--carousel-indicator-size);
}

.carousel-indicator:before {
    background-color: transparent;
    border-radius: var(--carousel-indicator-border-radius);
    bottom: var(--carousel-indicator-aura-position);
    content: "";
    left: var(--carousel-indicator-aura-position);
    position: absolute;
    right: var(--carousel-indicator-aura-position);
    top: var(--carousel-indicator-aura-position);
    transition: background-color var(--carousel-indicator-animation-duration) ease-in-out;
}

.carousel-indicator:hover {
    background-color: var(--carousel-indicator-background-color-hover);
    transform: scale(1.1);
}

.carousel-indicator:hover:before {
    background-color: var(--carousel-indicator-aura-color);
}

.carousel-indicator.active {
    background-color: var(--carousel-indicator-background-color-active);
    transform: scale(1.3);
}

.carousel-indicator.active:before {
    background-color: var(--carousel-indicator-aura-color-active);
}

.carousel-smooth .slides-viewport {
    overflow: hidden;
}

.slides-container-smooth {
    will-change: transform;
}


.image-carousel__text {
    max-width: var(--image-carousel-text-max-width-base);
    text-align: center;
}

@media (min-width: 768px) {
    .image-carousel__text {
        max-width: 100%;
    }
}

.image-carousel {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--image-carousel-gap-vertical);
    margin: 0 auto;
    max-width: 1440px;
    overflow: hidden;
}

@media (min-width: 768px) {
    .image-carousel {
        gap: var(--image-carousel-gap-horizontal);
    }
}

@media (min-width: 768px) {
    .image-carousel--horizontal:not(.image-carousel__carousel-only) {
        display: grid;
        grid-template-columns: var(--image-carousel-text-max-width-md) 3fr;
    }
}

@media (min-width: 1024px) {
    .image-carousel--horizontal:not(.image-carousel__carousel-only) {
        grid-template-columns: var(--image-carousel-text-max-width-lg) 3fr;
    }
}

@media (min-width: 1280px) {
    .image-carousel--horizontal:not(.image-carousel__carousel-only) {
        grid-template-columns: var(--image-carousel-text-max-width-xl) 3fr;
    }
}

@media (min-width: 768px) {
    .image-carousel--horizontal .image-carousel__text {
        text-align: left;
    }
}

.image-carousel__carousel {
    position: relative;
}

.image-carousel__carousel:before,
.image-carousel__carousel:after {
    bottom: 0;
    content: "";
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 2rem;
    z-index: 1;
}

@media (min-width: 768px) {

    .image-carousel__carousel:before,
    .image-carousel__carousel:after {
        width: 4rem;
    }
}

.image-carousel__carousel:before {
    background: linear-gradient(to right, var(--color-background), transparent);
    left: 0;
}

.image-carousel__carousel:after {
    background: linear-gradient(to left, var(--color-background), transparent);
    right: 0;
}

.avatar {
    --avatar-background-color: var(--color-neutral-light);
    --avatar-border-radius: .2rem;
    --avatar-border: 1px solid var(--color-neutral);
    --avatar-color: var(--color-neutral);
    --avatar-font-weight: var(--font-weight-medium);
    --avatar-size-lg: 3rem;
    --avatar-size-md: 2.5rem;
    --avatar-size-sm: 2rem;
    --avatar-size-xl: 4rem;
}

.avatar {
    align-items: center;
    background-color: var(--avatar-background-color);
    border: var(--avatar-border);
    color: var(--avatar-color);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.avatar--link {
    cursor: pointer;
    text-decoration: none;
}

.avatar--button {
    border: none;
    cursor: pointer;
    padding: 0;
}

.avatar-text {
    font-weight: var(--avatar-font-weight);
}

.avatar-image {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.avatar--border {
    background-color: var(--avatar-background-color);
    border: var(--avatar-border);
    color: var(--avatar-color);
}

.avatar--size-sm {
    height: var(--avatar-size-sm);
    width: var(--avatar-size-sm);
}

.avatar--size-md {
    height: var(--avatar-size-md);
    width: var(--avatar-size-md);
}

.avatar--size-lg {
    height: var(--avatar-size-lg);
    width: var(--avatar-size-lg);
}

.avatar--size-xl {
    height: var(--avatar-size-xl);
    width: var(--avatar-size-xl);
}

.avatar--shape-circle {
    border-radius: 50%;
}

.avatar--shape-rectangle {
    border-radius: var(--avatar-border-radius);
}

.testimonial-card {
    --logo-spacing-bottom: var(--spacing-xxl);
}


.testimonial-card:not(.card--no-padding) {
    margin: 0;
    padding: var(--card-spacing-y-base) var(--card-spacing-x-base);
}

@media (min-width: 768px) {
    .testimonial-card:not(.card--no-padding) {
        padding: var(--card-spacing-y-md) var(--card-spacing-x-md);
    }
}

.testimonial-logo {
    margin-bottom: var(--logo-spacing-bottom);
}

.testimonial-logo {
    align-items: center;
    display: flex;
    height: 40px;
}

.logo-image {
    max-height: 100%;
    max-width: 120px;
    object-fit: contain;
}

.testimonial-profile {
    align-items: center;
    display: flex;
    gap: 15px;
}

.testimonial-info {
    display: flex;
    flex-direction: column;
}

.testimonial-button {
    margin-top: 1rem;
    padding-left: 0;
}


:root {
    --carousel-button-background-color: #00bcfe;
    --carousel-button-border-radius: 4px;
    --carousel-button-color: var(--color-primary);
    --carousel-button-gap: var(--spacing-sm);
    --carousel-button-size: var(--spacing-xxl);
    --carousel-indicator-active-color: var(--color-primary);
    --carousel-indicator-gap: var(--spacing-xs);
    --carousel-indicator-inactive-color: var(--color-gray-300);
    --carousel-indicator-size: var(--spacing-xs);
}

.card-carousel__navigation {
    --carousel-button-background-color: #00bcfe;
    --carousel-button-border-radius: 4px;
    --carousel-button-border: 1px solid #00bcfe;
    --carousel-button-size: 3rem;
}

.card-carousel__indicators {
    --carousel-indicator-gap: .75rem;
}

.carousel-indicator {
    --carousel-indicator-background-color: var(--carousel-indicator-background-color-active);
}

.carousel-indicator.active.active {
    background-color: #fff;
}

.card-carousel__heading {
    max-width: var(--card-carousel-text-max-width-base);
    text-align: center;
}

@media (min-width: 768px) {
    .card-carousel__heading {
        max-width: var(--card-carousel-text-max-width-md);
    }
}

@media (min-width: 1024px) {
    .card-carousel__heading {
        max-width: var(--card-carousel-text-max-width-lg);
    }
}

@media (min-width: 1280px) {
    .card-carousel__heading {
        max-width: var(--card-carousel-text-max-width-xl);
    }
}

.card-carousel {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--card-carousel-gap);
    margin: 0 auto;
    max-width: 1440px;
}

.card-carousel__carousel {
    position: relative;
    width: 100%;
}

.card-carousel__custom-controls {
    align-items: center;
    display: flex;
    gap: var(--card-carousel-custom-controls-gap);
    justify-content: space-between;
    margin-top: var(--carousel-controls-margin-top);
}

.card-carousel__indicators {
    align-items: center;
    display: flex;
    gap: var(--carousel-indicator-gap);
}

.card-carousel__navigation {
    align-items: center;
    display: flex;
    gap: var(--carousel-controls-gap);
}

.carousel-indicator {
    background: var(--carousel-indicator-background-color);
    border-radius: var(--carousel-indicator-border-radius);
    border: var(--carousel-indicator-border);
    cursor: pointer;
    height: var(--carousel-indicator-size);
    position: relative;
    transition: all var(--carousel-indicator-animation-duration) cubic-bezier(.4, 0, .2, 1);
    width: var(--carousel-indicator-size);
}

.carousel-indicator:before {
    background-color: transparent;
    border-radius: var(--carousel-indicator-border-radius);
    bottom: var(--carousel-indicator-aura-position);
    content: "";
    left: var(--carousel-indicator-aura-position);
    position: absolute;
    right: var(--carousel-indicator-aura-position);
    top: var(--carousel-indicator-aura-position);
    transition: background-color var(--carousel-indicator-animation-duration) ease-in-out;
}

.carousel-indicator:hover {
    background-color: var(--carousel-indicator-background-color-hover);
    transform: scale(1.1);
}

.carousel-indicator:hover:before {
    background-color: var(--carousel-indicator-aura-color);
}

.carousel-indicator.active {
    background-color: var(--carousel-indicator-background-color-active);
    transform: scale(1.3);
}

.carousel-indicator.active:before {
    background-color: var(--carousel-indicator-aura-color-active);
}

.carousel-nav-button:hover:not(:disabled) svg {
    transform: scale(1.1);
}

.nav-button {
    --nav-button-background-active: var(--color-tertiary-lighter);
    --nav-button-background-hover: var(--color-secondary-lighter);
    --nav-button-color-active: var(--color-text);
    --nav-button-color-hover: var(--color-text);
    --nav-button-color: var(--color-text);
    --nav-button-description-color: var(--color-text);
    --nav-button-description-font-size: var(--text-font-size-sm);
    --nav-button-description-weight: var(--font-weight-regular);
    --nav-button-extended-link-font-size: var(--text-font-size-sm);
    --nav-button-icon-size-lg: var(--text-font-size-lg);
    --nav-button-icon-size-md: var(--text-font-size-md);
    --nav-button-link-weight-bold: var(--font-weight-bold);
    --nav-button-menu-item-weight: var(--font-weight-medium);

    align-items: center;
    border-radius: var(--border-radius-lg);
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: inherit;
    padding: var(--spacing-xs) var(--spacing-md);
    transition: color var(--transition-quick);
}

.nav-button--extended {
    font-size: var(--nav-button-extended-link-font-size);
    padding: var(--spacing-xs) var(--spacing-sm);
}

.nav-button--align-to-left {
    margin-left: calc(var(--spacing-sm) * -1);
}

.nav-button__extended-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxs);
    width: 100%;
}

.nav-button__title {
    align-items: center;
    display: flex;
    gap: var(--spacing-xs);
    position: relative;
    width: 100%;
}

.nav-button__icon--md {
    font-size: var(--nav-button-icon-size-md);
}

.nav-button__icon--lg {
    font-size: var(--nav-button-icon-size-lg);
}

.nav-button__label {
    flex: 1;
    padding-right: var(--text-spacing-xl);
}


.nav-button__right-icon {
    align-items: center;
    bottom: 0;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
}

.nav-button__right-icon-element {
    align-items: center;
    display: flex;
    height: 1rem;
    justify-content: center;
    width: 1rem;
}

.nav-button__description {
    color: var(--nav-button-description-color);
    font-size: var(--nav-button-description-font-size);
    font-weight: var(--nav-button-description-weight);
    line-height: 1.4;
    margin: 0;
    width: 100%;
}

.desktop-nav {
    display: none;
}

@media (min-width: 768px) {
    .desktop-nav {
        display: flex;
    }
}

.desktop-nav__menu-item-container {
    position: relative;
}

.desktop-nav__dropdown-icon {
    font-size: var(--website-navigation-dropdown-icon-font-size);
    margin-left: var(--spacing-xs);
    transition: transform var(--transition-quick);
}

.desktop-nav__menu-item-container:hover .desktop-nav__dropdown-icon {
    transform: rotate(-180deg);
}

.desktop-nav__submenu {
    background: var(--color-background);
    border-radius: var(--border-radius-md);
    left: 0;
    margin-top: var(--spacing-xs);
    max-height: calc(100vh - var(--website-navigation-desktop-menu-max-height));
    opacity: 0;
    overflow-y: auto;
    padding: var(--spacing-xl);
    position: absolute;
    top: 100%;
    transform: translateY(-10px);
    transition: opacity var(--transition-quick), visibility var(--transition-quick), transform var(--transition-quick);
    visibility: hidden;
    width: max-content;
    z-index: 1000;
}

.desktop-nav.desktop-nav--border .desktop-nav__submenu {
    border: var(--website-navigation-submenu-panel-border);
}

.desktop-nav:not(.desktop-nav--border) .desktop-nav__submenu {
    box-shadow: var(--elevation-md);
}

.desktop-nav__submenu.show {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.desktop-nav__submenu-content {
    display: flex;
    flex-wrap: wrap;
    gap: var(--website-navigation-items-group-gap-horizontal);
    max-width: 90vw;
    width: fit-content;
}


.desktop-nav__submenu-group {
    flex: 0 0 auto;
    min-width: 0;
    position: relative;
}

.desktop-nav--separator :not(.desktop-nav__submenu-content--stacked)>.desktop-nav__submenu-group:not(:first-child):before {
    border-left: var(--website-navigation-submenu-panel-border);
    content: "";
    display: block;
    height: 100%;
    left: calc(var(--website-navigation-items-group-gap-horizontal) * -.5);
    position: absolute;
}

.desktop-nav--separator .desktop-nav__submenu-content--stacked>.desktop-nav__submenu-group:not(:first-child):before {
    border-top: var(--website-navigation-submenu-panel-border);
    content: "";
    display: block;
    position: absolute;
    top: calc(var(--website-navigation-items-group-gap-vertical) * -.5);
    width: 100%;
}

.desktop-nav__submenu-group-columns {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: max-content;
}

.desktop-nav__submenu-group-columns--multi {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 32px;
}

.desktop-nav__submenu-column {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: var(--website-navigation-submenu-item-gap);
}

.desktop-nav__submenu-item {
    display: flex;
}

.desktop-nav__submenu-last-item {
    margin-top: var(--website-navigation-submenu-item-gap);
}

.desktop-nav__submenu-group-title {
    color: var(--website-navigation-group-title-color);
    margin-bottom: var(--website-navigation-submenu-item-gap);
    margin-top: 0;
    padding: 0;
}

.mobile-actions {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin-top: auto;
    padding: var(--spacing-md);
}

.mobile-actions__top-actions {
    display: flex;
    gap: var(--website-navigation-actions-group-gap);
    justify-content: center;
}

.mobile-actions__main-actions {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xs);
}

.mobile-nav {
    background: var(--color-background, white);
    border-bottom: var(--website-navigation-border-bottom);
    box-shadow: var(--elevation-md);
    left: 0;
    max-height: calc(100vh - var(--website-navigation-mobile-menu-max-height));
    overflow-y: auto;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 1002;
}

@media (min-width: 768px) {
    .mobile-nav {
        display: none;
    }
}

.mobile-nav__content {
    background: var(--color-featured-background);
    padding: var(--spacing-md);
}

.mobile-nav__menu {
    display: flex;
    flex-direction: column;
    gap: var(--website-navigation-mobile-menu-item-gap);
}

.mobile-nav__menu-item {
    justify-content: space-between;
    width: 100%;
}

.mobile-nav__dropdown-icon {
    transition: transform var(--transition-quick);
}

.mobile-nav__dropdown-icon--expanded {
    transform: rotate(-180deg);
}

.mobile-nav__submenu {
    background: var(--color-background, white);
    border-radius: var(--border-radius-lg);
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s;
    visibility: hidden;
}

.mobile-nav__submenu--expanded {
    max-height: var(--website-navigation-mobile-submenu-max-height);
    visibility: visible;
}

.mobile-nav__submenu-content {
    display: flex;
    flex-direction: column;
    gap: var(--website-navigation-items-group-gap-vertical);
    margin: var(--spacing-md);
}

.mobile-nav__submenu-group {
    position: relative;
}

.mobile-nav__submenu--separator .mobile-nav__submenu-group:not(:first-child):before {
    border-top: var(--website-navigation-submenu-panel-border);
    content: "";
    display: block;
    position: absolute;
    top: calc(var(--website-navigation-items-group-gap-vertical) * -.5);
    width: 100%;
}

.mobile-nav__submenu-group-title {
    color: var(--website-navigation-group-title-color);
    margin-bottom: var(--website-navigation-submenu-item-gap);
    margin-top: 0;
    padding: 0;
}

.mobile-nav__submenu-column {
    display: flex;
    flex-direction: column;
    gap: var(--website-navigation-submenu-item-gap);
}

.mobile-nav__submenu-last-item {
    margin-top: var(--website-navigation-submenu-item-gap);
}

.mobile-nav__submenu-link {
    margin-right: calc(var(--spacing-sm) * -1);
}

.website-navigation {
    --website-navigation-actions-group-gap: var(--spacing-lg);
    --website-navigation-border-bottom: 1px solid var(--color-neutral);
    --website-navigation-button-gap: var(--spacing-sm);
    --website-navigation-color-active: var(--color-tertiary-lighter);
    --website-navigation-color-hover: var(--color-secondary-lighter);
    --website-navigation-desktop-menu-max-height: 140px;
    --website-navigation-dropdown-icon-font-size: var(--text-font-size-sm);
    --website-navigation-group-title-color: var(--color-primary);
    --website-navigation-items-group-gap-horizontal: calc(2 * var(--spacing-xl));
    --website-navigation-items-group-gap-vertical: calc(2 * var(--spacing-md));
    --website-navigation-link-gap: var(--spacing-md);
    --website-navigation-main-row-gap: var(--spacing-md);
    --website-navigation-mobile-background: var(--color-tertiary-lighter);
    --website-navigation-mobile-menu-item-gap: var(--spacing-md);
    --website-navigation-mobile-menu-max-height: 140px;
    --website-navigation-mobile-submenu-max-height: 800px;
    --website-navigation-padding-y: var(--spacing-md);
    --website-navigation-rows-gap: var(--spacing-sm);
    --website-navigation-submenu-item-gap: var(--spacing-xs);
    --website-navigation-submenu-panel-border: 1px solid var(--color-tertiary-lighter);

    background: var(--color-background, white);
    border-bottom: var(--website-navigation-border-bottom);
    padding-bottom: var(--website-navigation-padding-y);
    padding-top: var(--website-navigation-padding-y);
    position: relative;
    z-index: 1001;
}

.website-navigation-container {
    left: 0;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.website-navigation__page-overlay {
    background: #00000080;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 999;
}

@media (min-width: 768px) {
    .website-navigation__page-overlay {
        display: none;
    }
}

.website-navigation--wide-layout {
    display: none;
}

@media (min-width: 1250px) {
    .website-navigation--wide-layout {
        display: block;
    }
}

.website-navigation__compact-layout {
    display: block;
}

@media (min-width: 1250px) {
    .website-navigation__compact-layout {
        display: none;
    }
}

.website-navigation__top-row {
    align-items: center;
}

@media (min-width: 768px) {
    .website-navigation__top-row {
        margin-bottom: var(--website-navigation-rows-gap);
    }
}

.website-navigation__top-row--wide-layout {
    display: none;
}

@media (min-width: 768px) {
    .website-navigation__top-row--wide-layout {
        display: flex;
        justify-content: flex-end;
        gap: var(--website-navigation-link-gap);
    }
}

.website-navigation__main-row--wide-layout {
    align-items: center;
    display: flex;
    gap: var(--website-navigation-main-row-gap);
    justify-content: space-between;
}

.website-navigation__main-actions--wide-layout {
    display: none;
}

@media (min-width: 768px) {
    .website-navigation__main-actions--wide-layout {
        align-items: center;
        display: flex;
        gap: var(--website-navigation-button-gap);
    }
}

.website-navigation__top-row--compact-layout {
    display: flex;
    justify-content: space-between;
    gap: var(--website-navigation-main-row-gap);
}

.website-navigation__actions--compact-layout {
    align-items: center;
    display: flex;
    gap: var(--website-navigation-actions-group-gap);
}

.website-navigation__top-actions--compact-layout {
    display: none;
}

@media (min-width: 768px) {
    .website-navigation__top-actions--compact-layout {
        align-items: center;
        display: flex;
        gap: var(--website-navigation-link-gap);
    }
}

.website-navigation__main-actions--compact-layout {
    display: none;
}

@media (min-width: 768px) {
    .website-navigation__main-actions--compact-layout {
        align-items: center;
        display: flex;
        gap: var(--website-navigation-button-gap);
    }
}

@media (min-width: 768px) {
    .website-navigation__main-row--compact-layout {
        display: block;
        margin: 0 auto;
        width: max-content;
    }
}

.website-navigation__mobile-menu-button {
    display: flex;
    transition: transform var(--transition-quick);
}

@media (min-width: 768px) {
    .website-navigation__mobile-menu-button {
        display: none;
    }
}

.website-navigation__mobile-menu-button--open {
    transform: rotate(180deg);
}

.website-navigation-fixed-spacer {
    padding-top: calc(var(--website-navigation-padding-y) * 2 + 3rem);
}

@media (min-width: 768px) {
    .website-navigation-fixed-spacer {
        padding-top: calc(var(--website-navigation-padding-y) * 2 + 4rem);
    }
}

@media (min-width: 1250px) {
    .website-navigation-fixed-spacer {
        padding-top: calc(var(--website-navigation-padding-y) * 2 + 4rem);
    }
}

.footer {
    --footer-border-top: none;
    --footer-brand-desktop-margin-right: var(--box-spacing-xl);
    --footer-brand-spacing: var(--spacing-xl);
    --footer-column-items-gap: var(--spacing-sm);
    --footer-columns-gap: var(--spacing-xxl);
    --footer-columns-max-width-lg: 670px;
    --footer-columns-max-width-md: 670px;
    --footer-columns-max-width-xl: 100%;
    --footer-label-color-desktop: var(--color-primary);
    --footer-mobile-section-gap: var(--spacing-xl);
    --footer-mobile-submenu-max-height: 500px;
    --footer-spacing-bottom: var(--box-spacing-sm);
    --footer-spacing-top: var(--page-content-spacing-y);

    border-top: var(--footer-border-top);
    padding-bottom: var(--footer-spacing-bottom);
    padding-top: var(--footer-spacing-top);
    position: relative;
}

.footer-brand {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--footer-brand-spacing);
}

.footer-brand__social {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}


.footer-legal {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

@media (min-width: 768px) {
    .footer-legal {
        flex-direction: row;
        gap: var(--spacing-xxl);
        justify-content: space-between;
    }
}

.footer-legal__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-columns-desktop {
    display: grid;
    grid-template-columns: repeat(2,auto);
    justify-content: space-evenly;
    gap: var(--footer-columns-gap);
}

.footer-columns-desktop__column-title {
    color: var(--footer-label-color-desktop);
}

.footer-columns-desktop__column-items {
    display: flex;
    flex-direction: column;
    gap: var(--footer-column-items-gap);
    margin-top: var(--footer-column-items-gap);
}

.footer-columns-desktop__column-item {
    width: max-content;
}

.footer-columns-mobile__section {
    border-top: 1px solid var(--color-border);
    padding: var(--spacing-xs) 0;
}

.footer-columns-mobile__section:last-child {
    border-bottom: 1px solid var(--color-border);
}

.footer-columns-mobile__menu-item {
    justify-content: space-between;
    width: 100%;
}

.footer-columns-mobile__toggle {
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    justify-content: space-between;
    padding: var(--spacing-md) 0;
    width: 100%;
}

.footer-columns-mobile__dropdown-icon {
    font-size: var(--text-size-md);
    transition: transform var(--transition-quick);
}

.footer-columns-mobile__dropdown-icon--expanded {
    transform: rotate(-180deg);
}

.footer-columns-mobile__submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s;
    visibility: hidden;
}

.footer-columns-mobile__submenu--expanded {
    max-height: var(--footer-mobile-submenu-max-height);
    visibility: visible;
}

.footer-columns-mobile__submenu-content {
    padding: var(--footer-column-items-gap) 0;
}

.footer-columns-mobile__column {
    display: flex;
    flex-direction: column;
    gap: var(--footer-column-items-gap);
}

.footer__desktop {
    display: none;
}

@media (min-width: 768px) {
    .footer__desktop {
        display: block;
        margin: 0 auto;
        max-width: 1440px;
    }
}

.footer__desktop-main-content {
    align-items: flex-start;
    display: flex;
}

.footer__brand--desktop {
    margin-right: var(--footer-brand-desktop-margin-right);
}

.footer__desktop-columns-container {
    flex-grow: 1;
}

.footer__desktop-columns {
    margin: 0 auto;
}

@media (min-width: 768px) {
    .footer__desktop-columns {
        max-width: var(--footer-columns-max-width-md);
    }
}

@media (min-width: 1024px) {
    .footer__desktop-columns {
        max-width: var(--footer-columns-max-width-lg);
        justify-content: space-evenly;
    }
}

@media (min-width: 1280px) {
    .footer__desktop-columns {
        max-width: var(--footer-columns-max-width-xl);
    }
}

.footer__legal--desktop {
    margin-top: var(--spacing-xxl);
}

.footer__mobile {
    display: flex;
    flex-direction: column;
    gap: var(--footer-mobile-section-gap);
}

@media (min-width: 768px) {
    .footer__mobile {
        display: none;
    }
}


.tt-icon {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-family: "Tiugo Icons";
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    height: 1em;
    line-height: 1;
    text-transform: none;
    transform: translateY(-.1em);
    vertical-align: middle;
    width: 1em;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    background: var(--color-deep-background);
    font-family: var(--text-font-family);
    font-size: var(--text-font-size-md);
    margin: 0;
    min-height: 100%;
}

p {
    margin-top: var(--text-margin-top);
    margin-bottom: var(--text-margin-bottom);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--heading-font-family);
    margin-bottom: var(--heading-margin-bottom);
    margin-top: var(--heading-margin-top);
}

img {
    max-width: 100%;
}

@media (min-width: 1280px) {
    .footer-columns-desktop{
        grid-template-columns:repeat(4, auto)
    }
}

@media (min-width: 960px) {
    .footer-columns-desktop__brand{
        display:none
    }
}
