/*
 * makemake design tokens, resets, components and utilities, converted from themes/makemake/css-*.php.
 * Breakpoints are fixed at 51rem (tablet) and 78rem (desktop). Element-level rules (main, p, div, headings,
 * img, lists, links) only apply inside DRG widgets (the .drg class, or data-widget_type="drg-*" in the editor); :where() keeps their specificity.
 */

/* ---- from css-custom-property-variables.php ---- */
:root
{
	/* === Color Palette === */

	--color-translucent: rgba(72, 72, 72, 0.72); --color-translucent-teal: rgba(196, 244, 244, 0.5); --color-translucent-blue: rgba(70, 168, 250, 0.1); --color-translucent-white: rgba(255, 255, 255, 0.2); --color-translucent-black: rgba(0, 0, 0, 0.2); --color-translucent-dark: rgba(18, 19, 20, 0.8);
	--color-gray-darker: #121314; --color-gray-dark: #3d4545; --color-gray-medium: #767676; --color-gray-light: #c2c7cc; --color-gray-lighter: #dee2e5; --color-gray-lightest: #f2f3f4;
	--color-blue-dark: #063777; --color-blue-medium: #166ecc; --color-blue-bright: #46a8fa; --color-teal-bright: #3dd1cf; --color-blue-light: #c1e3fd; --color-teal-light: #c4f4f4; --color-teal-lighter: #e6fafa;

	/* === Color Assignments === */

	--color-body: var(--color-blue-dark);
	--color-heading: var(--color-blue-dark);
	--color-display: var(--color-blue-dark);
	--color-alert: var(--color-blue-bright);
	--color-hairline: var(--color-gray-lighter);

	--color-contrast: var(--color-blue-dark);
	--color-accent: var(--color-blue-medium);
	--color-tinted: var(--color-blue-bright);
	--color-muted: var(--color-teal-light);
	--color-neutral: var(--color-gray-lightest);

	--color-form-placeholder: var(--color-gray-medium);
	--color-accordion-header: var(--color-blue-dark);
	--color-table-stripe: var(--color-gray-lighter);
	--color-hamburger-lines: var(--color-blue-dark);

	--color-overlay-bg: var(--color-translucent);

	/* === Link Assignments === */

	--link-0-color: var(--color-blue-medium); --link-0-color-hover: var(--color-blue-dark);  --link-0-decoration: none;      --link-0-decoration-hover: underline;
	--link-1-color: var(--color-blue-medium); --link-1-color-hover: var(--color-blue-dark);  --link-1-decoration: underline; --link-1-decoration-hover: underline;
	--link-2-color: white;                    --link-2-color-hover: var(--color-teal-light); --link-2-decoration: none;      --link-2-decoration-hover: underline;
	--link-3-color: white;                    --link-3-color-hover: var(--color-teal-light); --link-3-decoration: none;      --link-3-decoration-hover: underline;

	--link-color:   var(--color-blue-medium); --link-color-hover:   var(--color-blue-dark);  --link-decoration:   underline; --link-decoration-hover:   underline;

	/* === Button Assignments === */

	--btn-0-color: var(--color-blue-dark); --btn-0-color-hover: var(--color-blue-dark); --btn-0-bg: var(--color-teal-bright); --btn-0-bg-hover: var(--color-teal-light); --btn-0-border: 0;                                    --btn-0-border-hover: 0;
	--btn-1-color: var(--color-blue-dark); --btn-1-color-hover: white;                  --btn-1-bg: var(--color-teal-bright); --btn-1-bg-hover: var(--color-blue-dark);  --btn-1-border: 0;                                    --btn-1-border-hover: 0;
	--btn-2-color: var(--color-blue-dark); --btn-2-color-hover: var(--color-blue-dark); --btn-2-bg: var(--color-teal-bright); --btn-2-bg-hover: var(--color-teal-light); --btn-2-border: 0;                                    --btn-2-border-hover: 0;
	--btn-3-color: var(--color-blue-dark); --btn-3-color-hover: white;                  --btn-3-bg: transparent;              --btn-3-bg-hover: var(--color-contrast);   --btn-3-border: 0.125rem solid var(--color-contrast); --btn-3-border-hover: 0.125rem solid var(--color-contrast);

	--btn-0-font-size--desktop: 1rem; --btn-0-font-size: 1rem; --btn-0-font-weight: 700; --btn-0-letter-spacing: 0; --btn-0-padding: 1rem 2rem;         --btn-0-margin: 0.5rem 0; --btn-0-border-radius: 1rem;
	--btn-1-font-size--desktop: 1rem; --btn-1-font-size: 1rem; --btn-1-font-weight: 700; --btn-1-letter-spacing: 0; --btn-1-padding: 1rem 2rem;         --btn-1-margin: 0.5rem 0; --btn-1-border-radius: 1rem;
	--btn-2-font-size--desktop: 1rem; --btn-2-font-size: 1rem; --btn-2-font-weight: 700; --btn-2-letter-spacing: 0; --btn-2-padding: 1rem 2rem;         --btn-2-margin: 0.5rem 0; --btn-2-border-radius: 1rem;
	--btn-3-font-size--desktop: 1rem; --btn-3-font-size: 1rem; --btn-3-font-weight: 700; --btn-3-letter-spacing: 0; --btn-3-padding: 0.875rem 1.875rem; --btn-3-margin: 0.5rem 0; --btn-3-border-radius: 1rem;

	/* === Box Shadow Assignments === */

	--box-shadow-0: 0 0.5rem 1rem 0 rgba(6, 55, 119, 0.20);
	--box-shadow-1: 0 0.25rem 0.5rem 0 rgba(6, 55, 119, 0.20);
	--box-shadow-2: 0 0.5rem 1rem 0 rgba(6, 55, 119, 0.20);
	--box-shadow-3: 0 0.5rem 1rem 0 rgba(6, 55, 119, 0.20);

	/* === Card Assignments === */

	--card-0-width: 18rem; --card-0-border-radius: 0;       --card-0-border: 0.125rem solid transparent;    	       --card-0-bg: transparent;
	--card-1-width: 18rem; --card-1-border-radius: 0.25rem; --card-1-border: 0.125rem solid var(--color-gray-lighter); --card-1-bg: white;
	--card-2-width: 18rem; --card-2-border-radius: 0;       --card-2-border: 0.125rem solid var(--color-gray-lighter); --card-2-bg: var(--color-gray-lightest);
	--card-3-width: 18rem; --card-3-border-radius: 0.5rem;  --card-3-border: 0.125rem solid var(--color-gray-lighter); --card-3-bg: var(--color-gray-lightest);

	--card-width-current: var(--card-0-width);

	/* === Sizing Scalars === */

	--size-min: 0.125rem; --size-xxs: 0.25rem; --size-xs: 0.5rem; --size-s: 1rem; --size-m: 1.5rem; --size-l: 2rem; --size-xl: 2.5rem; --size-xxl: 4rem; --size-max: 5rem;

	/* === Layout Assignments === */

	--width-page-maximum: 120rem;
	--width-sidebar-desktop: 21.25rem;

	--width-substrate-narrow: 63rem; --width-substrate-medium: 78rem; --width-substrate-wide: 93rem;
	--width-block-narrow: 42rem;     --width-block-medium: 48rem;     --width-block-wide: 54rem;

	--gap-flex-default: var(--size-m);
	--gap-grid-default: var(--size-m);

	--gap-between-columns: var(--size-m) var(--size-xxl);
	--gap-between-cards: var(--size-m);
	--gap-between-stats: var(--size-m);
	--gap-between-table-cells: var(--size-m);
	--gap-after-sidebar-on-desktop: var(--size-l);

	--padding-substrate: 0 var(--size-m);
	--padding-list: 0 0 0 var(--size-l);

	--margin-block-list: 1rem;

	--list-style-type-primary: disc;
	--list-style-type-secondary: disc;
	--list-spacing: 0.5rem;

	--focus-outline: 0.0625rem solid var(--color-blue-medium);
	--focus-outline-offset: 0.125rem;

	--z-index-overlay: 10;
	--z-index-menu: 100;
	--z-index-dialog: 1000;

	/* === Font Assignments (Default) === */

	--font-body: "Open Sans", arial, helvetica, sans-serif;
	--font-heading: "Open Sans", arial, helvetica, sans-serif;
	--font-display: "Open Sans", arial, helvetica, sans-serif;
	--font-button: "Open Sans", arial, helvetica, sans-serif;

	--fs--font-family:     var(--font-body);         --fs--font-size:     0.875rem;       --fs--color:     var(--color-body);         --fs--letter-spacing:     0;               --fs--line-height:     1.5;      --fs--font-weight:     400;
	--fs--li--font-family: var(--font-body);         --fs--li--font-size: 0.875rem;       --fs--li--color: var(--color-body);         --fs--li--letter-spacing: 0;               --fs--li--line-height: 1.5;      --fs--li--font-weight: 400;

	--fs--h1--font-family: var(--font-display);      --fs--h1--font-size: 2.625rem;       --fs--h1--color: var(--color-display);      --fs--h1--letter-spacing: -0.0525rem;       --fs--h1--line-height: 1.1;      --fs--h1--font-weight: 800;
	--fs--h2--font-family: var(--font-heading);      --fs--h2--font-size: 2rem;           --fs--h2--color: var(--color-heading);      --fs--h2--letter-spacing: -0.04rem;         --fs--h2--line-height: 1;        --fs--h2--font-weight: 800;
	--fs--h3--font-family: var(--font-heading);      --fs--h3--font-size: 1.625rem;       --fs--h3--color: var(--color-heading);      --fs--h3--letter-spacing: -0.0325rem;        --fs--h3--line-height: 1.15;     --fs--h3--font-weight: 800;
	--fs--h4--font-family: var(--font-heading);      --fs--h4--font-size: 1.5rem;         --fs--h4--color: var(--color-heading);      --fs--h4--letter-spacing: -0.03rem;         --fs--h4--line-height: 1.3;      --fs--h4--font-weight: 800;
	--fs--h5--font-family: var(--font-body);         --fs--h5--font-size: 1.375rem;       --fs--h5--color: var(--color-heading);      --fs--h5--letter-spacing: -0.01375rem;       --fs--h5--line-height: 1.3;      --fs--h5--font-weight: 700;
	--fs--h6--font-family: var(--font-body);         --fs--h6--font-size: 1.125rem;       --fs--h6--color: var(--color-heading);      --fs--h6--letter-spacing: -0.005625rem;     --fs--h6--line-height: 1.3;      --fs--h6--font-weight: 700;

	--fs--larger--font-family:  var(--font-body);    --fs--larger--font-size:  1rem;      --fs--larger--color:  var(--color-body);    --fs--larger--letter-spacing:  0;          --fs--larger--line-height:  1.5; --fs--larger--font-weight:  600;
	--fs--label--font-family:   var(--font-body);    --fs--label--font-size:   1rem;      --fs--label--color:   var(--color-body);    --fs--label--letter-spacing:   -0.005rem;  --fs--label--line-height:   1.2; --fs--label--font-weight:   800;
	--fs--caption--font-family: var(--font-body);    --fs--caption--font-size: 0.75rem;   --fs--caption--color: var(--color-body);    --fs--caption--letter-spacing: 0;          --fs--caption--line-height: 1.5; --fs--caption--font-weight: 400;
	--fs--smaller--font-family: var(--font-body);    --fs--smaller--font-size: 0.75rem;   --fs--smaller--color: var(--color-body);    --fs--smaller--letter-spacing: 0;          --fs--smaller--line-height: 1.5; --fs--smaller--font-weight: 400;
	--fs--display--font-family: var(--font-display); --fs--display--font-size: 4.125rem;  --fs--display--color: var(--color-display); --fs--display--letter-spacing: -0.08rem;   --fs--display--line-height: 1;   --fs--display--font-weight: 800;
	--fs--quote--font-family:   var(--font-heading); --fs--quote--font-size:   1.5rem;    --fs--quote--color:   var(--color-heading); --fs--quote--letter-spacing:   -0.03rem;   --fs--quote--line-height:   1.3; --fs--quote--font-weight:   800;
	--fs--eyebrow--font-family: var(--font-body);    --fs--eyebrow--font-size: 1rem;      --fs--eyebrow--color: var(--color-body);    --fs--eyebrow--letter-spacing: -0.005rem;  --fs--eyebrow--line-height: 1.2; --fs--eyebrow--font-weight: 800;

	/* === Font Assignments (Desktop) === */

	--fs--font-size--desktop:     1rem;          --fs--letter-spacing--desktop:     0;               --fs--line-height--desktop:     1.5;
	--fs--li--font-size--desktop: 1rem;          --fs--li--letter-spacing--desktop: 0;               --fs--li--line-height--desktop: 1.5;

	--fs--h1--font-size--desktop: 3.875rem;      --fs--h1--letter-spacing--desktop: -0.0775rem;      --fs--h1--line-height--desktop: 1;
	--fs--h2--font-size--desktop: 3rem;          --fs--h2--letter-spacing--desktop: -0.06rem;        --fs--h2--line-height--desktop: 1;
	--fs--h3--font-size--desktop: 2.5rem;        --fs--h3--letter-spacing--desktop: -0.05rem;        --fs--h3--line-height--desktop: 1.15;
	--fs--h4--font-size--desktop: 2rem;          --fs--h4--letter-spacing--desktop: -0.04rem;        --fs--h4--line-height--desktop: 1.3;
	--fs--h5--font-size--desktop: 1.5rem;        --fs--h5--letter-spacing--desktop: -0.015rem;       --fs--h5--line-height--desktop: 1.3;
	--fs--h6--font-size--desktop: 1.25rem;       --fs--h6--letter-spacing--desktop: -0.00625rem;     --fs--h6--line-height--desktop: 1.3;

	--fs--larger--font-size--desktop:  1.125rem; --fs--larger--letter-spacing--desktop:  0;           --fs--larger--line-height--desktop:  1.5;
	--fs--label--font-size--desktop:   1rem;     --fs--label--letter-spacing--desktop:   -0.005rem;   --fs--label--line-height--desktop:   1.2;
	--fs--caption--font-size--desktop: 0.75rem;  --fs--caption--letter-spacing--desktop: 0;           --fs--caption--line-height--desktop: 1.5;
	--fs--smaller--font-size--desktop: 0.75rem;  --fs--smaller--letter-spacing--desktop: 0;           --fs--smaller--line-height--desktop: 1.5;
	--fs--display--font-size--desktop: 5.25rem;  --fs--display--letter-spacing--desktop: -0.105rem;   --fs--display--line-height--desktop: 1;
	--fs--quote--font-size--desktop:   2rem;     --fs--quote--letter-spacing--desktop:   -0.04rem;    --fs--quote--line-height--desktop:   1.3;
	--fs--eyebrow--font-size--desktop: 1rem;     --fs--eyebrow--letter-spacing--desktop: -0.005rem;           --fs--eyebrow--line-height--desktop: 1.2;
}


/* ---- from css-resets-and-components.php ---- */
@layer base_typography_colors, inverted_typography_colors;

/* === Resets and Defaults === */

@media (prefers-reduced-motion: no-preference) { :has(:target) { scroll-behavior: smooth; } }

@media (width < 23.4375rem) { body { zoom: var(--zoom, 1); } }

:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
::placeholder { color: var(--color-form-placeholder); opacity: 1; /* opacity is needed for firefox */ }

html { -webkit-text-size-adjust: 100%; line-height: normal; font-feature-settings: normal; font-variation-settings: normal; }
body { margin: 0; padding: 0; text-wrap: pretty; }
main, header, footer { max-width: min(var(--width-page-maximum), 100%); width: 100%; margin: 0 auto; position: relative; }
section { width: 100%; background-color: transparent; position: relative; }
:where(.drg, [data-widget_type^="drg-"]) :is(h1, h2, h3, h4, h5, h6) { margin: 0 0 var(--size-s) 0; }
:where(.drg, [data-widget_type^="drg-"]) :is(h1, h2, h3, h4, h5, h6):last-child { margin-bottom: 0; }
:where(.drg, [data-widget_type^="drg-"]) :is(ul, ol) + :is(h1, h2, h3, h4, h5, h6) { margin-top: var(--size-l); }
:where(.drg, [data-widget_type^="drg-"]) p { margin-top: 0; margin-bottom: 0; }
:where(.drg, [data-widget_type^="drg-"]) p + :is(h1, h2, h3, h4, h5, h6) { margin-top: var(--size-l); }
:where(.drg, [data-widget_type^="drg-"]) div + :is(h1, h2, h3, h4, h5, h6) { margin-top: var(--size-s); }
:where(.drg, [data-widget_type^="drg-"]) p + p { margin-top: var(--size-s); }
:where(.drg, [data-widget_type^="drg-"]) hr { height: 0; width: 100%; border: 0; border-bottom: 0.0625rem solid var(--color-muted); }
:where(.drg, [data-widget_type^="drg-"]) figure { margin: 0; }
:where(.drg, [data-widget_type^="drg-"]) img { display: block; max-width: 100%; height: auto; font-style: italic; vertical-align: middle; shape-margin: var(--size-s); }
:where(.drg, [data-widget_type^="drg-"]) svg { vertical-align: middle; }
:where(.drg, [data-widget_type^="drg-"]) iframe { max-width: 100%; }
:where(.drg, [data-widget_type^="drg-"]) :is(ul, ol) { padding: var(--padding-list); margin-block: var(--margin-block-list); list-style-type: var(--list-style-type-primary); }
:where(.drg, [data-widget_type^="drg-"]) :is(ul, ol) ul { list-style-type: var(--list-style-type-secoondary); }
:where(.drg, [data-widget_type^="drg-"]) :is(ul, ol) li + li { margin-top: var(--list-spacing); }
input:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

.overlay { display: none; position: fixed; width: 100%; height: 100%; background-color: var(--color-overlay-bg); z-index: var(--z-index-overlay); }

.substrate { box-sizing: border-box; width: 100%; margin: 0 auto; padding: var(--padding-substrate); max-width: min(100%, var(--width-substrate-medium)); }

.substrate--width--narrow > .substrate { max-width: min(100%, var(--width-substrate-narrow)); }
.substrate--width--medium > .substrate { max-width: min(100%, var(--width-substrate-medium)); }
.substrate--width--wide > .substrate { max-width: min(100%, var(--width-substrate-wide)); }
.substrate--width--max > .substrate { max-width: 100%; }
.substrate--width--unlimited > .substrate { max-width: none; width: max-content; }

.wrapper { display: block; box-sizing: border-box; padding: var(--padding-substrate); }
.wrapper .substrate, .wrapper .wrapper { padding: 0; }

.wrapper--width--narrow { max-width: min(100%, var(--width-substrate-narrow)); }
.wrapper--width--medium { max-width: min(100%, var(--width-substrate-medium)); }
.wrapper--width--wide { max-width: min(100%, var(--width-substrate-wide)); }
.wrapper--width--max { max-width: 100%; }
.wrapper--width--unlimited { max-width: none; max-content; }

.bg--white { background-color: white; }
.bg--black { background-color: black; }
.bg--transparent { background-color: transparent; }

.bg--contrast { background-color: var(--color-contrast); }
.bg--neutral { background-color: var(--color-neutral); }
.bg--accent { background-color: var(--color-accent); }
.bg--muted { background-color: var(--color-muted); }
.bg--tinted { background-color: var(--color-tinted); }

.display--grid { gap: var(--gap-grid-default); }

.display--flex { gap: var(--gap-flex-default); align-items: center; }
.display--flex > * { min-width: 0; } /* some browsers have non-zero default minimum widths */

.card--primary { background: var(--card-0-bg); border: var(--card-0-border); border-radius: var(--card-0-border-radius); }
.card--secondary { background: var(--card-1-bg); border: var(--card-1-border); border-radius: var(--card-1-border-radius); }
.card--tertiary { background: var(--card-2-bg); border: var(--card-2-border); border-radius: var(--card-2-border-radius); }
.card--quaternary { background: var(--card-3-bg); border: var(--card-3-border); border-radius: var(--card-3-border-radius); }

@layer base_typography_colors
{
	main, :where(.drg, [data-widget_type^="drg-"]), :where(.drg, [data-widget_type^="drg-"]) :is(p, div) { color: var(--fs--color); }
	:where(.drg, [data-widget_type^="drg-"]) li { color: var(--fs--li--color); }

	:where(.drg, [data-widget_type^="drg-"]) h1 { color: var(--fs--h1--color); }
	:where(.drg, [data-widget_type^="drg-"]) h2 { color: var(--fs--h2--color); }
	:where(.drg, [data-widget_type^="drg-"]) h3 { color: var(--fs--h3--color); }
	:where(.drg, [data-widget_type^="drg-"]) h4 { color: var(--fs--h4--color); }
	:where(.drg, [data-widget_type^="drg-"]) h5 { color: var(--fs--h5--color); }
	:where(.drg, [data-widget_type^="drg-"]) h6 { color: var(--fs--h6--color); }
}

main, :where(.drg, [data-widget_type^="drg-"]), :where(.drg, [data-widget_type^="drg-"]) :is(p, div) { font-family: var(--fs--font-family); font-size: var(--fs--font-size); letter-spacing: var(--fs--letter-spacing); line-height: var(--fs--line-height); font-weight: var(--fs--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) li { font-family: var(--fs--li--font-family); font-size: var(--fs--li--font-size); letter-spacing: var(--fs--li--letter-spacing); line-height: var(--fs--li--line-height); font-weight: var(--fs--li--font-weight); }

:where(.drg, [data-widget_type^="drg-"]) h1 { font-family: var(--fs--h1--font-family); font-size: var(--fs--h1--font-size); letter-spacing: var(--fs--h1--letter-spacing); line-height: var(--fs--h1--line-height); font-weight: var(--fs--h1--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) h2 { font-family: var(--fs--h2--font-family); font-size: var(--fs--h2--font-size); letter-spacing: var(--fs--h2--letter-spacing); line-height: var(--fs--h2--line-height); font-weight: var(--fs--h2--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) h3 { font-family: var(--fs--h3--font-family); font-size: var(--fs--h3--font-size); letter-spacing: var(--fs--h3--letter-spacing); line-height: var(--fs--h3--line-height); font-weight: var(--fs--h3--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) h4 { font-family: var(--fs--h4--font-family); font-size: var(--fs--h4--font-size); letter-spacing: var(--fs--h4--letter-spacing); line-height: var(--fs--h4--line-height); font-weight: var(--fs--h4--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) h5 { font-family: var(--fs--h5--font-family); font-size: var(--fs--h5--font-size); letter-spacing: var(--fs--h5--letter-spacing); line-height: var(--fs--h5--line-height); font-weight: var(--fs--h5--font-weight); }
:where(.drg, [data-widget_type^="drg-"]) h6 { font-family: var(--fs--h6--font-family); font-size: var(--fs--h6--font-size); letter-spacing: var(--fs--h6--letter-spacing); line-height: var(--fs--h6--line-height); font-weight: var(--fs--h6--font-weight); }

@media (width >= 51rem)
{
	main, :where(.drg, [data-widget_type^="drg-"]), :where(.drg, [data-widget_type^="drg-"]) :is(p, div) { font-size: var(--fs--font-size--desktop); letter-spacing: var(--fs--letter-spacing--desktop); line-height: var(--fs--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) li { font-size: var(--fs--li--font-size--desktop); letter-spacing: var(--fs--li--letter-spacing--desktop); line-height: var(--fs--li--line-height--desktop); }

	:where(.drg, [data-widget_type^="drg-"]) h1 { font-size: var(--fs--h1--font-size--desktop); letter-spacing: var(--fs--h1--letter-spacing--desktop); line-height: var(--fs--h1--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) h2 { font-size: var(--fs--h2--font-size--desktop); letter-spacing: var(--fs--h2--letter-spacing--desktop); line-height: var(--fs--h2--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) h3 { font-size: var(--fs--h3--font-size--desktop); letter-spacing: var(--fs--h3--letter-spacing--desktop); line-height: var(--fs--h3--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) h4 { font-size: var(--fs--h4--font-size--desktop); letter-spacing: var(--fs--h4--letter-spacing--desktop); line-height: var(--fs--h4--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) h5 { font-size: var(--fs--h5--font-size--desktop); letter-spacing: var(--fs--h5--letter-spacing--desktop); line-height: var(--fs--h5--line-height--desktop); }
	:where(.drg, [data-widget_type^="drg-"]) h6 { font-size: var(--fs--h6--font-size--desktop); letter-spacing: var(--fs--h6--letter-spacing--desktop); line-height: var(--fs--h6--line-height--desktop); }
}

/* === Links === */

:where(.drg, [data-widget_type^="drg-"]) a { color: var(--link-color); text-decoration: var(--link-decoration); }
:where(.drg, [data-widget_type^="drg-"]) a:hover { color: var(--link-color-hover); text-decoration: var(--link-decoration-hover); }
:where(.drg, [data-widget_type^="drg-"]) a:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.link--primary { color: var(--link-0-color); text-decoration: var(--link-0-decoration); }
a.link--primary:hover { color: var(--link-0-color-hover); text-decoration: var(--link-0-decoration-hover); }
a.link--primary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.link--secondary { color: var(--link-1-color); text-decoration: var(--link-1-decoration); }
a.link--secondary:hover { color: var(--link-1-color-hover); text-decoration: var(--link-1-decoration-hover); }
a.link--secondary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.link--tertiary { color: var(--link-2-color); text-decoration: var(--link-2-decoration); }
a.link--tertiary:hover { color: var(--link-2-color-hover); text-decoration: var(--link-2-decoration-hover); }
a.link--tertiary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.link--quaternary { color: var(--link-3-color); text-decoration: var(--link-3-decoration); }
a.link--quaternary:hover { color: var(--link-3-color-hover); text-decoration: var(--link-3-decoration-hover); }
a.link--quaternary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

/* === Buttons === */

a.button--primary, a.button--secondary, a.button--tertiary, a.button--quaternary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; text-align: center; text-wrap: balance; width: fit-content; font-family: var(--font-button); line-height: 1; }

a.button--primary
{
	color: var(--btn-0-color);
	background: var(--btn-0-bg);
	border: var(--btn-0-border);
	font-size: var(--btn-0-font-size);
	font-weight: var(--btn-0-font-weight);
	padding: var(--btn-0-padding);
	margin: var(--btn-0-margin);
	border-radius: var(--btn-0-border-radius);
	letter-spacing: var(--btn-0-letter-spacing);
}
a.button--primary:hover { color: var(--btn-0-color-hover); background: var(--btn-0-bg-hover); border: var(--btn-0-border-hover); }
a.button--primary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.button--secondary
{
	color: var(--btn-1-color);
	background: var(--btn-1-bg);
	border: var(--btn-1-border);
	font-size: var(--btn-1-font-size);
	font-weight: var(--btn-1-font-weight);
	padding: var(--btn-1-padding);
	margin: var(--btn-1-margin);
	border-radius: var(--btn-1-border-radius);
	letter-spacing: var(--btn-1-letter-spacing);
}
a.button--secondary:hover { color: var(--btn-1-color-hover); background: var(--btn-1-bg-hover); border: var(--btn-1-border-hover); }
a.button--secondary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.button--tertiary
{
	color: var(--btn-2-color);
	background: var(--btn-2-bg);
	border: var(--btn-2-border);
	font-size: var(--btn-2-font-size);
	font-weight: var(--btn-2-font-weight);
	padding: var(--btn-2-padding);
	margin: var(--btn-2-margin);
	border-radius: var(--btn-2-border-radius);
	letter-spacing: var(--btn-2-letter-spacing);
}
a.button--tertiary:hover { color: var(--btn-2-color-hover); background: var(--btn-2-bg-hover); border: var(--btn-2-border-hover); }
a.button--tertiary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

a.button--quaternary
{
	color: var(--btn-3-color);
	background: var(--btn-3-bg);
	border: var(--btn-3-border);
	font-size: var(--btn-3-font-size);
	font-weight: var(--btn-3-font-weight);
	padding: var(--btn-3-padding);
	margin: var(--btn-3-margin);
	border-radius: var(--btn-3-border-radius);
	letter-spacing: var(--btn-3-letter-spacing);
}
a.button--quaternary:hover { color: var(--btn-3-color-hover); background: var(--btn-3-bg-hover); border: var(--btn-3-border-hover); }
a.button--quaternary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

@media (width >= 51rem)
{
	a.button--primary { font-size: var(--btn-0-font-size--desktop); }
	a.button--secondary { font-size: var(--btn-1-font-size--desktop); }
	a.button--tertiary { font-size: var(--btn-2-font-size--desktop); }
	a.button--quaternary { font-size: var(--btn-3-font-size--desktop); }
}

/* === Accordions === */

:where(.drg, [data-widget_type^="drg-"]) details { background-color: white; border-top: 0.0625rem solid var(--color-hairline); border-bottom: 0.0625rem solid var(--color-hairline); padding: var(--size-s) 0; }
:where(.drg, [data-widget_type^="drg-"]) details + details { border-top: 0; }
:where(.drg, [data-widget_type^="drg-"]) details summary { display: list-item; padding-right: 2.25rem; position: relative; cursor: pointer; list-style: none; }
:where(.drg, [data-widget_type^="drg-"]) details summary::-webkit-details-marker { display: none; }
:where(.drg, [data-widget_type^="drg-"]) details summary .svg-wrapper { width: 0.875rem; height: 0.875rem; position: absolute; top: 0.5rem; right: 1rem; }
:where(.drg, [data-widget_type^="drg-"]) details summary .svg-wrapper > svg { height: 0.875rem; width: 0.875rem; rotate: 180deg; fill: var(--color-heading); }
:where(.drg, [data-widget_type^="drg-"]) details[open] summary .svg-wrapper > svg { rotate: 0deg; }
:where(.drg, [data-widget_type^="drg-"]) details summary:hover h1, details summary:hover h2, details summary:hover h3, details summary:hover h4 { color: var(--color-accent); }
:where(.drg, [data-widget_type^="drg-"]) details summary:hover .svg-wrapper > svg { fill: var(--color-accent); }

/* === Dropdowns -- Custom Dropdown originally from https://tympanus.net/Tutorials/CustomDropDownListStyling === */

.wrapper--dropdown .dropdown
{
	position: absolute;
	top: 2rem;
	left: 0;
	right: 0;
	background: var(--color-gray-lightest);
	border-radius: 0 0 0.25rem 0.25rem;
	border: 0.0625rem solid var(--color-gray-medium);
	border-top: 0;
	font-weight: normal;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 1;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	margin-inline: -0.0625rem;
	transition: all 0.25s ease-in;
}
.wrapper--dropdown { position: relative; width: calc(100% - 6rem); margin-top: 2rem; margin-bottom: 0; padding: 0.9375rem; border-radius: 0.25rem; border: 0.0625rem solid var(--color-gray-medium); cursor: pointer; outline: none; background: var(--color-gray-lightest); }
.wrapper--dropdown .dropdown li { padding: 0; margin-top: 0 !important; }
.wrapper--dropdown .dropdown li:before { content: none !important; }
.wrapper--dropdown .dropdown li a { display: block; padding: 0.5rem 0.5rem 0.5rem 1.25rem; margin-bottom: 0.25rem; text-decoration: none; border-radius: 0.25rem; }
.wrapper--dropdown .dropdown li:first-of-type a { border-radius: 0; }
.wrapper--dropdown .dropdown li:last-of-type a { border: none; border-radius: 0 0 0.25rem 0.25rem; }
.wrapper--dropdown .dropdown li:hover a { background: white; text-decoration: none !important; }
.wrapper--dropdown.active .dropdown { opacity: 1; visibility: visible; pointer-events: auto; }
.wrapper--dropdown i { border: 0.125rem solid var(--color-contrast); border-width: 0 0.125rem 0.125rem 0; display: inline-block; padding: 0.1875rem; transform: rotate(45deg); position: absolute; right: 1.25rem; top: 50%; margin-top: -0.375rem; }
.wrapper--dropdown .dropdown li i { float: right; color: inherit; }
.wrapper--dropdown.active i { border: 0.125rem solid var(--color-contrast); border-width: 0 0.125rem 0.125rem 0; transform: rotate(-135deg); margin-top: -0.1875rem; }

/* === Hamburgers -- @description Tasty CSS-animated hamburgers -- @author Jonathan Suh @jonsuh -- @site https://jonsuh.com/hamburgers -- @link https://github.com/jonsuh/hamburgers === */

.hamburger { padding: 0.75rem 0.625rem 0.4375rem 0.625rem; margin-right: -0.625rem; display: inline-block; cursor: pointer; transition-property: filter; transition-duration: 0.15s; transition-timing-function: linear; }
.hamburger { background-color: transparent; border: 0.0625rem solid transparent; margin: 0; overflow: visible; font: inherit; color: inherit; text-transform: none; border-radius: 0.125rem; }
.hamburger-box { width: 1.5625rem; height: 0.9375rem; display: inline-block; position: relative; }
.hamburger-inner { display: block; top: 50%; margin-top: -0.0625rem; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { width: 1.5625rem; height: 0.1875rem; background-color: var(--color-hamburger-lines); }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
.hamburger .hamburger-inner, .hamburger .hamburger-inner::before, .hamburger .hamburger-inner::after { background-color: var(--color-hamburger-lines); }
.hamburger:hover .hamburger-inner, .hamburger:hover .hamburger-inner::before, .hamburger:hover .hamburger-inner::after { background-color: var(--color-hamburger-lines); }
.hamburger-inner::before, .hamburger-inner::after { content: ""; display: block; }
.hamburger-inner::before { top: -0.4375rem; }
.hamburger-inner::after { bottom: -0.4375rem; }
.hamburger--collapse .hamburger-inner { top: auto; bottom: 0; transition-duration: 0.13s; transition-delay: 0.13s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse .hamburger-inner::after { top: -0.875rem; transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1); }
.hamburger--collapse .hamburger-inner::before { transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse.is-active .hamburger-inner { transform: translate3d(0, -0.4375rem, 0) rotate(-45deg); transition-delay: 0.22s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--collapse.is-active .hamburger-inner::after { top: 0; opacity: 0; transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333); }
.hamburger--collapse.is-active .hamburger-inner::before { top: 0; transform: rotate(-90deg); transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* === Image Wrap === */

.pane--imageflip .subpane--imageflip--imageset .imgwrap { display: none; }
.pane--imageflip .subpane--imageflip--imageset .imgwrap.active { display: block; }

.imgwrap > img { width: 100%; }

.pane--imageflip .imageflip-next, .pane--imageflip .imageflip-prev { -webkit-user-select: none; user-select: none; }

.pane--imagerow--controls .next-slide, .pane--imagerow--controls .previous-slide { -webkit-user-select: none; user-select: none; }


/* ---- from css-site-customizations.php ---- */
/* === Site Customizations === */

/*
	body, main, header, footer { background-color: var(--color-blue-medium); }

	body.shadow--1080p main, body.shadow--1080p header { box-shadow: 0.0625rem 0 var(--color-hairline), -0.0625rem 0 var(--color-hairline); }
	body.shadow--1080p footer { box-shadow: 0.0625rem 0 var(--color-hairline), -0.0625rem 0 var(--color-hairline), 0 0.0625rem var(--color-hairline); }
*/

@layer inverted_typography_colors
{
	section.mode--dark,
	section.mode--dark p,
	section.mode--dark div,
	section.mode--dark li,
	section.mode--dark h1,
	section.mode--dark h2,
	section.mode--dark h3,
	section.mode--dark h4,
	section.mode--dark h5,
	section.mode--dark h6,
	section.mode--dark .fs,
	section.mode--dark .fs--li,
	section.mode--dark .fs--h1,
	section.mode--dark .fs--h2,
	section.mode--dark .fs--h3,
	section.mode--dark .fs--h4,
	section.mode--dark .fs--h5,
	section.mode--dark .fs--h6,
	section.mode--dark .fs--display,
	section.mode--dark .fs--quote,
	section.mode--dark .fs--eyebrow,
	section.mode--dark .fs--larger,
	section.mode--dark .fs--smaller,
	section.mode--dark .fs--label,
	section.mode--dark .fs--caption { color: white; }
}

section.mode--dark
{
	--focus-outline: 0.0625rem solid white;
	--link-color: white;
	--link-color-hover: var(--color-teal-light);
}

:where(.drg, [data-widget_type^="drg-"]) a { text-underline-offset: 0.25rem; }

a.button--primary:focus-visible { outline: 0.0625rem solid var(--color-blue-dark); outline-offset: 0; }
a.button--secondary:focus-visible { outline: 0.0625rem solid var(--color-blue-dark); outline-offset: 0; }
a.button--tertiary:focus-visible { outline: 0.0625rem solid var(--color-teal-bright); outline-offset: 0rem; }
a.button--quaternary:focus-visible { outline: 0.0625rem solid var(--color-teal-bright); outline-offset: 0rem; }

.link--primary, .link--secondary, .link--tertiary, .link--quaternary { font-size: 1rem; }

.link--primary:after, .link--tertiary:after
{
	content: '\e80d';
	font-family: "iconset";
	font-size: 1.25em;
	font-style: normal;
	font-weight: normal;
	speak: none; speak: never;
	display: inline-block;
	text-decoration: none;
	width: 0.5em;
	height: 1.25em;
	padding-right: 0;
	padding-left: 0.375rem;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1.25em;
	vertical-align: middle;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	visibility: hidden;
}

.link--primary.after-icon-ready:after, .link--tertiary.after-icon-ready:after
{
  visibility: visible;
}

@media (width < 30rem)
{
	.page--contact .pane--linkset { flex-direction: column; align-items: flex-start !important; }
	.page--contact .pane--linkset .divider-pipe { display: none; }
}

a.link--primary, a.link--secondary, a.link--tertiary, a.link--quaternary { font-weight: 700; }

wrapper-inset > div { padding: 3rem 3rem 0.5rem 3rem; }
@media (width < 78rem)
{
	wrapper-inset > div { padding: 1.5rem 1rem 0.5rem 1rem; }
}

.pane--imageflip .subpane--imageflip--controls svg { background-color: var(--color-translucent-blue); }
.pane--imageflip .subpane--imageflip--controls svg path { fill: var(--color-blue-dark); }
.pane--imageflip .subpane--imageflip--controls svg:hover { background-color: var(--color-blue-medium); }
.pane--imageflip .subpane--imageflip--controls svg:hover path { fill: white; }

.pane--imagerow--controls svg { background-color: var(--color-translucent-white); }
.pane--imagerow--controls svg path { fill: white; }
.pane--imagerow--controls svg:hover { background-color: white; }
.pane--imagerow--controls svg:hover path { fill: var(--color-blue-medium); }

:where(.drg, [data-widget_type^="drg-"]) :is(a, svg, button), :where(.drg, [data-widget_type^="drg-"]) svg path { transition: background-color 300ms ease, color 300ms ease, text-decoration 300ms ease, fill 300ms ease, border 300ms ease; }

.symlink { color: var(--link-color); text-decoration: var(--link-decoration); transition: color 300ms ease, text-decoration 300ms ease; }
.symlink:hover { color: var(--link-color-hover); text-decoration: var(--link-decoration-hover); }
.symlink:focus-visible { outline: var(--focus-outline); outline-offset: -0.0625rem; }

.symlink--secondary { color: var(--link-1-color); text-decoration: var(--link-1-decoration); transition: color 300ms ease, text-decoration 300ms ease; }
.symlink--secondary:hover { color: var(--link-1-color-hover); text-decoration: var(--link-1-decoration-hover); }
.symlink--secondary:focus-visible { outline: var(--focus-outline); outline-offset: var(--focus-outline-offset); }

.section--marquee img.hero { width: 100%; }
@media (width < 51rem) { .section--marquee img.hero { max-width: min(28rem, 100%); margin-left: auto; margin-right: auto; } }

/* === DRG Event Solutions === */

:where(.drg, [data-widget_type^="drg-"]) :is(h1, h2, h3), .fs--h1, .fs--h2, .fs--h3 { text-transform: uppercase; }
main :where(.drg, [data-widget_type^="drg-"]) :is(h1, h2, h3) { margin-bottom: var(--size-m); }
@media (width < 51rem) { main :where(.drg, [data-widget_type^="drg-"]) :is(h1, h2) { margin-bottom: var(--size-s); } }

a.link--chevron, a.link--chevron-blue { font-size: 1rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
a.link--chevron { color: var(--color-blue-dark); }
a.link--chevron-blue { color: var(--color-blue-medium); }
a.link--chevron:hover, a.link--chevron-blue:hover { text-decoration: underline; }
@media (width < 51rem) { a.link--chevron, a.link--chevron-blue { font-size: 0.875rem; } }
a.link--chevron::after, a.link--chevron-blue::after { content: ""; display: inline-block; width: 0.75rem; height: 0.875rem; margin-left: 0.5rem; vertical-align: -0.0625rem; background: url("../img/icon-link-chevron.svg") no-repeat center / contain; }
a.link--chevron-blue::after { background-image: url("../img/icon-link-chevron-blue.svg"); }

a.link--category { display: inline-flex; align-items: center; gap: 0.25rem; color: inherit; text-decoration: none; }
a.link--category::after { content: ""; flex: none; width: 2rem; height: 2rem; background: url("../img/icon-category-chevron.svg") no-repeat center / contain; }
a.link--category:hover, .section--cards .card:hover a.link--category, a.link--category:focus-visible { text-decoration: underline 0.0625rem var(--color-blue-dark); text-underline-offset: 0.2em; }
/* category and product tiles: the heading's link covers the whole card; hover or keyboard focus lifts the card onto white with a shadow */
.section--cards .card:has(a.link--category) { position: relative; transition: background-color 300ms ease, box-shadow 300ms ease; }
.section--cards .card a.link--category::before { content: ""; position: absolute; inset: 0; }
.section--cards .card:has(a.link--category:focus-visible) { background-color: white; box-shadow: var(--box-shadow-0); }
@media (hover: hover) { .section--cards .card:has(a.link--category):hover { background-color: white; box-shadow: var(--box-shadow-0); } }

.pane--imageflip .caption { color: var(--color-blue-dark); }

.contact-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.contact-row .divider { align-self: stretch; width: 0.0625rem; background-color: var(--color-blue-dark); }
.contact-row a { color: var(--color-blue-dark); text-decoration: underline; }
@media (width < 51rem)
{
	.contact-row { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
	.contact-row .divider { display: none; }
}

/* ---- from css-utility-classes.php ---- */
/* === Utility Classes === */

@layer base_typography_colors
{
	.fs { color: var(--fs--color); }
	.fs--li { color: var(--fs--li--color); }

	.fs--h1 { color: var(--fs--h1--color); }
	.fs--h2 { color: var(--fs--h2--color); }
	.fs--h3 { color: var(--fs--h3--color); }
	.fs--h4 { color: var(--fs--h4--color); }
	.fs--h5 { color: var(--fs--h5--color); }
	.fs--h6 { color: var(--fs--h6--color); }

	.fs--display { color: var(--fs--display--color); }
	.fs--quote { color: var(--fs--quote--color); }
	.fs--eyebrow { color: var(--fs--eyebrow--color); }
	.fs--larger { color: var(--fs--larger--color); }
	.fs--smaller { color: var(--fs--smaller--color); }
	.fs--label { color: var(--fs--label--color); }
	.fs--caption { color: var(--fs--caption--color); }
}

.fs { font-family: var(--fs--font-family); font-size: var(--fs--font-size); letter-spacing: var(--fs--letter-spacing); line-height: var(--fs--line-height); font-weight: var(--fs--font-weight); }
.fs--li { font-family: var(--fs--li--font-family); font-size: var(--fs--li--font-size); letter-spacing: var(--fs--li--letter-spacing); line-height: var(--fs--li--line-height); font-weight: var(--fs--li--font-weight); }

.fs--h1 { font-family: var(--fs--h1--font-family); font-size: var(--fs--h1--font-size); letter-spacing: var(--fs--h1--letter-spacing); line-height: var(--fs--h1--line-height); font-weight: var(--fs--h1--font-weight); }
.fs--h2 { font-family: var(--fs--h2--font-family); font-size: var(--fs--h2--font-size); letter-spacing: var(--fs--h2--letter-spacing); line-height: var(--fs--h2--line-height); font-weight: var(--fs--h2--font-weight); }
.fs--h3 { font-family: var(--fs--h3--font-family); font-size: var(--fs--h3--font-size); letter-spacing: var(--fs--h3--letter-spacing); line-height: var(--fs--h3--line-height); font-weight: var(--fs--h3--font-weight); }
.fs--h4 { font-family: var(--fs--h4--font-family); font-size: var(--fs--h4--font-size); letter-spacing: var(--fs--h4--letter-spacing); line-height: var(--fs--h4--line-height); font-weight: var(--fs--h4--font-weight); }
.fs--h5 { font-family: var(--fs--h5--font-family); font-size: var(--fs--h5--font-size); letter-spacing: var(--fs--h5--letter-spacing); line-height: var(--fs--h5--line-height); font-weight: var(--fs--h5--font-weight); }
.fs--h6 { font-family: var(--fs--h6--font-family); font-size: var(--fs--h6--font-size); letter-spacing: var(--fs--h6--letter-spacing); line-height: var(--fs--h6--line-height); font-weight: var(--fs--h6--font-weight); }

.fs--display { font-family: var(--fs--display--font-family); font-size: var(--fs--display--font-size); letter-spacing: var(--fs--display--letter-spacing); line-height: var(--fs--display--line-height); font-weight: var(--fs--display--font-weight); }
.fs--quote { font-family: var(--fs--quote--font-family); font-size: var(--fs--quote--font-size); letter-spacing: var(--fs--quote--letter-spacing); line-height: var(--fs--quote--line-height); font-weight: var(--fs--quote--font-weight); }
.fs--eyebrow { font-family: var(--fs--eyebrow--font-family); font-size: var(--fs--eyebrow--font-size); letter-spacing: var(--fs--eyebrow--letter-spacing); line-height: var(--fs--eyebrow--line-height); font-weight: var(--fs--eyebrow--font-weight); }
.fs--larger { font-family: var(--fs--larger--font-family); font-size: var(--fs--larger--font-size); letter-spacing: var(--fs--larger--letter-spacing); line-height: var(--fs--larger--line-height); font-weight: var(--fs--larger--font-weight); }
.fs--smaller { font-family: var(--fs--smaller--font-family); font-size: var(--fs--smaller--font-size); letter-spacing: var(--fs--smaller--letter-spacing); line-height: var(--fs--smaller--line-height); font-weight: var(--fs--smaller--font-weight); }
.fs--label { font-family: var(--fs--label--font-family); font-size: var(--fs--label--font-size); letter-spacing: var(--fs--label--letter-spacing); line-height: var(--fs--label--line-height); font-weight: var(--fs--label--font-weight); }
.fs--caption { font-family: var(--fs--caption--font-family); font-size: var(--fs--caption--font-size); letter-spacing: var(--fs--caption--letter-spacing); line-height: var(--fs--caption--line-height); font-weight: var(--fs--caption--font-weight); }

@media (width >= 51rem)
{
	.fs { font-size: var(--fs--font-size--desktop);         letter-spacing: var(--fs--letter-spacing--desktop);     line-height: var(--fs--line-height--desktop); }
	.fs--li { font-size: var(--fs--li--font-size--desktop); letter-spacing: var(--fs--li--letter-spacing--desktop); line-height: var(--fs--li--line-height--desktop); }

	.fs--h1 { font-size: var(--fs--h1--font-size--desktop); letter-spacing: var(--fs--h1--letter-spacing--desktop); line-height: var(--fs--h1--line-height--desktop); }
	.fs--h2 { font-size: var(--fs--h2--font-size--desktop); letter-spacing: var(--fs--h2--letter-spacing--desktop); line-height: var(--fs--h2--line-height--desktop); }
	.fs--h3 { font-size: var(--fs--h3--font-size--desktop); letter-spacing: var(--fs--h3--letter-spacing--desktop); line-height: var(--fs--h3--line-height--desktop); }
	.fs--h4 { font-size: var(--fs--h4--font-size--desktop); letter-spacing: var(--fs--h4--letter-spacing--desktop); line-height: var(--fs--h4--line-height--desktop); }
	.fs--h5 { font-size: var(--fs--h5--font-size--desktop); letter-spacing: var(--fs--h5--letter-spacing--desktop); line-height: var(--fs--h5--line-height--desktop); }
	.fs--h6 { font-size: var(--fs--h6--font-size--desktop); letter-spacing: var(--fs--h6--letter-spacing--desktop); line-height: var(--fs--h6--line-height--desktop); }

	.fs--display { font-size: var(--fs--display--font-size--desktop); letter-spacing: var(--fs--display--letter-spacing--desktop); line-height: var(--fs--display--line-height--desktop); }
	.fs--quote { font-size: var(--fs--quote--font-size--desktop);     letter-spacing: var(--fs--quote--letter-spacing--desktop);   line-height: var(--fs--quote--line-height--desktop); }
	.fs--eyebrow { font-size: var(--fs--eyebrow--font-size--desktop); letter-spacing: var(--fs--eyebrow--letter-spacing--desktop); line-height: var(--fs--eyebrow--line-height--desktop); }
	.fs--larger { font-size: var(--fs--larger--font-size--desktop);   letter-spacing: var(--fs--larger--letter-spacing--desktop);  line-height: var(--fs--larger--line-height--desktop); }
	.fs--smaller { font-size: var(--fs--smaller--font-size--desktop); letter-spacing: var(--fs--smaller--letter-spacing--desktop); line-height: var(--fs--smaller--line-height--desktop); }
	.fs--label { font-size: var(--fs--label--font-size--desktop);     letter-spacing: var(--fs--label--letter-spacing--desktop);   line-height: var(--fs--label--line-height--desktop); }
	.fs--caption { font-size: var(--fs--caption--font-size--desktop); letter-spacing: var(--fs--caption--letter-spacing--desktop); line-height: var(--fs--caption--line-height--desktop); }
}

.ff--heading { font-family: var(--font-heading); }
.ff--display { font-family: var(--font-display); }
.ff--body { font-family: var(--font-body); }
.ff--button { font-family: var(--font-button); }

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

.margin--left--auto { margin-left: auto; margin-right: 0; }
.margin--right--auto { margin-right: auto; margin-left: 0; }
.margin--center--auto, .center { margin-left: auto; margin-right: auto; }

.nobr { white-space: nowrap; }
.breakword, .break-word { overflow-wrap: anywhere; }

.color--white { color: white; }
.color--black { color: black; }
.color--transparent { color: transparent; }

.color--hairline { color: var(--color-hairline); }
.color--alert { color: var(--color-alert); }

.color--accent { color: var(--color-accent); }
.color--tinted { color: var(--color-tinted); }
.color--neutral { color: var(--color-neutral); }
.color--muted { color: var(--color-muted); }
.color--contrast { color: var(--color-contrast); }

.color--body { color: var(--color-body); }
.color--heading { color: var(--color-heading); }

.border--none, .border--0 { border: 0; }
.border--accent--all { border: 0.0625rem solid var(--color-accent); }
.border--accent--top { border-top: 0.0625rem solid var(--color-accent); }
.border--accent--bottom { border-bottom: 0.0625rem solid var(--color-accent); }
.border--hairline--all { border: 0.0625rem solid var(--color-hairline); }
.border--hairline--top { border-top: 0.0625rem solid var(--color-hairline); }
.border--hairline--bottom { border-bottom: 0.0625rem solid var(--color-hairline); }

.-mt--min { margin-top: calc(-1 * var(--size-min)); }
.-mt--xxs { margin-top: calc(-1 * var(--size-xxs)); }
.-mt--xs { margin-top: calc(-1 * var(--size-xs)); }
.-mt--s { margin-top: calc(-1 * var(--size-s)); }
.-mt--m { margin-top: calc(-1 * var(--size-m)); }
.-mt--l { margin-top: calc(-1 * var(--size-l)); }
.-mt--xl { margin-top: calc(-1 * var(--size-xl)); }
.-mt--xxl { margin-top: calc(-1 * var(--size-xxl)); }
.-mt--max { margin-top: calc(-1 * var(--size-max)); }

.mt--none, .mt--0 { margin-top: 0; }
.mt--min { margin-top: var(--size-min); }
.mt--xxs { margin-top: var(--size-xxs); }
.mt--xs { margin-top: var(--size-xs); }
.mt--s { margin-top: var(--size-s); }
.mt--m { margin-top: var(--size-m); }
.mt--l { margin-top: var(--size-l); }
.mt--xl { margin-top: var(--size-xl); }
.mt--xxl { margin-top: var(--size-xxl); }
.mt--max { margin-top: var(--size-max); }

.mb--none, .mb--0 { margin-bottom: 0; }
.mb--min { margin-bottom: var(--size-min); }
.mb--xxs { margin-bottom: var(--size-xxs); }
.mb--xs { margin-bottom: var(--size-xs); }
.mb--s { margin-bottom: var(--size-s); }
.mb--m { margin-bottom: var(--size-m); }
.mb--l { margin-bottom: var(--size-l); }
.mb--xl { margin-bottom: var(--size-xl); }
.mb--xxl { margin-bottom: var(--size-xxl); }
.mb--max { margin-bottom: var(--size-max); }

.padding--none, .padding--0 { padding: 0; }
.padding--min { padding: var(--size-min); }
.padding--xxs { padding: var(--size-xxs); }
.padding--xs { padding: var(--size-xs); }
.padding--s { padding: var(--size-s); }
.padding--m { padding: var(--size-m); }
.padding--l { padding: var(--size-l); }
.padding--xl { padding: var(--size-xl); }
.padding--xxl { padding: var(--size-xxl); }
.padding--max { padding: var(--size-max); }

.pt--none, .pt--0 { padding-top: 0; }
.pt--min { padding-top: var(--size-min); }
.pt--xxs { padding-top: var(--size-xxs); }
.pt--xs { padding-top: var(--size-xs); }
.pt--s { padding-top: var(--size-s); }
.pt--m { padding-top: var(--size-m); }
.pt--l { padding-top: var(--size-l); }
.pt--xl { padding-top: var(--size-xl); }
.pt--xxl { padding-top: var(--size-xxl); }
.pt--max { padding-top: var(--size-max); }

.pb--none, .pb--0 { padding-bottom: 0; }
.pb--min { padding-bottom: var(--size-min); }
.pb--xxs { padding-bottom: var(--size-xxs); }
.pb--xs { padding-bottom: var(--size-xs); }
.pb--s { padding-bottom: var(--size-s); }
.pb--m { padding-bottom: var(--size-m); }
.pb--l { padding-bottom: var(--size-l); }
.pb--xl { padding-bottom: var(--size-xl); }
.pb--xxl { padding-bottom: var(--size-xxl); }
.pb--max { padding-bottom: var(--size-max); }

.pl--none, .pl--0 { padding-left: 0; }
.pl--min { padding-left: var(--size-min); }
.pl--xxs { padding-left: var(--size-xxs); }
.pl--xs { padding-left: var(--size-xs); }
.pl--s { padding-left: var(--size-s); }
.pl--m { padding-left: var(--size-m); }
.pl--l { padding-left: var(--size-l); }
.pl--xl { padding-left: var(--size-xl); }
.pl--xxl { padding-left: var(--size-xxl); }
.pl--max { padding-left: var(--size-max); }

.pr--none, .pr--0 { padding-right: 0; }
.pr--min { padding-right: var(--size-min); }
.pr--xxs { padding-right: var(--size-xxs); }
.pr--xs { padding-right: var(--size-xs); }
.pr--s { padding-right: var(--size-s); }
.pr--m { padding-right: var(--size-m); }
.pr--l { padding-right: var(--size-l); }
.pr--xl { padding-right: var(--size-xl); }
.pr--xxl { padding-right: var(--size-xxl); }
.pr--max { padding-right: var(--size-max); }

@media (width >= 51rem)
{
	.tablet\:pt--none, .tablet\:pt--0 { padding-top: 0; }
	.tablet\:pt--min { padding-top: var(--size-min); }
	.tablet\:pt--xxs { padding-top: var(--size-xxs); }
	.tablet\:pt--xs { padding-top: var(--size-xs); }
	.tablet\:pt--s { padding-top: var(--size-s); }
	.tablet\:pt--m { padding-top: var(--size-m); }
	.tablet\:pt--l { padding-top: var(--size-l); }
	.tablet\:pt--xl { padding-top: var(--size-xl); }
	.tablet\:pt--xxl { padding-top: var(--size-xxl); }
	.tablet\:pt--max { padding-top: var(--size-max); }

	.tablet\:pb--none, .tablet\:pb--0 { padding-bottom: 0; }
	.tablet\:pb--min { padding-bottom: var(--size-min); }
	.tablet\:pb--xxs { padding-bottom: var(--size-xxs); }
	.tablet\:pb--xs { padding-bottom: var(--size-xs); }
	.tablet\:pb--s { padding-bottom: var(--size-s); }
	.tablet\:pb--m { padding-bottom: var(--size-m); }
	.tablet\:pb--l { padding-bottom: var(--size-l); }
	.tablet\:pb--xl { padding-bottom: var(--size-xl); }
	.tablet\:pb--xxl { padding-bottom: var(--size-xxl); }
	.tablet\:pb--max { padding-bottom: var(--size-max); }

	.tablet\:pl--none, .tablet\:pl--0 { padding-left: 0; }
	.tablet\:pl--min { padding-left: var(--size-min); }
	.tablet\:pl--xxs { padding-left: var(--size-xxs); }
	.tablet\:pl--xs { padding-left: var(--size-xs); }
	.tablet\:pl--s { padding-left: var(--size-s); }
	.tablet\:pl--m { padding-left: var(--size-m); }
	.tablet\:pl--l { padding-left: var(--size-l); }
	.tablet\:pl--xl { padding-left: var(--size-xl); }
	.tablet\:pl--xxl { padding-left: var(--size-xxl); }
	.tablet\:pl--max { padding-left: var(--size-max); }

	.tablet\:pr--none, .tablet\:pr--0 { padding-right: 0; }
	.tablet\:pr--min { padding-right: var(--size-min); }
	.tablet\:pr--xxs { padding-right: var(--size-xxs); }
	.tablet\:pr--xs { padding-right: var(--size-xs); }
	.tablet\:pr--s { padding-right: var(--size-s); }
	.tablet\:pr--m { padding-right: var(--size-m); }
	.tablet\:pr--l { padding-right: var(--size-l); }
	.tablet\:pr--xl { padding-right: var(--size-xl); }
	.tablet\:pr--xxl { padding-right: var(--size-xxl); }
	.tablet\:pr--max { padding-right: var(--size-max); }
}

@media (width >= 78rem)
{
	.desktop\:pt--none, .desktop\:pt--0 { padding-top: 0; }
	.desktop\:pt--min { padding-top: var(--size-min); }
	.desktop\:pt--xxs { padding-top: var(--size-xxs); }
	.desktop\:pt--xs { padding-top: var(--size-xs); }
	.desktop\:pt--s { padding-top: var(--size-s); }
	.desktop\:pt--m { padding-top: var(--size-m); }
	.desktop\:pt--l { padding-top: var(--size-l); }
	.desktop\:pt--xl { padding-top: var(--size-xl); }
	.desktop\:pt--xxl { padding-top: var(--size-xxl); }
	.desktop\:pt--max { padding-top: var(--size-max); }

	.desktop\:pb--none, .desktop\:pb--0 { padding-bottom: 0; }
	.desktop\:pb--min { padding-bottom: var(--size-min); }
	.desktop\:pb--xxs { padding-bottom: var(--size-xxs); }
	.desktop\:pb--xs { padding-bottom: var(--size-xs); }
	.desktop\:pb--s { padding-bottom: var(--size-s); }
	.desktop\:pb--m { padding-bottom: var(--size-m); }
	.desktop\:pb--l { padding-bottom: var(--size-l); }
	.desktop\:pb--xl { padding-bottom: var(--size-xl); }
	.desktop\:pb--xxl { padding-bottom: var(--size-xxl); }
	.desktop\:pb--max { padding-bottom: var(--size-max); }

	.desktop\:pl--none, .desktop\:pl--0 { padding-left: 0; }
	.desktop\:pl--min { padding-left: var(--size-min); }
	.desktop\:pl--xxs { padding-left: var(--size-xxs); }
	.desktop\:pl--xs { padding-left: var(--size-xs); }
	.desktop\:pl--s { padding-left: var(--size-s); }
	.desktop\:pl--m { padding-left: var(--size-m); }
	.desktop\:pl--l { padding-left: var(--size-l); }
	.desktop\:pl--xl { padding-left: var(--size-xl); }
	.desktop\:pl--xxl { padding-left: var(--size-xxl); }
	.desktop\:pl--max { padding-left: var(--size-max); }

	.desktop\:pr--none, .desktop\:pr--0 { padding-right: 0; }
	.desktop\:pr--min { padding-right: var(--size-min); }
	.desktop\:pr--xxs { padding-right: var(--size-xxs); }
	.desktop\:pr--xs { padding-right: var(--size-xs); }
	.desktop\:pr--s { padding-right: var(--size-s); }
	.desktop\:pr--m { padding-right: var(--size-m); }
	.desktop\:pr--l { padding-right: var(--size-l); }
	.desktop\:pr--xl { padding-right: var(--size-xl); }
	.desktop\:pr--xxl { padding-right: var(--size-xxl); }
	.desktop\:pr--max { padding-right: var(--size-max); }
}

.lh--normal, .lh--normal li { line-height: normal; }
.lh--100, .lh--100 li { line-height: 1; }
.lh--105, .lh--105 li { line-height: 1.05; }
.lh--110, .lh--110 li { line-height: 1.1; }
.lh--115, .lh--115 li { line-height: 1.15; }
.lh--120, .lh--120 li { line-height: 1.2; }
.lh--125, .lh--125 li { line-height: 1.25; }
.lh--130, .lh--130 li { line-height: 1.3; }
.lh--150, .lh--150 li { line-height: 1.5; }
.lh--175, .lh--175 li { line-height: 1.75; }
.lh--200, .lh--200 li { line-height: 2; }

.-z { z-index: -1; }
.z--0 { z-index: 0; }
.z--1 { z-index: 1; }
.z--2 { z-index: 2; }
.z--3 { z-index: 3; }
.z--overlay { z-index: var(--z-index-overlay); }
.z--menu { z-index: var(--z-index-menu); }
.z--dialog { z-index: var(--z-index-dialog); }

.width--fit-content { width: fit-content; }
.width--100pct { width: 100%; }
.width--100pct--important { width: 100% !important; }

.min-width--0, .min-width--none { min-width: 0; }

.max-width--narrow { max-width: min(100%, var(--width-block-narrow)); }
.max-width--medium { max-width: min(100%, var(--width-block-medium)); }
.max-width--wide { max-width: min(100%, var(--width-block-wide)); }
.max-width--none { max-width: none; }

.display--block { display: block; }
.display--flex { display: flex; }
.display--grid { display: grid; }
.display--inline { display: inline; }
.display--inline-block { display: inline-block; }
.display--inline-flex { display: inline-flex; }
.display--inline-grid { display: inline-grid; }
.display--none { display: none; }
.display--none--important, .hidden { display: none !important; }

.position--fixed { position: fixed; }
.position--static { position: static; }
.position--sticky { position: sticky; }
.position--relative { position: relative; }
.position--absolute { position: absolute; }

.text-align--center { text-align: center; }
.text-align--left { text-align: left; }
.text-align--right { text-align: right; }

.text-wrap--wrap { text-wrap: wrap; }
.text-wrap--nowrap { text-wrap: nowrap; }
.text-wrap--balance { text-wrap: balance; }
.text-wrap--pretty { text-wrap: wrap; text-wrap: pretty; }

.box-shadow--0 { box-shadow: var(--box-shadow-0); }
.box-shadow--1 { box-shadow: var(--box-shadow-1); }
.box-shadow--2 { box-shadow: var(--box-shadow-2); }
.box-shadow--3 { box-shadow: var(--box-shadow-3); }

.box-sizing--all-inclusive, .box-sizing--border-box { box-sizing: border-box; }
.box-sizing--content-only, .box-sizing--content-box { box-sizing: content-box; }

.fw--thin, .fw--100 { font-weight: 100; }
.fw--extralight, .fw--200 { font-weight: 200; }
.fw--light, .fw--300 { font-weight: 300; }
.fw--regular, .fw--normal, .fw--400 { font-weight: 400; }
.fw--medium, .fw--500 { font-weight: 500; }
.fw--semibold, .fw--demibold, .fw--600 { font-weight: 600; }
.fw--bold, .fw--700, .bold { font-weight: 700; }
.fw--extrabold, .fw--ultrabold, .fw--800 { font-weight: 800; }
.fw--black, .fw--heavy, .fw--900 { font-weight: 900; }

.flex--1 { flex: 1; }
.flex--2 { flex: 2; }
.flex--3 { flex: 3; }
.flex--4 { flex: 4; }

.flex-wrap--nowrap { flex-wrap: nowrap; }
.flex-wrap--wrap { flex-wrap: wrap; }

.flex-direction--row { flex-direction: row; }
.flex-direction--row-reverse { flex-direction: row-reverse; }
.flex-direction--column { flex-direction: column; }
.flex-direction--column-reverse { flex-direction: column-reverse; }

/* For single row grids, auto-fit will grow to cover the entire row whereas auto-fill does not grow. */
.grid--auto-fill { grid-template-columns: repeat(auto-fill, minmax(min(var(--card-width-current), 100%), 1fr)); }
.grid--auto-fit { grid-template-columns: repeat(auto-fit, minmax(min(var(--card-width-current), 100%), 1fr)); }

.grid--5 { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
.grid--4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.grid--3 { grid-template-columns: 1fr 1fr 1fr; }
.grid--2 { grid-template-columns: 1fr 1fr; }
.grid--1 { grid-template-columns: 1fr; }

.align-content--flex-start { align-content: flex-start; }
.align-content--flex-end { align-content: flex-end; }
.align-content--start { align-content: start; }
.align-content--end { align-content: end; }
.align-content--center { align-content: center; }
.align-content--stretch { align-content: stretch; }
.align-content--space-between { align-content: space-between; }
.align-items--flex-start { align-items: flex-start; }
.align-items--flex-end { align-items: flex-end; }
.align-items--start { align-items: start; }
.align-items--end { align-items: end; }
.align-items--center { align-items: center; }
.align-items--baseline { align-items: baseline; }
.align-items--stretch { align-items: stretch; }
.align-self--flex-start { align-self: flex-start; }
.align-self--flex-end { align-self: flex-end; }
.align-self--start { align-self: start; }
.align-self--end { align-self: end; }
.align-self--center { align-self: center; }
.align-self--stretch { align-self: stretch; }

.justify-content--flex-start { justify-content: flex-start; }
.justify-content--flex-end { justify-content: flex-end; }
.justify-content--start { justify-content: start; }
.justify-content--end { justify-content: end; }
.justify-content--center { justify-content: center; }
.justify-content--stretch { justify-content: stretch; }
.justify-content--space-between { justify-content: space-between; }
.justify-items--start { justify-items: start; }
.justify-items--end { justify-items: end; }
.justify-items--center { justify-items: center; }
.justify-items--stretch { justify-items: stretch; }
.justify-self--start { justify-self: start; }
.justify-self--end { justify-self: end; }
.justify-self--center { justify-self: center; }
.justify-self--stretch { justify-self: stretch; }

@media (width < 51rem)
{
	.mobile\:hide { display: none; }
}

@media (51rem <= width < 78rem)
{
	.tablet\:hide { display: none; }

	.tablet\:flex-direction--row { flex-direction: row; }
	.tablet\:flex-direction--row-reverse { flex-direction: row-reverse; }
	.tablet\:flex-direction--column { flex-direction: column; }
	.tablet\:flex-direction--column-reverse { flex-direction: column-reverse; }

	.tablet\:flex-wrap--nowrap { flex-wrap: nowrap; }
	.tablet\:flex-wrap--wrap { flex-wrap: wrap; }

	.tablet\:grid--5 { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
	.tablet\:grid--4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
	.tablet\:grid--3 { grid-template-columns: 1fr 1fr 1fr; }
	.tablet\:grid--2 { grid-template-columns: 1fr 1fr; }
	.tablet\:grid--1 { grid-template-columns: 1fr; }

	.tablet\:align-content--flex-start { align-content: flex-start; }
	.tablet\:align-content--flex-end { align-content: flex-end; }
	.tablet\:align-content--start { align-content: start; }
	.tablet\:align-content--end { align-content: end; }
	.tablet\:align-content--center { align-content: center; }
	.tablet\:align-content--stretch { align-content: stretch; }
	.tablet\:align-content--space-between { align-content: space-between; }
	.tablet\:align-items--flex-start { align-items: flex-start; }
	.tablet\:align-items--flex-end { align-items: flex-end; }
	.tablet\:align-items--start { align-items: start; }
	.tablet\:align-items--end { align-items: end; }
	.tablet\:align-items--center { align-items: center; }
	.tablet\:align-items--baseline { align-items: baseline; }
	.tablet\:align-items--stretch { align-items: stretch; }
	.tablet\:align-self--flex-start { align-self: flex-start; }
	.tablet\:align-self--flex-end { align-self: flex-end; }
	.tablet\:align-self--start { align-self: start; }
	.tablet\:align-self--end { align-self: end; }
	.tablet\:align-self--center { align-self: center; }
	.tablet\:align-self--stretch { align-self: stretch; }

	.tablet\:justify-content--flex-start { justify-content: flex-start; }
	.tablet\:justify-content--flex-end { justify-content: flex-end; }
	.tablet\:justify-content--start { justify-content: start; }
	.tablet\:justify-content--end { justify-content: end; }
	.tablet\:justify-content--center { justify-content: center; }
	.tablet\:justify-content--stretch { justify-content: stretch; }
	.tablet\:justify-content--space-between { justify-content: space-between; }
	.tablet\:justify-items--start { justify-items: start; }
	.tablet\:justify-items--end { justify-items: end; }
	.tablet\:justify-items--center { justify-items: center; }
	.tablet\:justify-items--stretch { justify-items: stretch; }
	.tablet\:justify-self--start { justify-self: start; }
	.tablet\:justify-self--end { justify-self: end; }
	.tablet\:justify-self--center { justify-self: center; }
	.tablet\:justify-self--stretch { justify-self: stretch; }
}

@media (width >= 78rem)
{
	.desktop\:hide { display: none; }

	.desktop\:flex-direction--row { flex-direction: row; }
	.desktop\:flex-direction--row-reverse { flex-direction: row-reverse; }
	.desktop\:flex-direction--column { flex-direction: column; }
	.desktop\:flex-direction--column-reverse { flex-direction: column-reverse; }

	.desktop\:flex-wrap--nowrap { flex-wrap: nowrap; }
	.desktop\:flex-wrap--wrap { flex-wrap: wrap; }

	.desktop\:grid--5 { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
	.desktop\:grid--4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
	.desktop\:grid--3 { grid-template-columns: 1fr 1fr 1fr; }
	.desktop\:grid--2 { grid-template-columns: 1fr 1fr; }
	.desktop\:grid--1 { grid-template-columns: 1fr; }

	.desktop\:align-content--flex-start { align-content: flex-start; }
	.desktop\:align-content--flex-end { align-content: flex-end; }
	.desktop\:align-content--start { align-content: start; }
	.desktop\:align-content--end { align-content: end; }
	.desktop\:align-content--center { align-content: center; }
	.desktop\:align-content--stretch { align-content: stretch; }
	.desktop\:align-content--space-between { align-content: space-between; }
	.desktop\:align-items--flex-start { align-items: flex-start; }
	.desktop\:align-items--flex-end { align-items: flex-end; }
	.desktop\:align-items--start { align-items: start; }
	.desktop\:align-items--end { align-items: end; }
	.desktop\:align-items--center { align-items: center; }
	.desktop\:align-items--baseline { align-items: baseline; }
	.desktop\:align-items--stretch { align-items: stretch; }
	.desktop\:align-self--flex-start { align-self: flex-start; }
	.desktop\:align-self--flex-end { align-self: flex-end; }
	.desktop\:align-self--start { align-self: start; }
	.desktop\:align-self--end { align-self: end; }
	.desktop\:align-self--center { align-self: center; }
	.desktop\:align-self--stretch { align-self: stretch; }

	.desktop\:justify-content--flex-start { justify-content: flex-start; }
	.desktop\:justify-content--flex-end { justify-content: flex-end; }
	.desktop\:justify-content--start { justify-content: start; }
	.desktop\:justify-content--end { justify-content: end; }
	.desktop\:justify-content--center { justify-content: center; }
	.desktop\:justify-content--stretch { justify-content: stretch; }
	.desktop\:justify-content--space-between { justify-content: space-between; }
	.desktop\:justify-items--start { justify-items: start; }
	.desktop\:justify-items--end { justify-items: end; }
	.desktop\:justify-items--center { justify-items: center; }
	.desktop\:justify-items--stretch { justify-items: stretch; }
	.desktop\:justify-self--start { justify-self: start; }
	.desktop\:justify-self--end { justify-self: end; }
	.desktop\:justify-self--center { justify-self: center; }
	.desktop\:justify-self--stretch { justify-self: stretch; }
}


