/* >>> base.css */
/* CMSwift UI base */
/* =====================================================================
   CMSwift UI — Design Tokens v1 (PRO)
   - Full color scales 50..950
   - Semantic tokens for dev experience
   - Light default + Dark via data-theme="dark"
   - Brand skins via data-brand="*"
   ===================================================================== */

:root {
  /* ======================
     0) Meta / Layout tokens
     ====================== */
  --cms-brand: "CMSwift";

  --cms-space-1: 4px;
  --cms-space-2: 8px;
  --cms-space-3: 12px;
  --cms-space-4: 16px;
  --cms-space-5: 20px;
  --cms-space-6: 24px;

  /* ======================
     1) Neutral scale (foundation)
     ====================== */
  --cms-gray-50: #f8fafc;
  --cms-gray-100: #f1f5f9;
  --cms-gray-200: #e2e8f0;
  --cms-gray-300: #cbd5e1;
  --cms-gray-400: #94a3b8;
  --cms-gray-500: #64748b;
  --cms-gray-600: #475569;
  --cms-gray-700: #334155;
  --cms-gray-800: #1f2937;
  --cms-gray-900: #0f172a;
  --cms-gray-950: #020617;

  /* ======================
     2) Primary scale (Swift Blue)
     ====================== */
  --cms-primary-50: #eef6ff;
  --cms-primary-100: #dbeafe;
  --cms-primary-200: #bfdbfe;
  --cms-primary-300: #93c5fd;
  --cms-primary-400: #60a5fa;
  --cms-primary-500: #3b82f6;
  --cms-primary-600: #3c78f7;
  --cms-primary-700: #1d4ed8;
  --cms-primary-800: #1e40af;
  --cms-primary-900: #1e3a8a;
  --cms-primary-950: #172554;

  /* ======================
     3) Accent scale (Aurora Teal)
     ====================== */
  --cms-accent-50: #ecfeff;
  --cms-accent-100: #cffafe;
  --cms-accent-200: #a5f3fc;
  --cms-accent-300: #67e8f9;
  --cms-accent-400: #22d3ee;
  --cms-accent-500: #06b6d4;
  --cms-accent-600: #0891b2;
  --cms-accent-700: #0e7490;
  --cms-accent-800: #155e75;
  --cms-accent-900: #164e63;
  --cms-accent-950: #083344;

  /* ======================
     4) Status scales
     ====================== */
  /* Success */
  --cms-success-50: #f0fdf4;
  --cms-success-100: #dcfce7;
  --cms-success-200: #bbf7d0;
  --cms-success-300: #86efac;
  --cms-success-400: #4ade80;
  --cms-success-500: #22c55e;
  --cms-success-600: #16a34a;
  --cms-success-700: #15803d;
  --cms-success-800: #166534;
  --cms-success-900: #14532d;
  --cms-success-950: #052e16;

  /* Warning */
  --cms-warning-50: #fffbeb;
  --cms-warning-100: #fef3c7;
  --cms-warning-200: #fde68a;
  --cms-warning-300: #fcd34d;
  --cms-warning-400: #fbbf24;
  --cms-warning-500: #f59e0b;
  --cms-warning-600: #d97706;
  --cms-warning-700: #b45309;
  --cms-warning-800: #92400e;
  --cms-warning-900: #78350f;
  --cms-warning-950: #451a03;

  /* Danger */
  --cms-danger-50: #fef2f2;
  --cms-danger-100: #fee2e2;
  --cms-danger-200: #fecaca;
  --cms-danger-300: #fca5a5;
  --cms-danger-400: #f87171;
  --cms-danger-500: #ef4444;
  --cms-danger-600: #dc2626;
  --cms-danger-700: #b91c1c;
  --cms-danger-800: #991b1b;
  --cms-danger-900: #7f1d1d;
  --cms-danger-950: #450a0a;

  /* Info */
  --cms-info-50: #eef4ff;
  --cms-info-100: #e0e7ff;
  --cms-info-200: #c7d9fe;
  --cms-info-300: #a5c9fc;
  --cms-info-400: #819ff8;
  --cms-info-500: #547dce;
  --cms-info-600: #445fc1;
  --cms-info-700: #3352b1;
  --cms-info-800: #3051a3;
  --cms-info-900: #2e3d81;
  --cms-info-950: #1b264b;

  /* ======================
    5) Special scales (optional but “premium”)
    - Violet (creative)
    - Pink (marketing)
    - Orange (energy)
  ====================== */
  --cms-violet-50: #f5f3ff;
  --cms-violet-100: #ede9fe;
  --cms-violet-200: #ddd6fe;
  --cms-violet-300: #c4b5fd;
  --cms-violet-400: #a78bfa;
  --cms-violet-500: #8b5cf6;
  --cms-violet-600: #7c3aed;
  --cms-violet-700: #6d28d9;
  --cms-violet-800: #5b21b6;
  --cms-violet-900: #4c1d95;
  --cms-violet-950: #2e1065;

  --cms-pink-50: #fdf2f8;
  --cms-pink-100: #fce7f3;
  --cms-pink-200: #fbcfe8;
  --cms-pink-300: #f9a8d4;
  --cms-pink-400: #f472b6;
  --cms-pink-500: #ec4899;
  --cms-pink-600: #db2777;
  --cms-pink-700: #be185d;
  --cms-pink-800: #9d174d;
  --cms-pink-900: #831843;
  --cms-pink-950: #500724;

  --cms-orange-50: #fff7ed;
  --cms-orange-100: #ffedd5;
  --cms-orange-200: #fed7aa;
  --cms-orange-300: #fdba74;
  --cms-orange-400: #fb923c;
  --cms-orange-500: #f97316;
  --cms-orange-600: #ea580c;
  --cms-orange-700: #c2410c;
  --cms-orange-800: #9a3412;
  --cms-orange-900: #7c2d12;
  --cms-orange-950: #431407;

  /* ======================
     6) Social / Brand colors
     ====================== */
  --cms-facebook: #1877f2;
  --cms-twitter: #1da1f2;
  --cms-x: #0b0f19;
  --cms-linkedin: #0a66c2;
  --cms-google: #ea4335;
  --cms-youtube: #ff0000;
  --cms-vimeo: #1ab7ea;
  --cms-dribbble: #ea4c89;
  --cms-github: #18181b;
  --cms-instagram: #e1306c;
  --cms-pinterest: #e60023;
  --cms-rss: #f59e0b;

  /* ======================
     7) Alpha tokens (glass / overlay)
     ====================== */
  --cms-alpha-1: rgba(2, 6, 23, 0.04);
  --cms-alpha-2: rgba(2, 6, 23, 0.08);
  --cms-alpha-3: rgba(2, 6, 23, 0.12);
  --cms-alpha-4: rgba(2, 6, 23, 0.18);
  --cms-alpha-5: rgba(2, 6, 23, 0.26);

  /* ======================
     8) Shadows (premium)
     ====================== */
  --cms-shadow-sm: 0 1px 2px rgba(2, 6, 23, .30);
  --cms-shadow-md: 0 10px 30px rgba(2, 6, 23, .50);
  --cms-shadow-lg: 0 22px 60px rgba(2, 6, 23, .70);

  /* =========================================================
     SEMANTIC TOKENS (the real win)
     ========================================================= */

  /* Backgrounds & surfaces */
  --cms-bg: var(--cms-gray-50);
  --cms-bg-2: var(--cms-gray-100);
  --cms-surface: var(--cms-gray-200);
  --cms-surface-2: var(--cms-gray-300);
  --cms-surface-3: var(--cms-gray-400);

  /* Text */
  --cms-text: var(--cms-gray-900);
  --cms-text-2: var(--cms-gray-700);
  --cms-text-3: var(--cms-gray-500);
  --cms-text-inverse: #282828;

  /* Borders */



  /* Brand actions */
  --cms-accent: var(--cms-accent-600);
  --cms-accent-soft: var(--cms-accent-500);
  --cms-accent-text: var(--cms-accent-800);

  /* Focus ring */
  --cms-ring: rgba(59, 130, 246, 0.45);
  --cms-ring-strong: rgba(59, 130, 246, 0.65);

  /* Components defaults */
  --cms-card-bg: var(--cms-surface);
  --cms-card-border: var(--cms-border-color);

  --cms-btn-bg: var(--cms-primary);
  --cms-btn-bg-hover: var(--cms-primary-hover);
  --cms-btn-text: var(--cms-text-inverse);

  --cms-input-bg: var(--cms-surface);
  --cms-input-border: var(--cms-border-color);
  --cms-input-text: var(--cms-text);
  --cms-input-placeholder: var(--cms-text-3);

  --cms-chip-bg: var(--cms-surface-2);
  --cms-chip-text: var(--cms-text-2);
  --cms-badge-bg: var(--cms-primary-soft);
  --cms-badge-text: var(--cms-primary-text);


  --cms-panel: #e9e9e9;
  --cms-text: #434343;
  --cms-muted: #5d5d5d;

  --cms-border-color: rgba(93, 95, 100, 0.35);
  --cms-border-color-2: var(--cms-gray-400);
  --cms-font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --cms-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.25);
  --cms-icon-color: var(--cms-text);
  --cms-icon-size-xxs: 8px;
  --cms-icon-size-xs: 10px;
  --cms-icon-size-sm: 14px;
  --cms-icon-size-md: 18px;
  --cms-icon-size-lg: 24px;
  --cms-icon-size-xl: 32px;
  --cms-icon-size-xxl: 42px;
  --cms-icon-size-xxxl: 64px;
  --cms-icon-stroke-width: 0.1rem;

  --cms-size-xxs: 6px;
  --cms-size-xs: 10px;
  --cms-size-sm: 18px;
  --cms-size-md: 26px;
  --cms-size-lg: 32px;
  --cms-size-xl: 48px;
  --cms-size-xxl: 64px;
  --cms-size-xxxl: 128px;

  /* States */

  --cms-primary: var(--cms-primary-600);
  --cms-primary-hover: var(--cms-primary-400);
  --cms-primary-active: var(--cms-primary-800);
  --cms-primary-focus: var(--cms-primary-600);
  --cms-primary-disabled: var(--cms-primary-300);
  --cms-primary-soft: var(--cms-primary-500);
  --cms-primary-text: var(--cms-primary-500);

  --cms-secondary: var(--cms-gray-600);
  --cms-secondary-hover: var(--cms-gray-400);
  --cms-secondary-active: var(--cms-gray-800);
  --cms-secondary-focus: var(--cms-gray-600);
  --cms-secondary-disabled: var(--cms-gray-300);
  --cms-secondary-soft: var(--cms-gray-500);
  --cms-secondary-text: var(--cms-gray-500);

  --cms-danger: var(--cms-danger-600);
  --cms-danger-hover: var(--cms-danger-400);
  --cms-danger-active: var(--cms-danger-800);
  --cms-danger-focus: var(--cms-danger-600);
  --cms-danger-disabled: var(--cms-danger-300);
  --cms-danger-soft: var(--cms-danger-400);
  --cms-danger-text: var(--cms-danger-500);

  --cms-warning: var(--cms-warning-500);
  --cms-warning-hover: var(--cms-warning-400);
  --cms-warning-active: var(--cms-warning-400);
  --cms-warning-focus: var(--cms-warning-600);
  --cms-warning-disabled: var(--cms-warning-700);
  --cms-warning-soft: var(--cms-warning-400);
  --cms-warning-text: var(--cms-warning-500);

  --cms-success: var(--cms-success-600);
  --cms-success-hover: var(--cms-success-500);
  --cms-success-active: var(--cms-success-800);
  --cms-success-focus: var(--cms-success-600);
  --cms-success-disabled: var(--cms-success-300);
  --cms-success-soft: var(--cms-success-600);
  --cms-success-text: var(--cms-success-500);

  --cms-info: var(--cms-info-600);
  --cms-info-hover: var(--cms-info-400);
  --cms-info-active: var(--cms-info-800);
  --cms-info-focus: var(--cms-info-600);
  --cms-info-disabled: var(--cms-info-300);
  --cms-info-soft: var(--cms-info-500);
  --cms-info-text: var(--cms-info-500);

  --cms-dark: var(--cms-gray-800);
  --cms-dark-hover: var(--cms-gray-600);
  --cms-dark-active: var(--cms-gray-700);
  --cms-dark-focus: var(--cms-gray-700);
  --cms-dark-disabled: var(--cms-gray-700);
  --cms-dark-soft: var(--cms-gray-700);
  --cms-dark-text: var(--cms-gray-100);

  --cms-light: var(--cms-bg-2);
  --cms-light-hover: var(--cms-surface);
  --cms-light-active: var(--cms-surface-2);
  --cms-light-focus: var(--cms-bg-2);
  --cms-light-disabled: var(--cms-surface-2);
  --cms-light-soft: var(--cms-gray-100);
  --cms-light-text: var(--cms-gray-900);

  --cms-font-size: 14px;
  --cms-font-weight: 400;
  --cms-font-family: "Nunito", sans-serif;
  --set-icon-size: calc(var(--cms-font-size) + 4px);

  --cms-font-size-xxs: 6px;
  --cms-font-size-xs: 10px;
  --cms-font-size-sm: 12px;
  --cms-font-size-md: 14px;
  --cms-font-size-lg: 18px;
  --cms-font-size-xl: 24px;
  --cms-font-size-xxl: 32px;
  --cms-font-size-xxxl: 48px;

  --cms-input-height-xxs: 16px;
  --cms-input-height-xs: 20px;
  --cms-input-height-sm: 24px;
  --cms-input-height-md: 32px;
  --cms-input-height-lg: 48px;
  --cms-input-height-xl: 64px;
  --cms-input-height-xxl: 80px;

  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-gray-600) 40%, transparent);
  --set-color-0: var(--cms-gray-100);
  --set-color-1: var(--cms-gray-300);
  --set-color-2: var(--cms-gray-300);
  --set-color-3: var(--cms-gray-500);
  --set-color-4: var(--cms-gray-600);
  --set-border-width: 1px;

  --set-gradient-deg: 180deg;

  --cms-b-radius-default: 4px;
  --cms-input-height-default: var(--cms-input-height-md);
  --cms-select-bg-default: var(--cms-panel);
  --cms-bg-default: var(--cms-panel);

  --cms-theme-color-1: #f8f9fa;
  --cms-theme-color-2: #e9ecef;
  --cms-theme-color-3: #dee2e6;
  --cms-theme-color-4: #ced4da;
  --cms-theme-color-5: #adb5bd;
  --cms-theme-color-6: #868e96;
  --cms-theme-color-7: #495057;
  --cms-theme-color-8: #343a40;
  --cms-theme-color-9: #212529;
}

/* =====================================================================
   DARK THEME (high quality)
   ===================================================================== */
:root[data-theme="dark"] {
  --cms-alpha-1: rgba(255, 255, 255, 0.04);
  --cms-alpha-2: rgba(255, 255, 255, 0.08);
  --cms-alpha-3: rgba(255, 255, 255, 0.12);
  --cms-alpha-4: rgba(255, 255, 255, 0.18);
  --cms-alpha-5: rgba(255, 255, 255, 0.26);

  --cms-bg: #121212;
  --cms-bg-2: #0b1020;
  --cms-surface: #0f172a;
  --cms-surface-2: #111c34;
  --cms-surface-3: #16213f;

  --cms-text: #e5e7eb;
  --cms-text-2: #cbd5e1;
  --cms-text-3: #94a3b8;
  --cms-text-inverse: #0b1020;

  --cms-panel: #10141e;
  --cms-text: #cbcbcb;
  --cms-muted: #6b6b6b;

  --cms-border-color: rgba(148, 163, 184, 0.18);
  --cms-border-color-2: rgba(148, 163, 184, 0.26);

  --cms-accent: var(--cms-accent-400);
  --cms-accent-soft: rgba(34, 211, 238, 0.12);
  --cms-accent-text: var(--cms-accent-200);

  --cms-ring: rgba(96, 165, 250, 0.45);
  --cms-ring-strong: rgba(96, 165, 250, 0.65);

  --cms-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);
  --cms-shadow-md: 0 10px 30px rgba(0, 0, 0, .40);
  --cms-shadow-lg: 0 22px 60px rgba(0, 0, 0, .70);

  --cms-card-bg: var(--cms-surface);
  --cms-card-border: var(--cms-border-color);

  --cms-input-bg: rgba(255, 255, 255, 0.02);
  --cms-input-border: var(--cms-border-color);
  --cms-input-text: var(--cms-text);

  --cms-b-radius-default: 4px;
  --cms-input-height-default: var(--cms-input-height-md);
  --cms-select-bg-default: var(--cms-panel);
  --cms-bg-default: var(--cms-panel);

  --cms-theme-color-1: #212529;
  --cms-theme-color-2: #343a40;
  --cms-theme-color-3: #495057;
  --cms-theme-color-4: #868e96;
  --cms-theme-color-5: #adb5bd;
  --cms-theme-color-6: #ced4da;
  --cms-theme-color-7: #dee2e6;
  --cms-theme-color-8: #e9ecef;
  --cms-theme-color-9: #f8f9fa;

}

/* =====================================================================
   BRAND SKINS (optional — 1 linea per cambiare “brand”)
   ===================================================================== */

/* Emerald brand */
:root[data-brand="emerald"] {
  --cms-primary-500: #10b981;
  --cms-primary-600: #059669;
  --cms-primary-700: #047857;

  --cms-primary: var(--cms-primary-600);
  --cms-primary-hover: var(--cms-primary-700);
  --cms-ring: rgba(16, 185, 129, 0.45);
}

/* Violet brand */
:root[data-brand="violet"] {
  --cms-primary-500: #8b5cf6;
  --cms-primary-600: #7c3aed;
  --cms-primary-700: #6d28d9;

  --cms-primary: var(--cms-primary-600);
  --cms-primary-hover: var(--cms-primary-700);
  --cms-ring: rgba(139, 92, 246, 0.45);
}

/* FONTS */
@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-ExtraLightItalic.ttf") format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-MediumItalic.ttf") format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-SemiBoldItalic.ttf") format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-ExtraBoldItalic.ttf") format("truetype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nunito";
  src: url("../fonts/Nunito-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v311/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsLjBuVY.woff2) format('woff2');
}

:root {
  --cms-font: "Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*,
*::before,
*::after {
  font-family: var(--cms-font);
}

/* >>> responsive.css */
/* AUTO-GENERATED FILE – DO NOT EDIT */
/* CMSwift responsive – CSS classes */

:root{
  --cms-m-xxs: 2px;
  --cms-m-xs: 4px;
  --cms-m-sm: 6px;
  --cms-m-md: 10px;
  --cms-m-lg: 16px;
  --cms-m-xl: 24px;
  --cms-m-xxl: 32px;
  --cms-m-xxxl: 64px;
  --cms-p-xxs: 2px;
  --cms-p-xs: 4px;
  --cms-p-sm: 6px;
  --cms-p-md: 10px;
  --cms-p-lg: 16px;
  --cms-p-xl: 24px;
  --cms-p-xxl: 32px;
  --cms-p-xxxl: 64px;
  --cms-b-xxs: 2px;
  --cms-b-xs: 4px;
  --cms-b-sm: 6px;
  --cms-b-md: 10px;
  --cms-b-lg: 16px;
  --cms-b-xl: 24px;
  --cms-b-xxl: 32px;
  --cms-b-xxxl: 64px;
  --cms-f-xxs: 10px;
  --cms-f-xs: 12px;
  --cms-f-sm: 14px;
  --cms-f-md: 16px;
  --cms-f-lg: 18px;
  --cms-f-xl: 20px;
  --cms-f-xxl: 22px;
  --cms-f-xxxl: 24px;
  --cms-fw-xxs: 100;
  --cms-fw-xs: 200;
  --cms-fw-sm: 300;
  --cms-fw-md: 400;
  --cms-fw-lg: 500;
  --cms-fw-xl: 600;
  --cms-fw-xxl: 700;
  --cms-fw-xxxl: 800;
  --cms-lh-xxs: 1;
  --cms-lh-xs: 1.1;
  --cms-lh-sm: 1.2;
  --cms-lh-md: 1.3;
  --cms-lh-lg: 1.4;
  --cms-lh-xl: 1.5;
  --cms-lh-xxl: 1.6;
  --cms-lh-xxxl: 1.8;
  --cms-ls-xxs: 0px;
  --cms-ls-xs: 0.2px;
  --cms-ls-sm: 0.4px;
  --cms-ls-md: 0.6px;
  --cms-ls-lg: 0.8px;
  --cms-ls-xl: 1px;
  --cms-ls-xxl: 1.2px;
  --cms-ls-xxxl: 1.6px;
  --cms-w-xxs: 20%;
  --cms-w-xs: 30%;
  --cms-w-sm: 60%;
  --cms-w-md: 80%;
  --cms-w-lg: 100%;
  --cms-w-xl: 120%;
  --cms-w-xxl: 140%;
  --cms-w-xxxl: 160%;
  --cms-min-w-xxs: 20%;
  --cms-min-w-xs: 30%;
  --cms-min-w-sm: 60%;
  --cms-min-w-md: 80%;
  --cms-min-w-lg: 100%;
  --cms-min-w-xl: 120%;
  --cms-min-w-xxl: 140%;
  --cms-min-w-xxxl: 160%;
  --cms-max-w-xxs: 20%;
  --cms-max-w-xs: 30%;
  --cms-max-w-sm: 60%;
  --cms-max-w-md: 80%;
  --cms-max-w-lg: 100%;
  --cms-max-w-xl: 120%;
  --cms-max-w-xxl: 140%;
  --cms-max-w-xxxl: 160%;
  --cms-h-xxs: 20%;
  --cms-h-xs: 40%;
  --cms-h-sm: 60%;
  --cms-h-md: 80%;
  --cms-h-lg: 100%;
  --cms-h-xl: 120%;
  --cms-h-xxl: 140%;
  --cms-h-xxxl: 160%;
  --cms-min-h-xxs: 20%;
  --cms-min-h-xs: 40%;
  --cms-min-h-sm: 60%;
  --cms-min-h-md: 80%;
  --cms-min-h-lg: 100%;
  --cms-min-h-xl: 120%;
  --cms-min-h-xxl: 140%;
  --cms-min-h-xxxl: 160%;
  --cms-max-h-xxs: 20%;
  --cms-max-h-xs: 40%;
  --cms-max-h-sm: 60%;
  --cms-max-h-md: 80%;
  --cms-max-h-lg: 100%;
  --cms-max-h-xl: 120%;
  --cms-max-h-xxl: 140%;
  --cms-max-h-xxxl: 160%;
  --cms-r-xxs: 2px;
  --cms-r-xs: 4px;
  --cms-r-sm: 6px;
  --cms-r-md: 10px;
  --cms-r-lg: 16px;
  --cms-r-xl: 24px;
  --cms-r-xxl: 32px;
  --cms-r-xxxl: 9999px;
  --cms-s-xxs: 2px;
  --cms-s-xs: 4px;
  --cms-s-sm: 6px;
  --cms-s-md: 10px;
  --cms-s-lg: 16px;
  --cms-s-xl: 24px;
  --cms-s-xxl: 32px;
  --cms-s-xxxl: 64px;
  --cms-gap-xxs: 2px;
  --cms-gap-xs: 4px;
  --cms-gap-sm: 6px;
  --cms-gap-md: 10px;
  --cms-gap-lg: 16px;
  --cms-gap-xl: 24px;
  --cms-gap-xxl: 32px;
  --cms-gap-xxxl: 64px;
}

.cms-row { display: flex; align-items: stretch; flex-wrap: wrap; }
.cms-col { flex-direction: column; gap: var(--cms-s-md); box-sizing: border-box; min-width: 0; }
.cms-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
.cms-col-inline { display: inline-block; }
.cms-col-flex { display: flex; flex-direction: column; gap: var(--cms-s-md); }
.cms-col-flex.cms-col-inline { display: inline-flex; }
[class*="cms-col"] { position: relative; box-sizing: border-box; flex: 1; }
[class*="cms-col"] .cms-col-start, [class*="cms-col"] .cms-col-body, [class*="cms-col"] .cms-col-end { display: flex; min-width: 0; flex-direction: column; gap: inherit; }
[class*="cms-col"] .cms-col-body { flex: 1 1 auto; }

.cms-rsp.cms-rsp-display.cms-rsp-display { display: var(--cms-rsp-display); }
.cms-rsp.cms-rsp-flex-direction.cms-rsp-flex-direction { flex-direction: var(--cms-rsp-flex-direction); }
.cms-rsp.cms-rsp-flex-wrap.cms-rsp-flex-wrap { flex-wrap: var(--cms-rsp-flex-wrap); }
.cms-rsp.cms-rsp-align-items.cms-rsp-align-items { align-items: var(--cms-rsp-align-items); }
.cms-rsp.cms-rsp-justify-content.cms-rsp-justify-content { justify-content: var(--cms-rsp-justify-content); }
.cms-rsp.cms-rsp-align-self.cms-rsp-align-self { align-self: var(--cms-rsp-align-self); }
.cms-rsp.cms-rsp-justify-self.cms-rsp-justify-self { justify-self: var(--cms-rsp-justify-self); }
.cms-rsp.cms-rsp-place-items.cms-rsp-place-items { place-items: var(--cms-rsp-place-items); }
.cms-rsp.cms-rsp-place-self.cms-rsp-place-self { place-self: var(--cms-rsp-place-self); }
.cms-rsp.cms-rsp-grid-template-columns.cms-rsp-grid-template-columns { grid-template-columns: var(--cms-rsp-grid-template-columns); }
.cms-rsp.cms-rsp-grid-template-rows.cms-rsp-grid-template-rows { grid-template-rows: var(--cms-rsp-grid-template-rows); }
.cms-rsp.cms-rsp-grid-auto-flow.cms-rsp-grid-auto-flow { grid-auto-flow: var(--cms-rsp-grid-auto-flow); }
.cms-rsp.cms-rsp-grid-auto-rows.cms-rsp-grid-auto-rows { grid-auto-rows: var(--cms-rsp-grid-auto-rows); }
.cms-rsp.cms-rsp-grid-column.cms-rsp-grid-column { grid-column: var(--cms-rsp-grid-column); }
.cms-rsp.cms-rsp-grid-row.cms-rsp-grid-row { grid-row: var(--cms-rsp-grid-row); }
.cms-rsp.cms-rsp-grid-area.cms-rsp-grid-area { grid-area: var(--cms-rsp-grid-area); }
.cms-rsp.cms-rsp-gap.cms-rsp-gap { gap: var(--cms-rsp-gap); }
.cms-rsp.cms-rsp-row-gap.cms-rsp-row-gap { row-gap: var(--cms-rsp-row-gap); }
.cms-rsp.cms-rsp-column-gap.cms-rsp-column-gap { column-gap: var(--cms-rsp-column-gap); }
.cms-rsp.cms-rsp-width.cms-rsp-width { width: var(--cms-rsp-width); }
.cms-rsp.cms-rsp-min-width.cms-rsp-min-width { min-width: var(--cms-rsp-min-width); }
.cms-rsp.cms-rsp-max-width.cms-rsp-max-width { max-width: var(--cms-rsp-max-width); }
.cms-rsp.cms-rsp-height.cms-rsp-height { height: var(--cms-rsp-height); }
.cms-rsp.cms-rsp-min-height.cms-rsp-min-height { min-height: var(--cms-rsp-min-height); }
.cms-rsp.cms-rsp-max-height.cms-rsp-max-height { max-height: var(--cms-rsp-max-height); }
.cms-rsp.cms-rsp-padding.cms-rsp-padding { padding: var(--cms-rsp-padding); }
.cms-rsp.cms-rsp-padding-left.cms-rsp-padding-left { padding-left: var(--cms-rsp-padding-left); }
.cms-rsp.cms-rsp-padding-right.cms-rsp-padding-right { padding-right: var(--cms-rsp-padding-right); }
.cms-rsp.cms-rsp-padding-top.cms-rsp-padding-top { padding-top: var(--cms-rsp-padding-top); }
.cms-rsp.cms-rsp-padding-bottom.cms-rsp-padding-bottom { padding-bottom: var(--cms-rsp-padding-bottom); }
.cms-rsp.cms-rsp-margin.cms-rsp-margin { margin: var(--cms-rsp-margin); }
.cms-rsp.cms-rsp-margin-left.cms-rsp-margin-left { margin-left: var(--cms-rsp-margin-left); }
.cms-rsp.cms-rsp-margin-right.cms-rsp-margin-right { margin-right: var(--cms-rsp-margin-right); }
.cms-rsp.cms-rsp-margin-top.cms-rsp-margin-top { margin-top: var(--cms-rsp-margin-top); }
.cms-rsp.cms-rsp-margin-bottom.cms-rsp-margin-bottom { margin-bottom: var(--cms-rsp-margin-bottom); }
.cms-rsp.cms-rsp-font-size.cms-rsp-font-size { font-size: var(--cms-rsp-font-size); }
.cms-rsp.cms-rsp-font-weight.cms-rsp-font-weight { font-weight: var(--cms-rsp-font-weight); }
.cms-rsp.cms-rsp-line-height.cms-rsp-line-height { line-height: var(--cms-rsp-line-height); }
.cms-rsp.cms-rsp-letter-spacing.cms-rsp-letter-spacing { letter-spacing: var(--cms-rsp-letter-spacing); }
.cms-rsp.cms-rsp-border-radius.cms-rsp-border-radius { border-radius: var(--cms-rsp-border-radius); }
.cms-rsp.cms-rsp-overflow.cms-rsp-overflow { overflow: var(--cms-rsp-overflow); }
.cms-rsp.cms-rsp-order.cms-rsp-order { order: var(--cms-rsp-order); }

@media (min-width: 768px) {
  .cms-rsp.cms-rsp-tablet-display.cms-rsp-tablet-display { display: var(--cms-rsp-tablet-display); }
  .cms-rsp.cms-rsp-tablet-flex-direction.cms-rsp-tablet-flex-direction { flex-direction: var(--cms-rsp-tablet-flex-direction); }
  .cms-rsp.cms-rsp-tablet-flex-wrap.cms-rsp-tablet-flex-wrap { flex-wrap: var(--cms-rsp-tablet-flex-wrap); }
  .cms-rsp.cms-rsp-tablet-align-items.cms-rsp-tablet-align-items { align-items: var(--cms-rsp-tablet-align-items); }
  .cms-rsp.cms-rsp-tablet-justify-content.cms-rsp-tablet-justify-content { justify-content: var(--cms-rsp-tablet-justify-content); }
  .cms-rsp.cms-rsp-tablet-align-self.cms-rsp-tablet-align-self { align-self: var(--cms-rsp-tablet-align-self); }
  .cms-rsp.cms-rsp-tablet-justify-self.cms-rsp-tablet-justify-self { justify-self: var(--cms-rsp-tablet-justify-self); }
  .cms-rsp.cms-rsp-tablet-place-items.cms-rsp-tablet-place-items { place-items: var(--cms-rsp-tablet-place-items); }
  .cms-rsp.cms-rsp-tablet-place-self.cms-rsp-tablet-place-self { place-self: var(--cms-rsp-tablet-place-self); }
  .cms-rsp.cms-rsp-tablet-grid-template-columns.cms-rsp-tablet-grid-template-columns { grid-template-columns: var(--cms-rsp-tablet-grid-template-columns); }
  .cms-rsp.cms-rsp-tablet-grid-template-rows.cms-rsp-tablet-grid-template-rows { grid-template-rows: var(--cms-rsp-tablet-grid-template-rows); }
  .cms-rsp.cms-rsp-tablet-grid-auto-flow.cms-rsp-tablet-grid-auto-flow { grid-auto-flow: var(--cms-rsp-tablet-grid-auto-flow); }
  .cms-rsp.cms-rsp-tablet-grid-auto-rows.cms-rsp-tablet-grid-auto-rows { grid-auto-rows: var(--cms-rsp-tablet-grid-auto-rows); }
  .cms-rsp.cms-rsp-tablet-grid-column.cms-rsp-tablet-grid-column { grid-column: var(--cms-rsp-tablet-grid-column); }
  .cms-rsp.cms-rsp-tablet-grid-row.cms-rsp-tablet-grid-row { grid-row: var(--cms-rsp-tablet-grid-row); }
  .cms-rsp.cms-rsp-tablet-grid-area.cms-rsp-tablet-grid-area { grid-area: var(--cms-rsp-tablet-grid-area); }
  .cms-rsp.cms-rsp-tablet-gap.cms-rsp-tablet-gap { gap: var(--cms-rsp-tablet-gap); }
  .cms-rsp.cms-rsp-tablet-row-gap.cms-rsp-tablet-row-gap { row-gap: var(--cms-rsp-tablet-row-gap); }
  .cms-rsp.cms-rsp-tablet-column-gap.cms-rsp-tablet-column-gap { column-gap: var(--cms-rsp-tablet-column-gap); }
  .cms-rsp.cms-rsp-tablet-width.cms-rsp-tablet-width { width: var(--cms-rsp-tablet-width); }
  .cms-rsp.cms-rsp-tablet-min-width.cms-rsp-tablet-min-width { min-width: var(--cms-rsp-tablet-min-width); }
  .cms-rsp.cms-rsp-tablet-max-width.cms-rsp-tablet-max-width { max-width: var(--cms-rsp-tablet-max-width); }
  .cms-rsp.cms-rsp-tablet-height.cms-rsp-tablet-height { height: var(--cms-rsp-tablet-height); }
  .cms-rsp.cms-rsp-tablet-min-height.cms-rsp-tablet-min-height { min-height: var(--cms-rsp-tablet-min-height); }
  .cms-rsp.cms-rsp-tablet-max-height.cms-rsp-tablet-max-height { max-height: var(--cms-rsp-tablet-max-height); }
  .cms-rsp.cms-rsp-tablet-padding.cms-rsp-tablet-padding { padding: var(--cms-rsp-tablet-padding); }
  .cms-rsp.cms-rsp-tablet-padding-left.cms-rsp-tablet-padding-left { padding-left: var(--cms-rsp-tablet-padding-left); }
  .cms-rsp.cms-rsp-tablet-padding-right.cms-rsp-tablet-padding-right { padding-right: var(--cms-rsp-tablet-padding-right); }
  .cms-rsp.cms-rsp-tablet-padding-top.cms-rsp-tablet-padding-top { padding-top: var(--cms-rsp-tablet-padding-top); }
  .cms-rsp.cms-rsp-tablet-padding-bottom.cms-rsp-tablet-padding-bottom { padding-bottom: var(--cms-rsp-tablet-padding-bottom); }
  .cms-rsp.cms-rsp-tablet-margin.cms-rsp-tablet-margin { margin: var(--cms-rsp-tablet-margin); }
  .cms-rsp.cms-rsp-tablet-margin-left.cms-rsp-tablet-margin-left { margin-left: var(--cms-rsp-tablet-margin-left); }
  .cms-rsp.cms-rsp-tablet-margin-right.cms-rsp-tablet-margin-right { margin-right: var(--cms-rsp-tablet-margin-right); }
  .cms-rsp.cms-rsp-tablet-margin-top.cms-rsp-tablet-margin-top { margin-top: var(--cms-rsp-tablet-margin-top); }
  .cms-rsp.cms-rsp-tablet-margin-bottom.cms-rsp-tablet-margin-bottom { margin-bottom: var(--cms-rsp-tablet-margin-bottom); }
  .cms-rsp.cms-rsp-tablet-font-size.cms-rsp-tablet-font-size { font-size: var(--cms-rsp-tablet-font-size); }
  .cms-rsp.cms-rsp-tablet-font-weight.cms-rsp-tablet-font-weight { font-weight: var(--cms-rsp-tablet-font-weight); }
  .cms-rsp.cms-rsp-tablet-line-height.cms-rsp-tablet-line-height { line-height: var(--cms-rsp-tablet-line-height); }
  .cms-rsp.cms-rsp-tablet-letter-spacing.cms-rsp-tablet-letter-spacing { letter-spacing: var(--cms-rsp-tablet-letter-spacing); }
  .cms-rsp.cms-rsp-tablet-border-radius.cms-rsp-tablet-border-radius { border-radius: var(--cms-rsp-tablet-border-radius); }
  .cms-rsp.cms-rsp-tablet-overflow.cms-rsp-tablet-overflow { overflow: var(--cms-rsp-tablet-overflow); }
  .cms-rsp.cms-rsp-tablet-order.cms-rsp-tablet-order { order: var(--cms-rsp-tablet-order); }
}

@media (min-width: 1024px) {
  .cms-rsp.cms-rsp-pc-display.cms-rsp-pc-display { display: var(--cms-rsp-pc-display); }
  .cms-rsp.cms-rsp-pc-flex-direction.cms-rsp-pc-flex-direction { flex-direction: var(--cms-rsp-pc-flex-direction); }
  .cms-rsp.cms-rsp-pc-flex-wrap.cms-rsp-pc-flex-wrap { flex-wrap: var(--cms-rsp-pc-flex-wrap); }
  .cms-rsp.cms-rsp-pc-align-items.cms-rsp-pc-align-items { align-items: var(--cms-rsp-pc-align-items); }
  .cms-rsp.cms-rsp-pc-justify-content.cms-rsp-pc-justify-content { justify-content: var(--cms-rsp-pc-justify-content); }
  .cms-rsp.cms-rsp-pc-align-self.cms-rsp-pc-align-self { align-self: var(--cms-rsp-pc-align-self); }
  .cms-rsp.cms-rsp-pc-justify-self.cms-rsp-pc-justify-self { justify-self: var(--cms-rsp-pc-justify-self); }
  .cms-rsp.cms-rsp-pc-place-items.cms-rsp-pc-place-items { place-items: var(--cms-rsp-pc-place-items); }
  .cms-rsp.cms-rsp-pc-place-self.cms-rsp-pc-place-self { place-self: var(--cms-rsp-pc-place-self); }
  .cms-rsp.cms-rsp-pc-grid-template-columns.cms-rsp-pc-grid-template-columns { grid-template-columns: var(--cms-rsp-pc-grid-template-columns); }
  .cms-rsp.cms-rsp-pc-grid-template-rows.cms-rsp-pc-grid-template-rows { grid-template-rows: var(--cms-rsp-pc-grid-template-rows); }
  .cms-rsp.cms-rsp-pc-grid-auto-flow.cms-rsp-pc-grid-auto-flow { grid-auto-flow: var(--cms-rsp-pc-grid-auto-flow); }
  .cms-rsp.cms-rsp-pc-grid-auto-rows.cms-rsp-pc-grid-auto-rows { grid-auto-rows: var(--cms-rsp-pc-grid-auto-rows); }
  .cms-rsp.cms-rsp-pc-grid-column.cms-rsp-pc-grid-column { grid-column: var(--cms-rsp-pc-grid-column); }
  .cms-rsp.cms-rsp-pc-grid-row.cms-rsp-pc-grid-row { grid-row: var(--cms-rsp-pc-grid-row); }
  .cms-rsp.cms-rsp-pc-grid-area.cms-rsp-pc-grid-area { grid-area: var(--cms-rsp-pc-grid-area); }
  .cms-rsp.cms-rsp-pc-gap.cms-rsp-pc-gap { gap: var(--cms-rsp-pc-gap); }
  .cms-rsp.cms-rsp-pc-row-gap.cms-rsp-pc-row-gap { row-gap: var(--cms-rsp-pc-row-gap); }
  .cms-rsp.cms-rsp-pc-column-gap.cms-rsp-pc-column-gap { column-gap: var(--cms-rsp-pc-column-gap); }
  .cms-rsp.cms-rsp-pc-width.cms-rsp-pc-width { width: var(--cms-rsp-pc-width); }
  .cms-rsp.cms-rsp-pc-min-width.cms-rsp-pc-min-width { min-width: var(--cms-rsp-pc-min-width); }
  .cms-rsp.cms-rsp-pc-max-width.cms-rsp-pc-max-width { max-width: var(--cms-rsp-pc-max-width); }
  .cms-rsp.cms-rsp-pc-height.cms-rsp-pc-height { height: var(--cms-rsp-pc-height); }
  .cms-rsp.cms-rsp-pc-min-height.cms-rsp-pc-min-height { min-height: var(--cms-rsp-pc-min-height); }
  .cms-rsp.cms-rsp-pc-max-height.cms-rsp-pc-max-height { max-height: var(--cms-rsp-pc-max-height); }
  .cms-rsp.cms-rsp-pc-padding.cms-rsp-pc-padding { padding: var(--cms-rsp-pc-padding); }
  .cms-rsp.cms-rsp-pc-padding-left.cms-rsp-pc-padding-left { padding-left: var(--cms-rsp-pc-padding-left); }
  .cms-rsp.cms-rsp-pc-padding-right.cms-rsp-pc-padding-right { padding-right: var(--cms-rsp-pc-padding-right); }
  .cms-rsp.cms-rsp-pc-padding-top.cms-rsp-pc-padding-top { padding-top: var(--cms-rsp-pc-padding-top); }
  .cms-rsp.cms-rsp-pc-padding-bottom.cms-rsp-pc-padding-bottom { padding-bottom: var(--cms-rsp-pc-padding-bottom); }
  .cms-rsp.cms-rsp-pc-margin.cms-rsp-pc-margin { margin: var(--cms-rsp-pc-margin); }
  .cms-rsp.cms-rsp-pc-margin-left.cms-rsp-pc-margin-left { margin-left: var(--cms-rsp-pc-margin-left); }
  .cms-rsp.cms-rsp-pc-margin-right.cms-rsp-pc-margin-right { margin-right: var(--cms-rsp-pc-margin-right); }
  .cms-rsp.cms-rsp-pc-margin-top.cms-rsp-pc-margin-top { margin-top: var(--cms-rsp-pc-margin-top); }
  .cms-rsp.cms-rsp-pc-margin-bottom.cms-rsp-pc-margin-bottom { margin-bottom: var(--cms-rsp-pc-margin-bottom); }
  .cms-rsp.cms-rsp-pc-font-size.cms-rsp-pc-font-size { font-size: var(--cms-rsp-pc-font-size); }
  .cms-rsp.cms-rsp-pc-font-weight.cms-rsp-pc-font-weight { font-weight: var(--cms-rsp-pc-font-weight); }
  .cms-rsp.cms-rsp-pc-line-height.cms-rsp-pc-line-height { line-height: var(--cms-rsp-pc-line-height); }
  .cms-rsp.cms-rsp-pc-letter-spacing.cms-rsp-pc-letter-spacing { letter-spacing: var(--cms-rsp-pc-letter-spacing); }
  .cms-rsp.cms-rsp-pc-border-radius.cms-rsp-pc-border-radius { border-radius: var(--cms-rsp-pc-border-radius); }
  .cms-rsp.cms-rsp-pc-overflow.cms-rsp-pc-overflow { overflow: var(--cms-rsp-pc-overflow); }
  .cms-rsp.cms-rsp-pc-order.cms-rsp-pc-order { order: var(--cms-rsp-pc-order); }
}

.cms-m-xxs { margin: var(--cms-m-xxs); }
.cms-m-xs { margin: var(--cms-m-xs); }
.cms-m-sm { margin: var(--cms-m-sm); }
.cms-m-md { margin: var(--cms-m-md); }
.cms-m-lg { margin: var(--cms-m-lg); }
.cms-m-xl { margin: var(--cms-m-xl); }
.cms-m-xxl { margin: var(--cms-m-xxl); }
.cms-m-xxxl { margin: var(--cms-m-xxxl); }
.cms-m-l-xxs { margin-left: var(--cms-m-xxs); }
.cms-m-l-xs { margin-left: var(--cms-m-xs); }
.cms-m-l-sm { margin-left: var(--cms-m-sm); }
.cms-m-l-md { margin-left: var(--cms-m-md); }
.cms-m-l-lg { margin-left: var(--cms-m-lg); }
.cms-m-l-xl { margin-left: var(--cms-m-xl); }
.cms-m-l-xxl { margin-left: var(--cms-m-xxl); }
.cms-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
.cms-m-r-xxs { margin-right: var(--cms-m-xxs); }
.cms-m-r-xs { margin-right: var(--cms-m-xs); }
.cms-m-r-sm { margin-right: var(--cms-m-sm); }
.cms-m-r-md { margin-right: var(--cms-m-md); }
.cms-m-r-lg { margin-right: var(--cms-m-lg); }
.cms-m-r-xl { margin-right: var(--cms-m-xl); }
.cms-m-r-xxl { margin-right: var(--cms-m-xxl); }
.cms-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
.cms-m-t-xxs { margin-top: var(--cms-m-xxs); }
.cms-m-t-xs { margin-top: var(--cms-m-xs); }
.cms-m-t-sm { margin-top: var(--cms-m-sm); }
.cms-m-t-md { margin-top: var(--cms-m-md); }
.cms-m-t-lg { margin-top: var(--cms-m-lg); }
.cms-m-t-xl { margin-top: var(--cms-m-xl); }
.cms-m-t-xxl { margin-top: var(--cms-m-xxl); }
.cms-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
.cms-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
.cms-m-b-xs { margin-bottom: var(--cms-m-xs); }
.cms-m-b-sm { margin-bottom: var(--cms-m-sm); }
.cms-m-b-md { margin-bottom: var(--cms-m-md); }
.cms-m-b-lg { margin-bottom: var(--cms-m-lg); }
.cms-m-b-xl { margin-bottom: var(--cms-m-xl); }
.cms-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
.cms-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
.cms-p-xxs { padding: var(--cms-p-xxs); }
.cms-p-xs { padding: var(--cms-p-xs); }
.cms-p-sm { padding: var(--cms-p-sm); }
.cms-p-md { padding: var(--cms-p-md); }
.cms-p-lg { padding: var(--cms-p-lg); }
.cms-p-xl { padding: var(--cms-p-xl); }
.cms-p-xxl { padding: var(--cms-p-xxl); }
.cms-p-xxxl { padding: var(--cms-p-xxxl); }
.cms-p-l-xxs { padding-left: var(--cms-p-xxs); }
.cms-p-l-xs { padding-left: var(--cms-p-xs); }
.cms-p-l-sm { padding-left: var(--cms-p-sm); }
.cms-p-l-md { padding-left: var(--cms-p-md); }
.cms-p-l-lg { padding-left: var(--cms-p-lg); }
.cms-p-l-xl { padding-left: var(--cms-p-xl); }
.cms-p-l-xxl { padding-left: var(--cms-p-xxl); }
.cms-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
.cms-p-r-xxs { padding-right: var(--cms-p-xxs); }
.cms-p-r-xs { padding-right: var(--cms-p-xs); }
.cms-p-r-sm { padding-right: var(--cms-p-sm); }
.cms-p-r-md { padding-right: var(--cms-p-md); }
.cms-p-r-lg { padding-right: var(--cms-p-lg); }
.cms-p-r-xl { padding-right: var(--cms-p-xl); }
.cms-p-r-xxl { padding-right: var(--cms-p-xxl); }
.cms-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
.cms-p-t-xxs { padding-top: var(--cms-p-xxs); }
.cms-p-t-xs { padding-top: var(--cms-p-xs); }
.cms-p-t-sm { padding-top: var(--cms-p-sm); }
.cms-p-t-md { padding-top: var(--cms-p-md); }
.cms-p-t-lg { padding-top: var(--cms-p-lg); }
.cms-p-t-xl { padding-top: var(--cms-p-xl); }
.cms-p-t-xxl { padding-top: var(--cms-p-xxl); }
.cms-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
.cms-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
.cms-p-b-xs { padding-bottom: var(--cms-p-xs); }
.cms-p-b-sm { padding-bottom: var(--cms-p-sm); }
.cms-p-b-md { padding-bottom: var(--cms-p-md); }
.cms-p-b-lg { padding-bottom: var(--cms-p-lg); }
.cms-p-b-xl { padding-bottom: var(--cms-p-xl); }
.cms-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
.cms-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
.cms-b-xxs { border: var(--cms-b-xxs); }
.cms-b-xs { border: var(--cms-b-xs); }
.cms-b-sm { border: var(--cms-b-sm); }
.cms-b-md { border: var(--cms-b-md); }
.cms-b-lg { border: var(--cms-b-lg); }
.cms-b-xl { border: var(--cms-b-xl); }
.cms-b-xxl { border: var(--cms-b-xxl); }
.cms-b-xxxl { border: var(--cms-b-xxxl); }
.cms-b-l-xxs { border-left: var(--cms-b-xxs); }
.cms-b-l-xs { border-left: var(--cms-b-xs); }
.cms-b-l-sm { border-left: var(--cms-b-sm); }
.cms-b-l-md { border-left: var(--cms-b-md); }
.cms-b-l-lg { border-left: var(--cms-b-lg); }
.cms-b-l-xl { border-left: var(--cms-b-xl); }
.cms-b-l-xxl { border-left: var(--cms-b-xxl); }
.cms-b-l-xxxl { border-left: var(--cms-b-xxxl); }
.cms-b-r-xxs { border-right: var(--cms-b-xxs); }
.cms-b-r-xs { border-right: var(--cms-b-xs); }
.cms-b-r-sm { border-right: var(--cms-b-sm); }
.cms-b-r-md { border-right: var(--cms-b-md); }
.cms-b-r-lg { border-right: var(--cms-b-lg); }
.cms-b-r-xl { border-right: var(--cms-b-xl); }
.cms-b-r-xxl { border-right: var(--cms-b-xxl); }
.cms-b-r-xxxl { border-right: var(--cms-b-xxxl); }
.cms-b-t-xxs { border-top: var(--cms-b-xxs); }
.cms-b-t-xs { border-top: var(--cms-b-xs); }
.cms-b-t-sm { border-top: var(--cms-b-sm); }
.cms-b-t-md { border-top: var(--cms-b-md); }
.cms-b-t-lg { border-top: var(--cms-b-lg); }
.cms-b-t-xl { border-top: var(--cms-b-xl); }
.cms-b-t-xxl { border-top: var(--cms-b-xxl); }
.cms-b-t-xxxl { border-top: var(--cms-b-xxxl); }
.cms-b-b-xxs { border-bottom: var(--cms-b-xxs); }
.cms-b-b-xs { border-bottom: var(--cms-b-xs); }
.cms-b-b-sm { border-bottom: var(--cms-b-sm); }
.cms-b-b-md { border-bottom: var(--cms-b-md); }
.cms-b-b-lg { border-bottom: var(--cms-b-lg); }
.cms-b-b-xl { border-bottom: var(--cms-b-xl); }
.cms-b-b-xxl { border-bottom: var(--cms-b-xxl); }
.cms-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
.cms-f-xxs { font-size: var(--cms-f-xxs); }
.cms-f-xs { font-size: var(--cms-f-xs); }
.cms-f-sm { font-size: var(--cms-f-sm); }
.cms-f-md { font-size: var(--cms-f-md); }
.cms-f-lg { font-size: var(--cms-f-lg); }
.cms-f-xl { font-size: var(--cms-f-xl); }
.cms-f-xxl { font-size: var(--cms-f-xxl); }
.cms-f-xxxl { font-size: var(--cms-f-xxxl); }
.cms-fw-xxs { font-weight: var(--cms-fw-xxs); }
.cms-fw-xs { font-weight: var(--cms-fw-xs); }
.cms-fw-sm { font-weight: var(--cms-fw-sm); }
.cms-fw-md { font-weight: var(--cms-fw-md); }
.cms-fw-lg { font-weight: var(--cms-fw-lg); }
.cms-fw-xl { font-weight: var(--cms-fw-xl); }
.cms-fw-xxl { font-weight: var(--cms-fw-xxl); }
.cms-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
.cms-lh-xxs { line-height: var(--cms-lh-xxs); }
.cms-lh-xs { line-height: var(--cms-lh-xs); }
.cms-lh-sm { line-height: var(--cms-lh-sm); }
.cms-lh-md { line-height: var(--cms-lh-md); }
.cms-lh-lg { line-height: var(--cms-lh-lg); }
.cms-lh-xl { line-height: var(--cms-lh-xl); }
.cms-lh-xxl { line-height: var(--cms-lh-xxl); }
.cms-lh-xxxl { line-height: var(--cms-lh-xxxl); }
.cms-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
.cms-ls-xs { letter-spacing: var(--cms-ls-xs); }
.cms-ls-sm { letter-spacing: var(--cms-ls-sm); }
.cms-ls-md { letter-spacing: var(--cms-ls-md); }
.cms-ls-lg { letter-spacing: var(--cms-ls-lg); }
.cms-ls-xl { letter-spacing: var(--cms-ls-xl); }
.cms-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
.cms-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
.cms-w-xxs { width: var(--cms-w-xxs); }
.cms-w-xs { width: var(--cms-w-xs); }
.cms-w-sm { width: var(--cms-w-sm); }
.cms-w-md { width: var(--cms-w-md); }
.cms-w-lg { width: var(--cms-w-lg); }
.cms-w-xl { width: var(--cms-w-xl); }
.cms-w-xxl { width: var(--cms-w-xxl); }
.cms-w-xxxl { width: var(--cms-w-xxxl); }
.cms-min-w-xxs { min-width: var(--cms-min-w-xxs); }
.cms-min-w-xs { min-width: var(--cms-min-w-xs); }
.cms-min-w-sm { min-width: var(--cms-min-w-sm); }
.cms-min-w-md { min-width: var(--cms-min-w-md); }
.cms-min-w-lg { min-width: var(--cms-min-w-lg); }
.cms-min-w-xl { min-width: var(--cms-min-w-xl); }
.cms-min-w-xxl { min-width: var(--cms-min-w-xxl); }
.cms-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
.cms-max-w-xxs { max-width: var(--cms-max-w-xxs); }
.cms-max-w-xs { max-width: var(--cms-max-w-xs); }
.cms-max-w-sm { max-width: var(--cms-max-w-sm); }
.cms-max-w-md { max-width: var(--cms-max-w-md); }
.cms-max-w-lg { max-width: var(--cms-max-w-lg); }
.cms-max-w-xl { max-width: var(--cms-max-w-xl); }
.cms-max-w-xxl { max-width: var(--cms-max-w-xxl); }
.cms-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
.cms-h-xxs { height: var(--cms-h-xxs); }
.cms-h-xs { height: var(--cms-h-xs); }
.cms-h-sm { height: var(--cms-h-sm); }
.cms-h-md { height: var(--cms-h-md); }
.cms-h-lg { height: var(--cms-h-lg); }
.cms-h-xl { height: var(--cms-h-xl); }
.cms-h-xxl { height: var(--cms-h-xxl); }
.cms-h-xxxl { height: var(--cms-h-xxxl); }
.cms-min-h-xxs { min-height: var(--cms-min-h-xxs); }
.cms-min-h-xs { min-height: var(--cms-min-h-xs); }
.cms-min-h-sm { min-height: var(--cms-min-h-sm); }
.cms-min-h-md { min-height: var(--cms-min-h-md); }
.cms-min-h-lg { min-height: var(--cms-min-h-lg); }
.cms-min-h-xl { min-height: var(--cms-min-h-xl); }
.cms-min-h-xxl { min-height: var(--cms-min-h-xxl); }
.cms-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
.cms-max-h-xxs { max-height: var(--cms-max-h-xxs); }
.cms-max-h-xs { max-height: var(--cms-max-h-xs); }
.cms-max-h-sm { max-height: var(--cms-max-h-sm); }
.cms-max-h-md { max-height: var(--cms-max-h-md); }
.cms-max-h-lg { max-height: var(--cms-max-h-lg); }
.cms-max-h-xl { max-height: var(--cms-max-h-xl); }
.cms-max-h-xxl { max-height: var(--cms-max-h-xxl); }
.cms-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
.cms-gap-xxs { gap: var(--cms-gap-xxs); }
.cms-gap-xs { gap: var(--cms-gap-xs); }
.cms-gap-sm { gap: var(--cms-gap-sm); }
.cms-gap-md { gap: var(--cms-gap-md); }
.cms-gap-lg { gap: var(--cms-gap-lg); }
.cms-gap-xl { gap: var(--cms-gap-xl); }
.cms-gap-xxl { gap: var(--cms-gap-xxl); }
.cms-gap-xxxl { gap: var(--cms-gap-xxxl); }
.cms-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
.cms-gap-x-xs { column-gap: var(--cms-gap-xs); }
.cms-gap-x-sm { column-gap: var(--cms-gap-sm); }
.cms-gap-x-md { column-gap: var(--cms-gap-md); }
.cms-gap-x-lg { column-gap: var(--cms-gap-lg); }
.cms-gap-x-xl { column-gap: var(--cms-gap-xl); }
.cms-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
.cms-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
.cms-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
.cms-gap-y-xs { row-gap: var(--cms-gap-xs); }
.cms-gap-y-sm { row-gap: var(--cms-gap-sm); }
.cms-gap-y-md { row-gap: var(--cms-gap-md); }
.cms-gap-y-lg { row-gap: var(--cms-gap-lg); }
.cms-gap-y-xl { row-gap: var(--cms-gap-xl); }
.cms-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
.cms-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
.cms-r-xxs { border-radius: var(--cms-r-xxs); }
.cms-r-xs { border-radius: var(--cms-r-xs); }
.cms-r-sm { border-radius: var(--cms-r-sm); }
.cms-r-md { border-radius: var(--cms-r-md); }
.cms-r-lg { border-radius: var(--cms-r-lg); }
.cms-r-xl { border-radius: var(--cms-r-xl); }
.cms-r-xxl { border-radius: var(--cms-r-xxl); }
.cms-r-xxxl { border-radius: var(--cms-r-xxxl); }
.cms-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
.cms-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
.cms-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
.cms-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
.cms-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
.cms-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
.cms-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
.cms-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
.cms-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
.cms-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
.cms-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
.cms-gutter-x-md>* { margin-left: var(--cms-m-md); }
.cms-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
.cms-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
.cms-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
.cms-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
.cms-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
.cms-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
.cms-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
.cms-gutter-y-md>* { margin-top: var(--cms-m-md); }
.cms-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
.cms-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
.cms-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
.cms-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
.cms-display-none { display: none; }
.cms-display-block { display: block; }
.cms-display-flex { display: flex; }
.cms-display-inline-flex { display: inline-flex; }
.cms-display-grid { display: grid; }
.cms-display-inline-grid { display: inline-grid; }
.cms-dir-row { flex-direction: row; }
.cms-dir-row-reverse { flex-direction: row-reverse; }
.cms-dir-column { flex-direction: column; }
.cms-dir-col { flex-direction: column; }
.cms-dir-column-reverse { flex-direction: column-reverse; }
.cms-dir-col-reverse { flex-direction: column-reverse; }
.cms-wrap-wrap { flex-wrap: wrap; }
.cms-wrap-nowrap { flex-wrap: nowrap; }
.cms-wrap-reverse { flex-wrap: wrap-reverse; }
.cms-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
.cms-align-stretch { align-items: stretch; }
.cms-align-start { align-items: flex-start; }
.cms-align-flex-start { align-items: flex-start; }
.cms-align-center { align-items: center; }
.cms-align-end { align-items: flex-end; }
.cms-align-flex-end { align-items: flex-end; }
.cms-align-baseline { align-items: baseline; }
.cms-justify-start { justify-content: flex-start; }
.cms-justify-flex-start { justify-content: flex-start; }
.cms-justify-center { justify-content: center; }
.cms-justify-end { justify-content: flex-end; }
.cms-justify-flex-end { justify-content: flex-end; }
.cms-justify-between { justify-content: space-between; }
.cms-justify-space-between { justify-content: space-between; }
.cms-justify-around { justify-content: space-around; }
.cms-justify-space-around { justify-content: space-around; }
.cms-justify-evenly { justify-content: space-evenly; }
.cms-justify-space-evenly { justify-content: space-evenly; }
.cms-self-auto { align-self: auto; }
.cms-self-stretch { align-self: stretch; }
.cms-self-start { align-self: flex-start; }
.cms-self-flex-start { align-self: flex-start; }
.cms-self-center { align-self: center; }
.cms-self-end { align-self: flex-end; }
.cms-self-flex-end { align-self: flex-end; }
.cms-self-baseline { align-self: baseline; }
.cms-justify-self-auto { justify-self: auto; }
.cms-justify-self-stretch { justify-self: stretch; }
.cms-justify-self-start { justify-self: start; }
.cms-justify-self-center { justify-self: center; }
.cms-justify-self-end { justify-self: end; }
.cms-place-self-auto { place-self: auto; }
.cms-place-self-stretch { place-self: stretch; }
.cms-place-self-start { place-self: start; }
.cms-place-self-center { place-self: center; }
.cms-place-self-end { place-self: end; }
.cms-items-stretch { justify-items: stretch; }
.cms-items-start { justify-items: start; }
.cms-items-center { justify-items: center; }
.cms-items-end { justify-items: end; }
.cms-place-stretch { place-items: stretch; }
.cms-place-start { place-items: start; }
.cms-place-center { place-items: center; }
.cms-place-end { place-items: end; }
.cms-grid-flow-row { grid-auto-flow: row; }
.cms-grid-flow-column { grid-auto-flow: column; }
.cms-grid-flow-dense { grid-auto-flow: dense; }
.cms-grid-flow-row-dense { grid-auto-flow: row dense; }
.cms-grid-flow-column-dense { grid-auto-flow: column dense; }
.cms-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
.cms-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
.cms-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.cms-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
.cms-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.cms-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
.cms-col-6 { flex: 0 0 25%; max-width: 25%; }
.cms-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
.cms-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.cms-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
.cms-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.cms-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
.cms-col-12 { flex: 0 0 50%; max-width: 50%; }
.cms-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
.cms-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.cms-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
.cms-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.cms-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
.cms-col-18 { flex: 0 0 75%; max-width: 75%; }
.cms-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
.cms-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.cms-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
.cms-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.cms-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
.cms-col-24 { flex: 0 0 100%; max-width: 100%; }
.cms-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.cms-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cms-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cms-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cms-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cms-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.cms-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cms-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.cms-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
.cms-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.cms-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
.cms-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.cms-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
.cms-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
.cms-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
.cms-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
.cms-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
.cms-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
.cms-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
.cms-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
.cms-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
.cms-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
.cms-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
.cms-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
@media (min-width: 400px) {
  .cms-xs-m-xxs { margin: var(--cms-m-xxs); }
  .cms-xs-m-xs { margin: var(--cms-m-xs); }
  .cms-xs-m-sm { margin: var(--cms-m-sm); }
  .cms-xs-m-md { margin: var(--cms-m-md); }
  .cms-xs-m-lg { margin: var(--cms-m-lg); }
  .cms-xs-m-xl { margin: var(--cms-m-xl); }
  .cms-xs-m-xxl { margin: var(--cms-m-xxl); }
  .cms-xs-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-xs-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-xs-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-xs-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-xs-m-l-md { margin-left: var(--cms-m-md); }
  .cms-xs-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-xs-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-xs-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-xs-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-xs-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-xs-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-xs-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-xs-m-r-md { margin-right: var(--cms-m-md); }
  .cms-xs-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-xs-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-xs-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-xs-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-xs-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-xs-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-xs-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-xs-m-t-md { margin-top: var(--cms-m-md); }
  .cms-xs-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-xs-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-xs-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-xs-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-xs-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-xs-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-xs-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-xs-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-xs-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-xs-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-xs-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-xs-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-xs-p-xxs { padding: var(--cms-p-xxs); }
  .cms-xs-p-xs { padding: var(--cms-p-xs); }
  .cms-xs-p-sm { padding: var(--cms-p-sm); }
  .cms-xs-p-md { padding: var(--cms-p-md); }
  .cms-xs-p-lg { padding: var(--cms-p-lg); }
  .cms-xs-p-xl { padding: var(--cms-p-xl); }
  .cms-xs-p-xxl { padding: var(--cms-p-xxl); }
  .cms-xs-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-xs-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-xs-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-xs-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-xs-p-l-md { padding-left: var(--cms-p-md); }
  .cms-xs-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-xs-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-xs-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-xs-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-xs-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-xs-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-xs-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-xs-p-r-md { padding-right: var(--cms-p-md); }
  .cms-xs-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-xs-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-xs-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-xs-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-xs-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-xs-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-xs-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-xs-p-t-md { padding-top: var(--cms-p-md); }
  .cms-xs-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-xs-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-xs-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-xs-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-xs-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-xs-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-xs-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-xs-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-xs-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-xs-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-xs-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-xs-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-xs-b-xxs { border: var(--cms-b-xxs); }
  .cms-xs-b-xs { border: var(--cms-b-xs); }
  .cms-xs-b-sm { border: var(--cms-b-sm); }
  .cms-xs-b-md { border: var(--cms-b-md); }
  .cms-xs-b-lg { border: var(--cms-b-lg); }
  .cms-xs-b-xl { border: var(--cms-b-xl); }
  .cms-xs-b-xxl { border: var(--cms-b-xxl); }
  .cms-xs-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-xs-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-xs-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-xs-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-xs-b-l-md { border-left: var(--cms-b-md); }
  .cms-xs-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-xs-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-xs-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-xs-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-xs-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-xs-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-xs-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-xs-b-r-md { border-right: var(--cms-b-md); }
  .cms-xs-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-xs-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-xs-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-xs-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-xs-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-xs-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-xs-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-xs-b-t-md { border-top: var(--cms-b-md); }
  .cms-xs-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-xs-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-xs-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-xs-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-xs-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-xs-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-xs-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-xs-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-xs-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-xs-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-xs-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-xs-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-xs-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-xs-f-xs { font-size: var(--cms-f-xs); }
  .cms-xs-f-sm { font-size: var(--cms-f-sm); }
  .cms-xs-f-md { font-size: var(--cms-f-md); }
  .cms-xs-f-lg { font-size: var(--cms-f-lg); }
  .cms-xs-f-xl { font-size: var(--cms-f-xl); }
  .cms-xs-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-xs-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-xs-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-xs-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-xs-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-xs-fw-md { font-weight: var(--cms-fw-md); }
  .cms-xs-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-xs-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-xs-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-xs-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-xs-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-xs-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-xs-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-xs-lh-md { line-height: var(--cms-lh-md); }
  .cms-xs-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-xs-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-xs-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-xs-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-xs-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-xs-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-xs-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-xs-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-xs-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-xs-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-xs-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-xs-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-xs-w-xxs { width: var(--cms-w-xxs); }
  .cms-xs-w-xs { width: var(--cms-w-xs); }
  .cms-xs-w-sm { width: var(--cms-w-sm); }
  .cms-xs-w-md { width: var(--cms-w-md); }
  .cms-xs-w-lg { width: var(--cms-w-lg); }
  .cms-xs-w-xl { width: var(--cms-w-xl); }
  .cms-xs-w-xxl { width: var(--cms-w-xxl); }
  .cms-xs-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-xs-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-xs-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-xs-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-xs-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-xs-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-xs-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-xs-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-xs-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-xs-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-xs-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-xs-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-xs-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-xs-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-xs-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-xs-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-xs-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-xs-h-xxs { height: var(--cms-h-xxs); }
  .cms-xs-h-xs { height: var(--cms-h-xs); }
  .cms-xs-h-sm { height: var(--cms-h-sm); }
  .cms-xs-h-md { height: var(--cms-h-md); }
  .cms-xs-h-lg { height: var(--cms-h-lg); }
  .cms-xs-h-xl { height: var(--cms-h-xl); }
  .cms-xs-h-xxl { height: var(--cms-h-xxl); }
  .cms-xs-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-xs-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-xs-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-xs-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-xs-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-xs-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-xs-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-xs-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-xs-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-xs-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-xs-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-xs-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-xs-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-xs-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-xs-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-xs-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-xs-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-xs-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-xs-gap-xs { gap: var(--cms-gap-xs); }
  .cms-xs-gap-sm { gap: var(--cms-gap-sm); }
  .cms-xs-gap-md { gap: var(--cms-gap-md); }
  .cms-xs-gap-lg { gap: var(--cms-gap-lg); }
  .cms-xs-gap-xl { gap: var(--cms-gap-xl); }
  .cms-xs-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-xs-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-xs-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-xs-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-xs-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-xs-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-xs-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-xs-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-xs-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-xs-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-xs-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-xs-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-xs-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-xs-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-xs-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-xs-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-xs-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-xs-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-xs-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-xs-r-xs { border-radius: var(--cms-r-xs); }
  .cms-xs-r-sm { border-radius: var(--cms-r-sm); }
  .cms-xs-r-md { border-radius: var(--cms-r-md); }
  .cms-xs-r-lg { border-radius: var(--cms-r-lg); }
  .cms-xs-r-xl { border-radius: var(--cms-r-xl); }
  .cms-xs-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-xs-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-xs-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-xs-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-xs-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-xs-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-xs-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-xs-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-xs-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-xs-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-xs-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-xs-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-xs-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-xs-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-xs-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-xs-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-xs-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-xs-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-xs-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-xs-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-xs-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-xs-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-xs-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-xs-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-xs-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-xs-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-xs-display-none { display: none; }
  .cms-xs-display-block { display: block; }
  .cms-xs-display-flex { display: flex; }
  .cms-xs-display-inline-flex { display: inline-flex; }
  .cms-xs-display-grid { display: grid; }
  .cms-xs-display-inline-grid { display: inline-grid; }
  .cms-xs-dir-row { flex-direction: row; }
  .cms-xs-dir-row-reverse { flex-direction: row-reverse; }
  .cms-xs-dir-column { flex-direction: column; }
  .cms-xs-dir-col { flex-direction: column; }
  .cms-xs-dir-column-reverse { flex-direction: column-reverse; }
  .cms-xs-dir-col-reverse { flex-direction: column-reverse; }
  .cms-xs-wrap-wrap { flex-wrap: wrap; }
  .cms-xs-wrap-nowrap { flex-wrap: nowrap; }
  .cms-xs-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-xs-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-xs-align-stretch { align-items: stretch; }
  .cms-xs-align-start { align-items: flex-start; }
  .cms-xs-align-flex-start { align-items: flex-start; }
  .cms-xs-align-center { align-items: center; }
  .cms-xs-align-end { align-items: flex-end; }
  .cms-xs-align-flex-end { align-items: flex-end; }
  .cms-xs-align-baseline { align-items: baseline; }
  .cms-xs-justify-start { justify-content: flex-start; }
  .cms-xs-justify-flex-start { justify-content: flex-start; }
  .cms-xs-justify-center { justify-content: center; }
  .cms-xs-justify-end { justify-content: flex-end; }
  .cms-xs-justify-flex-end { justify-content: flex-end; }
  .cms-xs-justify-between { justify-content: space-between; }
  .cms-xs-justify-space-between { justify-content: space-between; }
  .cms-xs-justify-around { justify-content: space-around; }
  .cms-xs-justify-space-around { justify-content: space-around; }
  .cms-xs-justify-evenly { justify-content: space-evenly; }
  .cms-xs-justify-space-evenly { justify-content: space-evenly; }
  .cms-xs-self-auto { align-self: auto; }
  .cms-xs-self-stretch { align-self: stretch; }
  .cms-xs-self-start { align-self: flex-start; }
  .cms-xs-self-flex-start { align-self: flex-start; }
  .cms-xs-self-center { align-self: center; }
  .cms-xs-self-end { align-self: flex-end; }
  .cms-xs-self-flex-end { align-self: flex-end; }
  .cms-xs-self-baseline { align-self: baseline; }
  .cms-xs-justify-self-auto { justify-self: auto; }
  .cms-xs-justify-self-stretch { justify-self: stretch; }
  .cms-xs-justify-self-start { justify-self: start; }
  .cms-xs-justify-self-center { justify-self: center; }
  .cms-xs-justify-self-end { justify-self: end; }
  .cms-xs-place-self-auto { place-self: auto; }
  .cms-xs-place-self-stretch { place-self: stretch; }
  .cms-xs-place-self-start { place-self: start; }
  .cms-xs-place-self-center { place-self: center; }
  .cms-xs-place-self-end { place-self: end; }
  .cms-xs-items-stretch { justify-items: stretch; }
  .cms-xs-items-start { justify-items: start; }
  .cms-xs-items-center { justify-items: center; }
  .cms-xs-items-end { justify-items: end; }
  .cms-xs-place-stretch { place-items: stretch; }
  .cms-xs-place-start { place-items: start; }
  .cms-xs-place-center { place-items: center; }
  .cms-xs-place-end { place-items: end; }
  .cms-xs-grid-flow-row { grid-auto-flow: row; }
  .cms-xs-grid-flow-column { grid-auto-flow: column; }
  .cms-xs-grid-flow-dense { grid-auto-flow: dense; }
  .cms-xs-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-xs-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-xs-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-xs-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-xs-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-xs-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-xs-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-xs-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-xs-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-xs-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-xs-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-xs-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-xs-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-xs-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-xs-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-xs-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-xs-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-xs-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-xs-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-xs-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-xs-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-xs-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-xs-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-xs-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-xs-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-xs-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-xs-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-xs-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-xs-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-xs-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-xs-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-xs-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-xs-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-xs-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-xs-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-xs-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-xs-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-xs-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-xs-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-xs-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-xs-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-xs-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-xs-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-xs-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-xs-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-xs-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-xs-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-xs-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-xs-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-xs-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-xs-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
}

@media (min-width: 600px) {
  .cms-sm-m-xxs { margin: var(--cms-m-xxs); }
  .cms-sm-m-xs { margin: var(--cms-m-xs); }
  .cms-sm-m-sm { margin: var(--cms-m-sm); }
  .cms-sm-m-md { margin: var(--cms-m-md); }
  .cms-sm-m-lg { margin: var(--cms-m-lg); }
  .cms-sm-m-xl { margin: var(--cms-m-xl); }
  .cms-sm-m-xxl { margin: var(--cms-m-xxl); }
  .cms-sm-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-sm-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-sm-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-sm-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-sm-m-l-md { margin-left: var(--cms-m-md); }
  .cms-sm-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-sm-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-sm-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-sm-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-sm-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-sm-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-sm-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-sm-m-r-md { margin-right: var(--cms-m-md); }
  .cms-sm-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-sm-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-sm-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-sm-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-sm-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-sm-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-sm-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-sm-m-t-md { margin-top: var(--cms-m-md); }
  .cms-sm-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-sm-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-sm-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-sm-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-sm-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-sm-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-sm-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-sm-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-sm-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-sm-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-sm-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-sm-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-sm-p-xxs { padding: var(--cms-p-xxs); }
  .cms-sm-p-xs { padding: var(--cms-p-xs); }
  .cms-sm-p-sm { padding: var(--cms-p-sm); }
  .cms-sm-p-md { padding: var(--cms-p-md); }
  .cms-sm-p-lg { padding: var(--cms-p-lg); }
  .cms-sm-p-xl { padding: var(--cms-p-xl); }
  .cms-sm-p-xxl { padding: var(--cms-p-xxl); }
  .cms-sm-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-sm-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-sm-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-sm-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-sm-p-l-md { padding-left: var(--cms-p-md); }
  .cms-sm-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-sm-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-sm-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-sm-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-sm-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-sm-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-sm-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-sm-p-r-md { padding-right: var(--cms-p-md); }
  .cms-sm-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-sm-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-sm-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-sm-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-sm-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-sm-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-sm-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-sm-p-t-md { padding-top: var(--cms-p-md); }
  .cms-sm-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-sm-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-sm-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-sm-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-sm-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-sm-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-sm-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-sm-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-sm-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-sm-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-sm-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-sm-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-sm-b-xxs { border: var(--cms-b-xxs); }
  .cms-sm-b-xs { border: var(--cms-b-xs); }
  .cms-sm-b-sm { border: var(--cms-b-sm); }
  .cms-sm-b-md { border: var(--cms-b-md); }
  .cms-sm-b-lg { border: var(--cms-b-lg); }
  .cms-sm-b-xl { border: var(--cms-b-xl); }
  .cms-sm-b-xxl { border: var(--cms-b-xxl); }
  .cms-sm-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-sm-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-sm-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-sm-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-sm-b-l-md { border-left: var(--cms-b-md); }
  .cms-sm-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-sm-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-sm-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-sm-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-sm-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-sm-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-sm-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-sm-b-r-md { border-right: var(--cms-b-md); }
  .cms-sm-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-sm-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-sm-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-sm-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-sm-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-sm-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-sm-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-sm-b-t-md { border-top: var(--cms-b-md); }
  .cms-sm-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-sm-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-sm-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-sm-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-sm-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-sm-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-sm-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-sm-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-sm-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-sm-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-sm-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-sm-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-sm-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-sm-f-xs { font-size: var(--cms-f-xs); }
  .cms-sm-f-sm { font-size: var(--cms-f-sm); }
  .cms-sm-f-md { font-size: var(--cms-f-md); }
  .cms-sm-f-lg { font-size: var(--cms-f-lg); }
  .cms-sm-f-xl { font-size: var(--cms-f-xl); }
  .cms-sm-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-sm-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-sm-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-sm-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-sm-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-sm-fw-md { font-weight: var(--cms-fw-md); }
  .cms-sm-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-sm-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-sm-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-sm-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-sm-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-sm-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-sm-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-sm-lh-md { line-height: var(--cms-lh-md); }
  .cms-sm-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-sm-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-sm-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-sm-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-sm-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-sm-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-sm-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-sm-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-sm-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-sm-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-sm-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-sm-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-sm-w-xxs { width: var(--cms-w-xxs); }
  .cms-sm-w-xs { width: var(--cms-w-xs); }
  .cms-sm-w-sm { width: var(--cms-w-sm); }
  .cms-sm-w-md { width: var(--cms-w-md); }
  .cms-sm-w-lg { width: var(--cms-w-lg); }
  .cms-sm-w-xl { width: var(--cms-w-xl); }
  .cms-sm-w-xxl { width: var(--cms-w-xxl); }
  .cms-sm-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-sm-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-sm-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-sm-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-sm-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-sm-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-sm-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-sm-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-sm-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-sm-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-sm-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-sm-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-sm-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-sm-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-sm-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-sm-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-sm-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-sm-h-xxs { height: var(--cms-h-xxs); }
  .cms-sm-h-xs { height: var(--cms-h-xs); }
  .cms-sm-h-sm { height: var(--cms-h-sm); }
  .cms-sm-h-md { height: var(--cms-h-md); }
  .cms-sm-h-lg { height: var(--cms-h-lg); }
  .cms-sm-h-xl { height: var(--cms-h-xl); }
  .cms-sm-h-xxl { height: var(--cms-h-xxl); }
  .cms-sm-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-sm-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-sm-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-sm-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-sm-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-sm-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-sm-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-sm-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-sm-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-sm-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-sm-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-sm-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-sm-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-sm-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-sm-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-sm-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-sm-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-sm-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-sm-gap-xs { gap: var(--cms-gap-xs); }
  .cms-sm-gap-sm { gap: var(--cms-gap-sm); }
  .cms-sm-gap-md { gap: var(--cms-gap-md); }
  .cms-sm-gap-lg { gap: var(--cms-gap-lg); }
  .cms-sm-gap-xl { gap: var(--cms-gap-xl); }
  .cms-sm-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-sm-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-sm-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-sm-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-sm-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-sm-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-sm-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-sm-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-sm-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-sm-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-sm-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-sm-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-sm-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-sm-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-sm-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-sm-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-sm-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-sm-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-sm-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-sm-r-xs { border-radius: var(--cms-r-xs); }
  .cms-sm-r-sm { border-radius: var(--cms-r-sm); }
  .cms-sm-r-md { border-radius: var(--cms-r-md); }
  .cms-sm-r-lg { border-radius: var(--cms-r-lg); }
  .cms-sm-r-xl { border-radius: var(--cms-r-xl); }
  .cms-sm-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-sm-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-sm-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-sm-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-sm-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-sm-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-sm-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-sm-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-sm-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-sm-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-sm-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-sm-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-sm-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-sm-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-sm-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-sm-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-sm-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-sm-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-sm-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-sm-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-sm-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-sm-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-sm-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-sm-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-sm-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-sm-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-sm-display-none { display: none; }
  .cms-sm-display-block { display: block; }
  .cms-sm-display-flex { display: flex; }
  .cms-sm-display-inline-flex { display: inline-flex; }
  .cms-sm-display-grid { display: grid; }
  .cms-sm-display-inline-grid { display: inline-grid; }
  .cms-sm-dir-row { flex-direction: row; }
  .cms-sm-dir-row-reverse { flex-direction: row-reverse; }
  .cms-sm-dir-column { flex-direction: column; }
  .cms-sm-dir-col { flex-direction: column; }
  .cms-sm-dir-column-reverse { flex-direction: column-reverse; }
  .cms-sm-dir-col-reverse { flex-direction: column-reverse; }
  .cms-sm-wrap-wrap { flex-wrap: wrap; }
  .cms-sm-wrap-nowrap { flex-wrap: nowrap; }
  .cms-sm-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-sm-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-sm-align-stretch { align-items: stretch; }
  .cms-sm-align-start { align-items: flex-start; }
  .cms-sm-align-flex-start { align-items: flex-start; }
  .cms-sm-align-center { align-items: center; }
  .cms-sm-align-end { align-items: flex-end; }
  .cms-sm-align-flex-end { align-items: flex-end; }
  .cms-sm-align-baseline { align-items: baseline; }
  .cms-sm-justify-start { justify-content: flex-start; }
  .cms-sm-justify-flex-start { justify-content: flex-start; }
  .cms-sm-justify-center { justify-content: center; }
  .cms-sm-justify-end { justify-content: flex-end; }
  .cms-sm-justify-flex-end { justify-content: flex-end; }
  .cms-sm-justify-between { justify-content: space-between; }
  .cms-sm-justify-space-between { justify-content: space-between; }
  .cms-sm-justify-around { justify-content: space-around; }
  .cms-sm-justify-space-around { justify-content: space-around; }
  .cms-sm-justify-evenly { justify-content: space-evenly; }
  .cms-sm-justify-space-evenly { justify-content: space-evenly; }
  .cms-sm-self-auto { align-self: auto; }
  .cms-sm-self-stretch { align-self: stretch; }
  .cms-sm-self-start { align-self: flex-start; }
  .cms-sm-self-flex-start { align-self: flex-start; }
  .cms-sm-self-center { align-self: center; }
  .cms-sm-self-end { align-self: flex-end; }
  .cms-sm-self-flex-end { align-self: flex-end; }
  .cms-sm-self-baseline { align-self: baseline; }
  .cms-sm-justify-self-auto { justify-self: auto; }
  .cms-sm-justify-self-stretch { justify-self: stretch; }
  .cms-sm-justify-self-start { justify-self: start; }
  .cms-sm-justify-self-center { justify-self: center; }
  .cms-sm-justify-self-end { justify-self: end; }
  .cms-sm-place-self-auto { place-self: auto; }
  .cms-sm-place-self-stretch { place-self: stretch; }
  .cms-sm-place-self-start { place-self: start; }
  .cms-sm-place-self-center { place-self: center; }
  .cms-sm-place-self-end { place-self: end; }
  .cms-sm-items-stretch { justify-items: stretch; }
  .cms-sm-items-start { justify-items: start; }
  .cms-sm-items-center { justify-items: center; }
  .cms-sm-items-end { justify-items: end; }
  .cms-sm-place-stretch { place-items: stretch; }
  .cms-sm-place-start { place-items: start; }
  .cms-sm-place-center { place-items: center; }
  .cms-sm-place-end { place-items: end; }
  .cms-sm-grid-flow-row { grid-auto-flow: row; }
  .cms-sm-grid-flow-column { grid-auto-flow: column; }
  .cms-sm-grid-flow-dense { grid-auto-flow: dense; }
  .cms-sm-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-sm-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-sm-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-sm-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-sm-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-sm-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-sm-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-sm-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-sm-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-sm-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-sm-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-sm-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-sm-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-sm-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-sm-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-sm-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-sm-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-sm-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-sm-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-sm-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-sm-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-sm-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-sm-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-sm-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-sm-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-sm-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-sm-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-sm-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-sm-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-sm-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-sm-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-sm-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-sm-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-sm-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-sm-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-sm-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-sm-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-sm-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-sm-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-sm-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-sm-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-sm-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-sm-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-sm-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-sm-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-sm-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-sm-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-sm-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-sm-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-sm-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-sm-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  .cms-tablet-m-xxs { margin: var(--cms-m-xxs); }
  .cms-tablet-m-xs { margin: var(--cms-m-xs); }
  .cms-tablet-m-sm { margin: var(--cms-m-sm); }
  .cms-tablet-m-md { margin: var(--cms-m-md); }
  .cms-tablet-m-lg { margin: var(--cms-m-lg); }
  .cms-tablet-m-xl { margin: var(--cms-m-xl); }
  .cms-tablet-m-xxl { margin: var(--cms-m-xxl); }
  .cms-tablet-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-tablet-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-tablet-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-tablet-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-tablet-m-l-md { margin-left: var(--cms-m-md); }
  .cms-tablet-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-tablet-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-tablet-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-tablet-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-tablet-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-tablet-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-tablet-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-tablet-m-r-md { margin-right: var(--cms-m-md); }
  .cms-tablet-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-tablet-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-tablet-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-tablet-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-tablet-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-tablet-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-tablet-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-tablet-m-t-md { margin-top: var(--cms-m-md); }
  .cms-tablet-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-tablet-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-tablet-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-tablet-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-tablet-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-tablet-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-tablet-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-tablet-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-tablet-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-tablet-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-tablet-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-tablet-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-tablet-p-xxs { padding: var(--cms-p-xxs); }
  .cms-tablet-p-xs { padding: var(--cms-p-xs); }
  .cms-tablet-p-sm { padding: var(--cms-p-sm); }
  .cms-tablet-p-md { padding: var(--cms-p-md); }
  .cms-tablet-p-lg { padding: var(--cms-p-lg); }
  .cms-tablet-p-xl { padding: var(--cms-p-xl); }
  .cms-tablet-p-xxl { padding: var(--cms-p-xxl); }
  .cms-tablet-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-tablet-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-tablet-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-tablet-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-tablet-p-l-md { padding-left: var(--cms-p-md); }
  .cms-tablet-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-tablet-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-tablet-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-tablet-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-tablet-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-tablet-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-tablet-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-tablet-p-r-md { padding-right: var(--cms-p-md); }
  .cms-tablet-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-tablet-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-tablet-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-tablet-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-tablet-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-tablet-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-tablet-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-tablet-p-t-md { padding-top: var(--cms-p-md); }
  .cms-tablet-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-tablet-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-tablet-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-tablet-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-tablet-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-tablet-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-tablet-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-tablet-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-tablet-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-tablet-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-tablet-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-tablet-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-tablet-b-xxs { border: var(--cms-b-xxs); }
  .cms-tablet-b-xs { border: var(--cms-b-xs); }
  .cms-tablet-b-sm { border: var(--cms-b-sm); }
  .cms-tablet-b-md { border: var(--cms-b-md); }
  .cms-tablet-b-lg { border: var(--cms-b-lg); }
  .cms-tablet-b-xl { border: var(--cms-b-xl); }
  .cms-tablet-b-xxl { border: var(--cms-b-xxl); }
  .cms-tablet-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-tablet-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-tablet-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-tablet-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-tablet-b-l-md { border-left: var(--cms-b-md); }
  .cms-tablet-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-tablet-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-tablet-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-tablet-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-tablet-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-tablet-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-tablet-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-tablet-b-r-md { border-right: var(--cms-b-md); }
  .cms-tablet-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-tablet-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-tablet-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-tablet-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-tablet-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-tablet-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-tablet-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-tablet-b-t-md { border-top: var(--cms-b-md); }
  .cms-tablet-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-tablet-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-tablet-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-tablet-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-tablet-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-tablet-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-tablet-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-tablet-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-tablet-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-tablet-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-tablet-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-tablet-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-tablet-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-tablet-f-xs { font-size: var(--cms-f-xs); }
  .cms-tablet-f-sm { font-size: var(--cms-f-sm); }
  .cms-tablet-f-md { font-size: var(--cms-f-md); }
  .cms-tablet-f-lg { font-size: var(--cms-f-lg); }
  .cms-tablet-f-xl { font-size: var(--cms-f-xl); }
  .cms-tablet-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-tablet-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-tablet-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-tablet-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-tablet-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-tablet-fw-md { font-weight: var(--cms-fw-md); }
  .cms-tablet-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-tablet-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-tablet-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-tablet-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-tablet-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-tablet-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-tablet-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-tablet-lh-md { line-height: var(--cms-lh-md); }
  .cms-tablet-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-tablet-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-tablet-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-tablet-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-tablet-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-tablet-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-tablet-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-tablet-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-tablet-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-tablet-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-tablet-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-tablet-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-tablet-w-xxs { width: var(--cms-w-xxs); }
  .cms-tablet-w-xs { width: var(--cms-w-xs); }
  .cms-tablet-w-sm { width: var(--cms-w-sm); }
  .cms-tablet-w-md { width: var(--cms-w-md); }
  .cms-tablet-w-lg { width: var(--cms-w-lg); }
  .cms-tablet-w-xl { width: var(--cms-w-xl); }
  .cms-tablet-w-xxl { width: var(--cms-w-xxl); }
  .cms-tablet-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-tablet-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-tablet-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-tablet-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-tablet-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-tablet-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-tablet-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-tablet-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-tablet-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-tablet-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-tablet-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-tablet-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-tablet-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-tablet-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-tablet-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-tablet-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-tablet-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-tablet-h-xxs { height: var(--cms-h-xxs); }
  .cms-tablet-h-xs { height: var(--cms-h-xs); }
  .cms-tablet-h-sm { height: var(--cms-h-sm); }
  .cms-tablet-h-md { height: var(--cms-h-md); }
  .cms-tablet-h-lg { height: var(--cms-h-lg); }
  .cms-tablet-h-xl { height: var(--cms-h-xl); }
  .cms-tablet-h-xxl { height: var(--cms-h-xxl); }
  .cms-tablet-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-tablet-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-tablet-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-tablet-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-tablet-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-tablet-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-tablet-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-tablet-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-tablet-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-tablet-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-tablet-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-tablet-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-tablet-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-tablet-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-tablet-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-tablet-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-tablet-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-tablet-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-tablet-gap-xs { gap: var(--cms-gap-xs); }
  .cms-tablet-gap-sm { gap: var(--cms-gap-sm); }
  .cms-tablet-gap-md { gap: var(--cms-gap-md); }
  .cms-tablet-gap-lg { gap: var(--cms-gap-lg); }
  .cms-tablet-gap-xl { gap: var(--cms-gap-xl); }
  .cms-tablet-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-tablet-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-tablet-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-tablet-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-tablet-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-tablet-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-tablet-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-tablet-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-tablet-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-tablet-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-tablet-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-tablet-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-tablet-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-tablet-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-tablet-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-tablet-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-tablet-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-tablet-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-tablet-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-tablet-r-xs { border-radius: var(--cms-r-xs); }
  .cms-tablet-r-sm { border-radius: var(--cms-r-sm); }
  .cms-tablet-r-md { border-radius: var(--cms-r-md); }
  .cms-tablet-r-lg { border-radius: var(--cms-r-lg); }
  .cms-tablet-r-xl { border-radius: var(--cms-r-xl); }
  .cms-tablet-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-tablet-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-tablet-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-tablet-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-tablet-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-tablet-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-tablet-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-tablet-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-tablet-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-tablet-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-tablet-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-tablet-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-tablet-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-tablet-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-tablet-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-tablet-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-tablet-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-tablet-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-tablet-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-tablet-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-tablet-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-tablet-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-tablet-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-tablet-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-tablet-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-tablet-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-tablet-display-none { display: none; }
  .cms-tablet-display-block { display: block; }
  .cms-tablet-display-flex { display: flex; }
  .cms-tablet-display-inline-flex { display: inline-flex; }
  .cms-tablet-display-grid { display: grid; }
  .cms-tablet-display-inline-grid { display: inline-grid; }
  .cms-tablet-dir-row { flex-direction: row; }
  .cms-tablet-dir-row-reverse { flex-direction: row-reverse; }
  .cms-tablet-dir-column { flex-direction: column; }
  .cms-tablet-dir-col { flex-direction: column; }
  .cms-tablet-dir-column-reverse { flex-direction: column-reverse; }
  .cms-tablet-dir-col-reverse { flex-direction: column-reverse; }
  .cms-tablet-wrap-wrap { flex-wrap: wrap; }
  .cms-tablet-wrap-nowrap { flex-wrap: nowrap; }
  .cms-tablet-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-tablet-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-tablet-align-stretch { align-items: stretch; }
  .cms-tablet-align-start { align-items: flex-start; }
  .cms-tablet-align-flex-start { align-items: flex-start; }
  .cms-tablet-align-center { align-items: center; }
  .cms-tablet-align-end { align-items: flex-end; }
  .cms-tablet-align-flex-end { align-items: flex-end; }
  .cms-tablet-align-baseline { align-items: baseline; }
  .cms-tablet-justify-start { justify-content: flex-start; }
  .cms-tablet-justify-flex-start { justify-content: flex-start; }
  .cms-tablet-justify-center { justify-content: center; }
  .cms-tablet-justify-end { justify-content: flex-end; }
  .cms-tablet-justify-flex-end { justify-content: flex-end; }
  .cms-tablet-justify-between { justify-content: space-between; }
  .cms-tablet-justify-space-between { justify-content: space-between; }
  .cms-tablet-justify-around { justify-content: space-around; }
  .cms-tablet-justify-space-around { justify-content: space-around; }
  .cms-tablet-justify-evenly { justify-content: space-evenly; }
  .cms-tablet-justify-space-evenly { justify-content: space-evenly; }
  .cms-tablet-self-auto { align-self: auto; }
  .cms-tablet-self-stretch { align-self: stretch; }
  .cms-tablet-self-start { align-self: flex-start; }
  .cms-tablet-self-flex-start { align-self: flex-start; }
  .cms-tablet-self-center { align-self: center; }
  .cms-tablet-self-end { align-self: flex-end; }
  .cms-tablet-self-flex-end { align-self: flex-end; }
  .cms-tablet-self-baseline { align-self: baseline; }
  .cms-tablet-justify-self-auto { justify-self: auto; }
  .cms-tablet-justify-self-stretch { justify-self: stretch; }
  .cms-tablet-justify-self-start { justify-self: start; }
  .cms-tablet-justify-self-center { justify-self: center; }
  .cms-tablet-justify-self-end { justify-self: end; }
  .cms-tablet-place-self-auto { place-self: auto; }
  .cms-tablet-place-self-stretch { place-self: stretch; }
  .cms-tablet-place-self-start { place-self: start; }
  .cms-tablet-place-self-center { place-self: center; }
  .cms-tablet-place-self-end { place-self: end; }
  .cms-tablet-items-stretch { justify-items: stretch; }
  .cms-tablet-items-start { justify-items: start; }
  .cms-tablet-items-center { justify-items: center; }
  .cms-tablet-items-end { justify-items: end; }
  .cms-tablet-place-stretch { place-items: stretch; }
  .cms-tablet-place-start { place-items: start; }
  .cms-tablet-place-center { place-items: center; }
  .cms-tablet-place-end { place-items: end; }
  .cms-tablet-grid-flow-row { grid-auto-flow: row; }
  .cms-tablet-grid-flow-column { grid-auto-flow: column; }
  .cms-tablet-grid-flow-dense { grid-auto-flow: dense; }
  .cms-tablet-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-tablet-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-tablet-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-tablet-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-tablet-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-tablet-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-tablet-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-tablet-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-tablet-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-tablet-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-tablet-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-tablet-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-tablet-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-tablet-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-tablet-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-tablet-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-tablet-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-tablet-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-tablet-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-tablet-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-tablet-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-tablet-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-tablet-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-tablet-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-tablet-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-tablet-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-tablet-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-tablet-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-tablet-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
  .cms-grid.cms-grid > .cms-grid-col { grid-column: var(--cms-grid-col-tablet, var(--cms-grid-col-sm, var(--cms-grid-col-base, auto))); }
}

@media (min-width: 900px) {
  .cms-md-m-xxs { margin: var(--cms-m-xxs); }
  .cms-md-m-xs { margin: var(--cms-m-xs); }
  .cms-md-m-sm { margin: var(--cms-m-sm); }
  .cms-md-m-md { margin: var(--cms-m-md); }
  .cms-md-m-lg { margin: var(--cms-m-lg); }
  .cms-md-m-xl { margin: var(--cms-m-xl); }
  .cms-md-m-xxl { margin: var(--cms-m-xxl); }
  .cms-md-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-md-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-md-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-md-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-md-m-l-md { margin-left: var(--cms-m-md); }
  .cms-md-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-md-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-md-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-md-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-md-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-md-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-md-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-md-m-r-md { margin-right: var(--cms-m-md); }
  .cms-md-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-md-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-md-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-md-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-md-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-md-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-md-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-md-m-t-md { margin-top: var(--cms-m-md); }
  .cms-md-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-md-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-md-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-md-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-md-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-md-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-md-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-md-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-md-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-md-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-md-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-md-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-md-p-xxs { padding: var(--cms-p-xxs); }
  .cms-md-p-xs { padding: var(--cms-p-xs); }
  .cms-md-p-sm { padding: var(--cms-p-sm); }
  .cms-md-p-md { padding: var(--cms-p-md); }
  .cms-md-p-lg { padding: var(--cms-p-lg); }
  .cms-md-p-xl { padding: var(--cms-p-xl); }
  .cms-md-p-xxl { padding: var(--cms-p-xxl); }
  .cms-md-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-md-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-md-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-md-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-md-p-l-md { padding-left: var(--cms-p-md); }
  .cms-md-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-md-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-md-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-md-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-md-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-md-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-md-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-md-p-r-md { padding-right: var(--cms-p-md); }
  .cms-md-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-md-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-md-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-md-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-md-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-md-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-md-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-md-p-t-md { padding-top: var(--cms-p-md); }
  .cms-md-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-md-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-md-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-md-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-md-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-md-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-md-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-md-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-md-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-md-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-md-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-md-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-md-b-xxs { border: var(--cms-b-xxs); }
  .cms-md-b-xs { border: var(--cms-b-xs); }
  .cms-md-b-sm { border: var(--cms-b-sm); }
  .cms-md-b-md { border: var(--cms-b-md); }
  .cms-md-b-lg { border: var(--cms-b-lg); }
  .cms-md-b-xl { border: var(--cms-b-xl); }
  .cms-md-b-xxl { border: var(--cms-b-xxl); }
  .cms-md-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-md-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-md-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-md-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-md-b-l-md { border-left: var(--cms-b-md); }
  .cms-md-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-md-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-md-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-md-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-md-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-md-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-md-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-md-b-r-md { border-right: var(--cms-b-md); }
  .cms-md-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-md-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-md-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-md-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-md-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-md-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-md-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-md-b-t-md { border-top: var(--cms-b-md); }
  .cms-md-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-md-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-md-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-md-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-md-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-md-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-md-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-md-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-md-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-md-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-md-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-md-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-md-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-md-f-xs { font-size: var(--cms-f-xs); }
  .cms-md-f-sm { font-size: var(--cms-f-sm); }
  .cms-md-f-md { font-size: var(--cms-f-md); }
  .cms-md-f-lg { font-size: var(--cms-f-lg); }
  .cms-md-f-xl { font-size: var(--cms-f-xl); }
  .cms-md-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-md-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-md-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-md-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-md-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-md-fw-md { font-weight: var(--cms-fw-md); }
  .cms-md-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-md-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-md-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-md-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-md-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-md-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-md-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-md-lh-md { line-height: var(--cms-lh-md); }
  .cms-md-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-md-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-md-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-md-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-md-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-md-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-md-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-md-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-md-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-md-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-md-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-md-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-md-w-xxs { width: var(--cms-w-xxs); }
  .cms-md-w-xs { width: var(--cms-w-xs); }
  .cms-md-w-sm { width: var(--cms-w-sm); }
  .cms-md-w-md { width: var(--cms-w-md); }
  .cms-md-w-lg { width: var(--cms-w-lg); }
  .cms-md-w-xl { width: var(--cms-w-xl); }
  .cms-md-w-xxl { width: var(--cms-w-xxl); }
  .cms-md-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-md-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-md-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-md-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-md-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-md-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-md-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-md-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-md-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-md-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-md-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-md-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-md-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-md-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-md-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-md-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-md-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-md-h-xxs { height: var(--cms-h-xxs); }
  .cms-md-h-xs { height: var(--cms-h-xs); }
  .cms-md-h-sm { height: var(--cms-h-sm); }
  .cms-md-h-md { height: var(--cms-h-md); }
  .cms-md-h-lg { height: var(--cms-h-lg); }
  .cms-md-h-xl { height: var(--cms-h-xl); }
  .cms-md-h-xxl { height: var(--cms-h-xxl); }
  .cms-md-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-md-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-md-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-md-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-md-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-md-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-md-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-md-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-md-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-md-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-md-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-md-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-md-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-md-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-md-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-md-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-md-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-md-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-md-gap-xs { gap: var(--cms-gap-xs); }
  .cms-md-gap-sm { gap: var(--cms-gap-sm); }
  .cms-md-gap-md { gap: var(--cms-gap-md); }
  .cms-md-gap-lg { gap: var(--cms-gap-lg); }
  .cms-md-gap-xl { gap: var(--cms-gap-xl); }
  .cms-md-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-md-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-md-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-md-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-md-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-md-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-md-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-md-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-md-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-md-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-md-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-md-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-md-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-md-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-md-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-md-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-md-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-md-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-md-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-md-r-xs { border-radius: var(--cms-r-xs); }
  .cms-md-r-sm { border-radius: var(--cms-r-sm); }
  .cms-md-r-md { border-radius: var(--cms-r-md); }
  .cms-md-r-lg { border-radius: var(--cms-r-lg); }
  .cms-md-r-xl { border-radius: var(--cms-r-xl); }
  .cms-md-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-md-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-md-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-md-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-md-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-md-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-md-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-md-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-md-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-md-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-md-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-md-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-md-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-md-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-md-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-md-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-md-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-md-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-md-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-md-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-md-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-md-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-md-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-md-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-md-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-md-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-md-display-none { display: none; }
  .cms-md-display-block { display: block; }
  .cms-md-display-flex { display: flex; }
  .cms-md-display-inline-flex { display: inline-flex; }
  .cms-md-display-grid { display: grid; }
  .cms-md-display-inline-grid { display: inline-grid; }
  .cms-md-dir-row { flex-direction: row; }
  .cms-md-dir-row-reverse { flex-direction: row-reverse; }
  .cms-md-dir-column { flex-direction: column; }
  .cms-md-dir-col { flex-direction: column; }
  .cms-md-dir-column-reverse { flex-direction: column-reverse; }
  .cms-md-dir-col-reverse { flex-direction: column-reverse; }
  .cms-md-wrap-wrap { flex-wrap: wrap; }
  .cms-md-wrap-nowrap { flex-wrap: nowrap; }
  .cms-md-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-md-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-md-align-stretch { align-items: stretch; }
  .cms-md-align-start { align-items: flex-start; }
  .cms-md-align-flex-start { align-items: flex-start; }
  .cms-md-align-center { align-items: center; }
  .cms-md-align-end { align-items: flex-end; }
  .cms-md-align-flex-end { align-items: flex-end; }
  .cms-md-align-baseline { align-items: baseline; }
  .cms-md-justify-start { justify-content: flex-start; }
  .cms-md-justify-flex-start { justify-content: flex-start; }
  .cms-md-justify-center { justify-content: center; }
  .cms-md-justify-end { justify-content: flex-end; }
  .cms-md-justify-flex-end { justify-content: flex-end; }
  .cms-md-justify-between { justify-content: space-between; }
  .cms-md-justify-space-between { justify-content: space-between; }
  .cms-md-justify-around { justify-content: space-around; }
  .cms-md-justify-space-around { justify-content: space-around; }
  .cms-md-justify-evenly { justify-content: space-evenly; }
  .cms-md-justify-space-evenly { justify-content: space-evenly; }
  .cms-md-self-auto { align-self: auto; }
  .cms-md-self-stretch { align-self: stretch; }
  .cms-md-self-start { align-self: flex-start; }
  .cms-md-self-flex-start { align-self: flex-start; }
  .cms-md-self-center { align-self: center; }
  .cms-md-self-end { align-self: flex-end; }
  .cms-md-self-flex-end { align-self: flex-end; }
  .cms-md-self-baseline { align-self: baseline; }
  .cms-md-justify-self-auto { justify-self: auto; }
  .cms-md-justify-self-stretch { justify-self: stretch; }
  .cms-md-justify-self-start { justify-self: start; }
  .cms-md-justify-self-center { justify-self: center; }
  .cms-md-justify-self-end { justify-self: end; }
  .cms-md-place-self-auto { place-self: auto; }
  .cms-md-place-self-stretch { place-self: stretch; }
  .cms-md-place-self-start { place-self: start; }
  .cms-md-place-self-center { place-self: center; }
  .cms-md-place-self-end { place-self: end; }
  .cms-md-items-stretch { justify-items: stretch; }
  .cms-md-items-start { justify-items: start; }
  .cms-md-items-center { justify-items: center; }
  .cms-md-items-end { justify-items: end; }
  .cms-md-place-stretch { place-items: stretch; }
  .cms-md-place-start { place-items: start; }
  .cms-md-place-center { place-items: center; }
  .cms-md-place-end { place-items: end; }
  .cms-md-grid-flow-row { grid-auto-flow: row; }
  .cms-md-grid-flow-column { grid-auto-flow: column; }
  .cms-md-grid-flow-dense { grid-auto-flow: dense; }
  .cms-md-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-md-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-md-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-md-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-md-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-md-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-md-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-md-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-md-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-md-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-md-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-md-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-md-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-md-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-md-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-md-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-md-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-md-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-md-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-md-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-md-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-md-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-md-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-md-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-md-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-md-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-md-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-md-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-md-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-md-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-md-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-md-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-md-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-md-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-md-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-md-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-md-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-md-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-md-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-md-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-md-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-md-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-md-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-md-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-md-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-md-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-md-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-md-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-md-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-md-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-md-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .cms-pc-m-xxs { margin: var(--cms-m-xxs); }
  .cms-pc-m-xs { margin: var(--cms-m-xs); }
  .cms-pc-m-sm { margin: var(--cms-m-sm); }
  .cms-pc-m-md { margin: var(--cms-m-md); }
  .cms-pc-m-lg { margin: var(--cms-m-lg); }
  .cms-pc-m-xl { margin: var(--cms-m-xl); }
  .cms-pc-m-xxl { margin: var(--cms-m-xxl); }
  .cms-pc-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-pc-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-pc-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-pc-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-pc-m-l-md { margin-left: var(--cms-m-md); }
  .cms-pc-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-pc-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-pc-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-pc-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-pc-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-pc-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-pc-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-pc-m-r-md { margin-right: var(--cms-m-md); }
  .cms-pc-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-pc-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-pc-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-pc-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-pc-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-pc-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-pc-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-pc-m-t-md { margin-top: var(--cms-m-md); }
  .cms-pc-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-pc-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-pc-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-pc-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-pc-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-pc-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-pc-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-pc-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-pc-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-pc-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-pc-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-pc-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-pc-p-xxs { padding: var(--cms-p-xxs); }
  .cms-pc-p-xs { padding: var(--cms-p-xs); }
  .cms-pc-p-sm { padding: var(--cms-p-sm); }
  .cms-pc-p-md { padding: var(--cms-p-md); }
  .cms-pc-p-lg { padding: var(--cms-p-lg); }
  .cms-pc-p-xl { padding: var(--cms-p-xl); }
  .cms-pc-p-xxl { padding: var(--cms-p-xxl); }
  .cms-pc-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-pc-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-pc-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-pc-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-pc-p-l-md { padding-left: var(--cms-p-md); }
  .cms-pc-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-pc-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-pc-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-pc-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-pc-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-pc-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-pc-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-pc-p-r-md { padding-right: var(--cms-p-md); }
  .cms-pc-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-pc-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-pc-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-pc-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-pc-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-pc-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-pc-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-pc-p-t-md { padding-top: var(--cms-p-md); }
  .cms-pc-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-pc-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-pc-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-pc-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-pc-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-pc-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-pc-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-pc-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-pc-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-pc-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-pc-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-pc-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-pc-b-xxs { border: var(--cms-b-xxs); }
  .cms-pc-b-xs { border: var(--cms-b-xs); }
  .cms-pc-b-sm { border: var(--cms-b-sm); }
  .cms-pc-b-md { border: var(--cms-b-md); }
  .cms-pc-b-lg { border: var(--cms-b-lg); }
  .cms-pc-b-xl { border: var(--cms-b-xl); }
  .cms-pc-b-xxl { border: var(--cms-b-xxl); }
  .cms-pc-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-pc-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-pc-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-pc-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-pc-b-l-md { border-left: var(--cms-b-md); }
  .cms-pc-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-pc-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-pc-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-pc-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-pc-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-pc-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-pc-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-pc-b-r-md { border-right: var(--cms-b-md); }
  .cms-pc-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-pc-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-pc-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-pc-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-pc-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-pc-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-pc-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-pc-b-t-md { border-top: var(--cms-b-md); }
  .cms-pc-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-pc-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-pc-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-pc-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-pc-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-pc-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-pc-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-pc-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-pc-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-pc-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-pc-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-pc-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-pc-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-pc-f-xs { font-size: var(--cms-f-xs); }
  .cms-pc-f-sm { font-size: var(--cms-f-sm); }
  .cms-pc-f-md { font-size: var(--cms-f-md); }
  .cms-pc-f-lg { font-size: var(--cms-f-lg); }
  .cms-pc-f-xl { font-size: var(--cms-f-xl); }
  .cms-pc-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-pc-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-pc-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-pc-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-pc-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-pc-fw-md { font-weight: var(--cms-fw-md); }
  .cms-pc-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-pc-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-pc-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-pc-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-pc-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-pc-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-pc-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-pc-lh-md { line-height: var(--cms-lh-md); }
  .cms-pc-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-pc-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-pc-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-pc-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-pc-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-pc-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-pc-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-pc-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-pc-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-pc-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-pc-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-pc-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-pc-w-xxs { width: var(--cms-w-xxs); }
  .cms-pc-w-xs { width: var(--cms-w-xs); }
  .cms-pc-w-sm { width: var(--cms-w-sm); }
  .cms-pc-w-md { width: var(--cms-w-md); }
  .cms-pc-w-lg { width: var(--cms-w-lg); }
  .cms-pc-w-xl { width: var(--cms-w-xl); }
  .cms-pc-w-xxl { width: var(--cms-w-xxl); }
  .cms-pc-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-pc-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-pc-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-pc-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-pc-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-pc-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-pc-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-pc-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-pc-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-pc-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-pc-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-pc-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-pc-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-pc-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-pc-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-pc-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-pc-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-pc-h-xxs { height: var(--cms-h-xxs); }
  .cms-pc-h-xs { height: var(--cms-h-xs); }
  .cms-pc-h-sm { height: var(--cms-h-sm); }
  .cms-pc-h-md { height: var(--cms-h-md); }
  .cms-pc-h-lg { height: var(--cms-h-lg); }
  .cms-pc-h-xl { height: var(--cms-h-xl); }
  .cms-pc-h-xxl { height: var(--cms-h-xxl); }
  .cms-pc-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-pc-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-pc-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-pc-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-pc-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-pc-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-pc-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-pc-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-pc-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-pc-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-pc-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-pc-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-pc-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-pc-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-pc-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-pc-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-pc-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-pc-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-pc-gap-xs { gap: var(--cms-gap-xs); }
  .cms-pc-gap-sm { gap: var(--cms-gap-sm); }
  .cms-pc-gap-md { gap: var(--cms-gap-md); }
  .cms-pc-gap-lg { gap: var(--cms-gap-lg); }
  .cms-pc-gap-xl { gap: var(--cms-gap-xl); }
  .cms-pc-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-pc-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-pc-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-pc-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-pc-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-pc-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-pc-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-pc-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-pc-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-pc-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-pc-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-pc-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-pc-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-pc-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-pc-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-pc-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-pc-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-pc-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-pc-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-pc-r-xs { border-radius: var(--cms-r-xs); }
  .cms-pc-r-sm { border-radius: var(--cms-r-sm); }
  .cms-pc-r-md { border-radius: var(--cms-r-md); }
  .cms-pc-r-lg { border-radius: var(--cms-r-lg); }
  .cms-pc-r-xl { border-radius: var(--cms-r-xl); }
  .cms-pc-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-pc-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-pc-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-pc-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-pc-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-pc-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-pc-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-pc-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-pc-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-pc-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-pc-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-pc-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-pc-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-pc-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-pc-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-pc-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-pc-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-pc-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-pc-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-pc-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-pc-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-pc-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-pc-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-pc-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-pc-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-pc-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-pc-display-none { display: none; }
  .cms-pc-display-block { display: block; }
  .cms-pc-display-flex { display: flex; }
  .cms-pc-display-inline-flex { display: inline-flex; }
  .cms-pc-display-grid { display: grid; }
  .cms-pc-display-inline-grid { display: inline-grid; }
  .cms-pc-dir-row { flex-direction: row; }
  .cms-pc-dir-row-reverse { flex-direction: row-reverse; }
  .cms-pc-dir-column { flex-direction: column; }
  .cms-pc-dir-col { flex-direction: column; }
  .cms-pc-dir-column-reverse { flex-direction: column-reverse; }
  .cms-pc-dir-col-reverse { flex-direction: column-reverse; }
  .cms-pc-wrap-wrap { flex-wrap: wrap; }
  .cms-pc-wrap-nowrap { flex-wrap: nowrap; }
  .cms-pc-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-pc-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-pc-align-stretch { align-items: stretch; }
  .cms-pc-align-start { align-items: flex-start; }
  .cms-pc-align-flex-start { align-items: flex-start; }
  .cms-pc-align-center { align-items: center; }
  .cms-pc-align-end { align-items: flex-end; }
  .cms-pc-align-flex-end { align-items: flex-end; }
  .cms-pc-align-baseline { align-items: baseline; }
  .cms-pc-justify-start { justify-content: flex-start; }
  .cms-pc-justify-flex-start { justify-content: flex-start; }
  .cms-pc-justify-center { justify-content: center; }
  .cms-pc-justify-end { justify-content: flex-end; }
  .cms-pc-justify-flex-end { justify-content: flex-end; }
  .cms-pc-justify-between { justify-content: space-between; }
  .cms-pc-justify-space-between { justify-content: space-between; }
  .cms-pc-justify-around { justify-content: space-around; }
  .cms-pc-justify-space-around { justify-content: space-around; }
  .cms-pc-justify-evenly { justify-content: space-evenly; }
  .cms-pc-justify-space-evenly { justify-content: space-evenly; }
  .cms-pc-self-auto { align-self: auto; }
  .cms-pc-self-stretch { align-self: stretch; }
  .cms-pc-self-start { align-self: flex-start; }
  .cms-pc-self-flex-start { align-self: flex-start; }
  .cms-pc-self-center { align-self: center; }
  .cms-pc-self-end { align-self: flex-end; }
  .cms-pc-self-flex-end { align-self: flex-end; }
  .cms-pc-self-baseline { align-self: baseline; }
  .cms-pc-justify-self-auto { justify-self: auto; }
  .cms-pc-justify-self-stretch { justify-self: stretch; }
  .cms-pc-justify-self-start { justify-self: start; }
  .cms-pc-justify-self-center { justify-self: center; }
  .cms-pc-justify-self-end { justify-self: end; }
  .cms-pc-place-self-auto { place-self: auto; }
  .cms-pc-place-self-stretch { place-self: stretch; }
  .cms-pc-place-self-start { place-self: start; }
  .cms-pc-place-self-center { place-self: center; }
  .cms-pc-place-self-end { place-self: end; }
  .cms-pc-items-stretch { justify-items: stretch; }
  .cms-pc-items-start { justify-items: start; }
  .cms-pc-items-center { justify-items: center; }
  .cms-pc-items-end { justify-items: end; }
  .cms-pc-place-stretch { place-items: stretch; }
  .cms-pc-place-start { place-items: start; }
  .cms-pc-place-center { place-items: center; }
  .cms-pc-place-end { place-items: end; }
  .cms-pc-grid-flow-row { grid-auto-flow: row; }
  .cms-pc-grid-flow-column { grid-auto-flow: column; }
  .cms-pc-grid-flow-dense { grid-auto-flow: dense; }
  .cms-pc-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-pc-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-pc-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-pc-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-pc-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-pc-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-pc-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-pc-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-pc-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-pc-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-pc-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-pc-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-pc-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-pc-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-pc-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-pc-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-pc-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-pc-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-pc-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-pc-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-pc-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-pc-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-pc-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-pc-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-pc-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-pc-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-pc-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-pc-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-pc-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-pc-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-pc-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-pc-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-pc-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-pc-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-pc-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-pc-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-pc-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-pc-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-pc-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-pc-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-pc-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-pc-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-pc-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-pc-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-pc-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-pc-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-pc-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-pc-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-pc-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-pc-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-pc-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
  .cms-grid.cms-grid > .cms-grid-col { grid-column: var(--cms-grid-col-pc, var(--cms-grid-col-lg, var(--cms-grid-col-md, var(--cms-grid-col-tablet, var(--cms-grid-col-sm, var(--cms-grid-col-base, auto)))))); }
}

@media (min-width: 1200px) {
  .cms-lg-m-xxs { margin: var(--cms-m-xxs); }
  .cms-lg-m-xs { margin: var(--cms-m-xs); }
  .cms-lg-m-sm { margin: var(--cms-m-sm); }
  .cms-lg-m-md { margin: var(--cms-m-md); }
  .cms-lg-m-lg { margin: var(--cms-m-lg); }
  .cms-lg-m-xl { margin: var(--cms-m-xl); }
  .cms-lg-m-xxl { margin: var(--cms-m-xxl); }
  .cms-lg-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-lg-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-lg-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-lg-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-lg-m-l-md { margin-left: var(--cms-m-md); }
  .cms-lg-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-lg-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-lg-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-lg-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-lg-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-lg-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-lg-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-lg-m-r-md { margin-right: var(--cms-m-md); }
  .cms-lg-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-lg-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-lg-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-lg-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-lg-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-lg-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-lg-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-lg-m-t-md { margin-top: var(--cms-m-md); }
  .cms-lg-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-lg-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-lg-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-lg-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-lg-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-lg-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-lg-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-lg-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-lg-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-lg-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-lg-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-lg-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-lg-p-xxs { padding: var(--cms-p-xxs); }
  .cms-lg-p-xs { padding: var(--cms-p-xs); }
  .cms-lg-p-sm { padding: var(--cms-p-sm); }
  .cms-lg-p-md { padding: var(--cms-p-md); }
  .cms-lg-p-lg { padding: var(--cms-p-lg); }
  .cms-lg-p-xl { padding: var(--cms-p-xl); }
  .cms-lg-p-xxl { padding: var(--cms-p-xxl); }
  .cms-lg-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-lg-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-lg-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-lg-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-lg-p-l-md { padding-left: var(--cms-p-md); }
  .cms-lg-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-lg-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-lg-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-lg-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-lg-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-lg-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-lg-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-lg-p-r-md { padding-right: var(--cms-p-md); }
  .cms-lg-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-lg-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-lg-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-lg-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-lg-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-lg-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-lg-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-lg-p-t-md { padding-top: var(--cms-p-md); }
  .cms-lg-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-lg-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-lg-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-lg-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-lg-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-lg-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-lg-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-lg-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-lg-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-lg-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-lg-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-lg-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-lg-b-xxs { border: var(--cms-b-xxs); }
  .cms-lg-b-xs { border: var(--cms-b-xs); }
  .cms-lg-b-sm { border: var(--cms-b-sm); }
  .cms-lg-b-md { border: var(--cms-b-md); }
  .cms-lg-b-lg { border: var(--cms-b-lg); }
  .cms-lg-b-xl { border: var(--cms-b-xl); }
  .cms-lg-b-xxl { border: var(--cms-b-xxl); }
  .cms-lg-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-lg-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-lg-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-lg-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-lg-b-l-md { border-left: var(--cms-b-md); }
  .cms-lg-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-lg-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-lg-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-lg-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-lg-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-lg-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-lg-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-lg-b-r-md { border-right: var(--cms-b-md); }
  .cms-lg-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-lg-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-lg-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-lg-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-lg-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-lg-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-lg-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-lg-b-t-md { border-top: var(--cms-b-md); }
  .cms-lg-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-lg-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-lg-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-lg-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-lg-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-lg-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-lg-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-lg-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-lg-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-lg-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-lg-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-lg-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-lg-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-lg-f-xs { font-size: var(--cms-f-xs); }
  .cms-lg-f-sm { font-size: var(--cms-f-sm); }
  .cms-lg-f-md { font-size: var(--cms-f-md); }
  .cms-lg-f-lg { font-size: var(--cms-f-lg); }
  .cms-lg-f-xl { font-size: var(--cms-f-xl); }
  .cms-lg-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-lg-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-lg-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-lg-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-lg-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-lg-fw-md { font-weight: var(--cms-fw-md); }
  .cms-lg-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-lg-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-lg-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-lg-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-lg-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-lg-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-lg-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-lg-lh-md { line-height: var(--cms-lh-md); }
  .cms-lg-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-lg-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-lg-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-lg-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-lg-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-lg-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-lg-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-lg-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-lg-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-lg-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-lg-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-lg-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-lg-w-xxs { width: var(--cms-w-xxs); }
  .cms-lg-w-xs { width: var(--cms-w-xs); }
  .cms-lg-w-sm { width: var(--cms-w-sm); }
  .cms-lg-w-md { width: var(--cms-w-md); }
  .cms-lg-w-lg { width: var(--cms-w-lg); }
  .cms-lg-w-xl { width: var(--cms-w-xl); }
  .cms-lg-w-xxl { width: var(--cms-w-xxl); }
  .cms-lg-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-lg-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-lg-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-lg-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-lg-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-lg-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-lg-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-lg-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-lg-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-lg-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-lg-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-lg-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-lg-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-lg-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-lg-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-lg-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-lg-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-lg-h-xxs { height: var(--cms-h-xxs); }
  .cms-lg-h-xs { height: var(--cms-h-xs); }
  .cms-lg-h-sm { height: var(--cms-h-sm); }
  .cms-lg-h-md { height: var(--cms-h-md); }
  .cms-lg-h-lg { height: var(--cms-h-lg); }
  .cms-lg-h-xl { height: var(--cms-h-xl); }
  .cms-lg-h-xxl { height: var(--cms-h-xxl); }
  .cms-lg-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-lg-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-lg-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-lg-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-lg-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-lg-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-lg-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-lg-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-lg-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-lg-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-lg-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-lg-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-lg-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-lg-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-lg-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-lg-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-lg-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-lg-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-lg-gap-xs { gap: var(--cms-gap-xs); }
  .cms-lg-gap-sm { gap: var(--cms-gap-sm); }
  .cms-lg-gap-md { gap: var(--cms-gap-md); }
  .cms-lg-gap-lg { gap: var(--cms-gap-lg); }
  .cms-lg-gap-xl { gap: var(--cms-gap-xl); }
  .cms-lg-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-lg-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-lg-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-lg-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-lg-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-lg-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-lg-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-lg-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-lg-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-lg-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-lg-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-lg-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-lg-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-lg-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-lg-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-lg-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-lg-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-lg-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-lg-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-lg-r-xs { border-radius: var(--cms-r-xs); }
  .cms-lg-r-sm { border-radius: var(--cms-r-sm); }
  .cms-lg-r-md { border-radius: var(--cms-r-md); }
  .cms-lg-r-lg { border-radius: var(--cms-r-lg); }
  .cms-lg-r-xl { border-radius: var(--cms-r-xl); }
  .cms-lg-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-lg-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-lg-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-lg-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-lg-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-lg-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-lg-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-lg-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-lg-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-lg-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-lg-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-lg-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-lg-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-lg-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-lg-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-lg-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-lg-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-lg-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-lg-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-lg-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-lg-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-lg-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-lg-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-lg-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-lg-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-lg-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-lg-display-none { display: none; }
  .cms-lg-display-block { display: block; }
  .cms-lg-display-flex { display: flex; }
  .cms-lg-display-inline-flex { display: inline-flex; }
  .cms-lg-display-grid { display: grid; }
  .cms-lg-display-inline-grid { display: inline-grid; }
  .cms-lg-dir-row { flex-direction: row; }
  .cms-lg-dir-row-reverse { flex-direction: row-reverse; }
  .cms-lg-dir-column { flex-direction: column; }
  .cms-lg-dir-col { flex-direction: column; }
  .cms-lg-dir-column-reverse { flex-direction: column-reverse; }
  .cms-lg-dir-col-reverse { flex-direction: column-reverse; }
  .cms-lg-wrap-wrap { flex-wrap: wrap; }
  .cms-lg-wrap-nowrap { flex-wrap: nowrap; }
  .cms-lg-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-lg-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-lg-align-stretch { align-items: stretch; }
  .cms-lg-align-start { align-items: flex-start; }
  .cms-lg-align-flex-start { align-items: flex-start; }
  .cms-lg-align-center { align-items: center; }
  .cms-lg-align-end { align-items: flex-end; }
  .cms-lg-align-flex-end { align-items: flex-end; }
  .cms-lg-align-baseline { align-items: baseline; }
  .cms-lg-justify-start { justify-content: flex-start; }
  .cms-lg-justify-flex-start { justify-content: flex-start; }
  .cms-lg-justify-center { justify-content: center; }
  .cms-lg-justify-end { justify-content: flex-end; }
  .cms-lg-justify-flex-end { justify-content: flex-end; }
  .cms-lg-justify-between { justify-content: space-between; }
  .cms-lg-justify-space-between { justify-content: space-between; }
  .cms-lg-justify-around { justify-content: space-around; }
  .cms-lg-justify-space-around { justify-content: space-around; }
  .cms-lg-justify-evenly { justify-content: space-evenly; }
  .cms-lg-justify-space-evenly { justify-content: space-evenly; }
  .cms-lg-self-auto { align-self: auto; }
  .cms-lg-self-stretch { align-self: stretch; }
  .cms-lg-self-start { align-self: flex-start; }
  .cms-lg-self-flex-start { align-self: flex-start; }
  .cms-lg-self-center { align-self: center; }
  .cms-lg-self-end { align-self: flex-end; }
  .cms-lg-self-flex-end { align-self: flex-end; }
  .cms-lg-self-baseline { align-self: baseline; }
  .cms-lg-justify-self-auto { justify-self: auto; }
  .cms-lg-justify-self-stretch { justify-self: stretch; }
  .cms-lg-justify-self-start { justify-self: start; }
  .cms-lg-justify-self-center { justify-self: center; }
  .cms-lg-justify-self-end { justify-self: end; }
  .cms-lg-place-self-auto { place-self: auto; }
  .cms-lg-place-self-stretch { place-self: stretch; }
  .cms-lg-place-self-start { place-self: start; }
  .cms-lg-place-self-center { place-self: center; }
  .cms-lg-place-self-end { place-self: end; }
  .cms-lg-items-stretch { justify-items: stretch; }
  .cms-lg-items-start { justify-items: start; }
  .cms-lg-items-center { justify-items: center; }
  .cms-lg-items-end { justify-items: end; }
  .cms-lg-place-stretch { place-items: stretch; }
  .cms-lg-place-start { place-items: start; }
  .cms-lg-place-center { place-items: center; }
  .cms-lg-place-end { place-items: end; }
  .cms-lg-grid-flow-row { grid-auto-flow: row; }
  .cms-lg-grid-flow-column { grid-auto-flow: column; }
  .cms-lg-grid-flow-dense { grid-auto-flow: dense; }
  .cms-lg-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-lg-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-lg-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-lg-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-lg-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-lg-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-lg-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-lg-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-lg-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-lg-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-lg-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-lg-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-lg-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-lg-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-lg-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-lg-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-lg-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-lg-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-lg-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-lg-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-lg-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-lg-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-lg-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-lg-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-lg-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-lg-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-lg-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-lg-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-lg-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-lg-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-lg-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-lg-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-lg-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-lg-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-lg-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-lg-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-lg-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-lg-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-lg-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-lg-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-lg-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-lg-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-lg-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-lg-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-lg-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-lg-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-lg-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-lg-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-lg-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-lg-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-lg-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
}

@media (min-width: 1440px) {
  .cms-xl-m-xxs { margin: var(--cms-m-xxs); }
  .cms-xl-m-xs { margin: var(--cms-m-xs); }
  .cms-xl-m-sm { margin: var(--cms-m-sm); }
  .cms-xl-m-md { margin: var(--cms-m-md); }
  .cms-xl-m-lg { margin: var(--cms-m-lg); }
  .cms-xl-m-xl { margin: var(--cms-m-xl); }
  .cms-xl-m-xxl { margin: var(--cms-m-xxl); }
  .cms-xl-m-xxxl { margin: var(--cms-m-xxxl); }
  .cms-xl-m-l-xxs { margin-left: var(--cms-m-xxs); }
  .cms-xl-m-l-xs { margin-left: var(--cms-m-xs); }
  .cms-xl-m-l-sm { margin-left: var(--cms-m-sm); }
  .cms-xl-m-l-md { margin-left: var(--cms-m-md); }
  .cms-xl-m-l-lg { margin-left: var(--cms-m-lg); }
  .cms-xl-m-l-xl { margin-left: var(--cms-m-xl); }
  .cms-xl-m-l-xxl { margin-left: var(--cms-m-xxl); }
  .cms-xl-m-l-xxxl { margin-left: var(--cms-m-xxxl); }
  .cms-xl-m-r-xxs { margin-right: var(--cms-m-xxs); }
  .cms-xl-m-r-xs { margin-right: var(--cms-m-xs); }
  .cms-xl-m-r-sm { margin-right: var(--cms-m-sm); }
  .cms-xl-m-r-md { margin-right: var(--cms-m-md); }
  .cms-xl-m-r-lg { margin-right: var(--cms-m-lg); }
  .cms-xl-m-r-xl { margin-right: var(--cms-m-xl); }
  .cms-xl-m-r-xxl { margin-right: var(--cms-m-xxl); }
  .cms-xl-m-r-xxxl { margin-right: var(--cms-m-xxxl); }
  .cms-xl-m-t-xxs { margin-top: var(--cms-m-xxs); }
  .cms-xl-m-t-xs { margin-top: var(--cms-m-xs); }
  .cms-xl-m-t-sm { margin-top: var(--cms-m-sm); }
  .cms-xl-m-t-md { margin-top: var(--cms-m-md); }
  .cms-xl-m-t-lg { margin-top: var(--cms-m-lg); }
  .cms-xl-m-t-xl { margin-top: var(--cms-m-xl); }
  .cms-xl-m-t-xxl { margin-top: var(--cms-m-xxl); }
  .cms-xl-m-t-xxxl { margin-top: var(--cms-m-xxxl); }
  .cms-xl-m-b-xxs { margin-bottom: var(--cms-m-xxs); }
  .cms-xl-m-b-xs { margin-bottom: var(--cms-m-xs); }
  .cms-xl-m-b-sm { margin-bottom: var(--cms-m-sm); }
  .cms-xl-m-b-md { margin-bottom: var(--cms-m-md); }
  .cms-xl-m-b-lg { margin-bottom: var(--cms-m-lg); }
  .cms-xl-m-b-xl { margin-bottom: var(--cms-m-xl); }
  .cms-xl-m-b-xxl { margin-bottom: var(--cms-m-xxl); }
  .cms-xl-m-b-xxxl { margin-bottom: var(--cms-m-xxxl); }
  .cms-xl-p-xxs { padding: var(--cms-p-xxs); }
  .cms-xl-p-xs { padding: var(--cms-p-xs); }
  .cms-xl-p-sm { padding: var(--cms-p-sm); }
  .cms-xl-p-md { padding: var(--cms-p-md); }
  .cms-xl-p-lg { padding: var(--cms-p-lg); }
  .cms-xl-p-xl { padding: var(--cms-p-xl); }
  .cms-xl-p-xxl { padding: var(--cms-p-xxl); }
  .cms-xl-p-xxxl { padding: var(--cms-p-xxxl); }
  .cms-xl-p-l-xxs { padding-left: var(--cms-p-xxs); }
  .cms-xl-p-l-xs { padding-left: var(--cms-p-xs); }
  .cms-xl-p-l-sm { padding-left: var(--cms-p-sm); }
  .cms-xl-p-l-md { padding-left: var(--cms-p-md); }
  .cms-xl-p-l-lg { padding-left: var(--cms-p-lg); }
  .cms-xl-p-l-xl { padding-left: var(--cms-p-xl); }
  .cms-xl-p-l-xxl { padding-left: var(--cms-p-xxl); }
  .cms-xl-p-l-xxxl { padding-left: var(--cms-p-xxxl); }
  .cms-xl-p-r-xxs { padding-right: var(--cms-p-xxs); }
  .cms-xl-p-r-xs { padding-right: var(--cms-p-xs); }
  .cms-xl-p-r-sm { padding-right: var(--cms-p-sm); }
  .cms-xl-p-r-md { padding-right: var(--cms-p-md); }
  .cms-xl-p-r-lg { padding-right: var(--cms-p-lg); }
  .cms-xl-p-r-xl { padding-right: var(--cms-p-xl); }
  .cms-xl-p-r-xxl { padding-right: var(--cms-p-xxl); }
  .cms-xl-p-r-xxxl { padding-right: var(--cms-p-xxxl); }
  .cms-xl-p-t-xxs { padding-top: var(--cms-p-xxs); }
  .cms-xl-p-t-xs { padding-top: var(--cms-p-xs); }
  .cms-xl-p-t-sm { padding-top: var(--cms-p-sm); }
  .cms-xl-p-t-md { padding-top: var(--cms-p-md); }
  .cms-xl-p-t-lg { padding-top: var(--cms-p-lg); }
  .cms-xl-p-t-xl { padding-top: var(--cms-p-xl); }
  .cms-xl-p-t-xxl { padding-top: var(--cms-p-xxl); }
  .cms-xl-p-t-xxxl { padding-top: var(--cms-p-xxxl); }
  .cms-xl-p-b-xxs { padding-bottom: var(--cms-p-xxs); }
  .cms-xl-p-b-xs { padding-bottom: var(--cms-p-xs); }
  .cms-xl-p-b-sm { padding-bottom: var(--cms-p-sm); }
  .cms-xl-p-b-md { padding-bottom: var(--cms-p-md); }
  .cms-xl-p-b-lg { padding-bottom: var(--cms-p-lg); }
  .cms-xl-p-b-xl { padding-bottom: var(--cms-p-xl); }
  .cms-xl-p-b-xxl { padding-bottom: var(--cms-p-xxl); }
  .cms-xl-p-b-xxxl { padding-bottom: var(--cms-p-xxxl); }
  .cms-xl-b-xxs { border: var(--cms-b-xxs); }
  .cms-xl-b-xs { border: var(--cms-b-xs); }
  .cms-xl-b-sm { border: var(--cms-b-sm); }
  .cms-xl-b-md { border: var(--cms-b-md); }
  .cms-xl-b-lg { border: var(--cms-b-lg); }
  .cms-xl-b-xl { border: var(--cms-b-xl); }
  .cms-xl-b-xxl { border: var(--cms-b-xxl); }
  .cms-xl-b-xxxl { border: var(--cms-b-xxxl); }
  .cms-xl-b-l-xxs { border-left: var(--cms-b-xxs); }
  .cms-xl-b-l-xs { border-left: var(--cms-b-xs); }
  .cms-xl-b-l-sm { border-left: var(--cms-b-sm); }
  .cms-xl-b-l-md { border-left: var(--cms-b-md); }
  .cms-xl-b-l-lg { border-left: var(--cms-b-lg); }
  .cms-xl-b-l-xl { border-left: var(--cms-b-xl); }
  .cms-xl-b-l-xxl { border-left: var(--cms-b-xxl); }
  .cms-xl-b-l-xxxl { border-left: var(--cms-b-xxxl); }
  .cms-xl-b-r-xxs { border-right: var(--cms-b-xxs); }
  .cms-xl-b-r-xs { border-right: var(--cms-b-xs); }
  .cms-xl-b-r-sm { border-right: var(--cms-b-sm); }
  .cms-xl-b-r-md { border-right: var(--cms-b-md); }
  .cms-xl-b-r-lg { border-right: var(--cms-b-lg); }
  .cms-xl-b-r-xl { border-right: var(--cms-b-xl); }
  .cms-xl-b-r-xxl { border-right: var(--cms-b-xxl); }
  .cms-xl-b-r-xxxl { border-right: var(--cms-b-xxxl); }
  .cms-xl-b-t-xxs { border-top: var(--cms-b-xxs); }
  .cms-xl-b-t-xs { border-top: var(--cms-b-xs); }
  .cms-xl-b-t-sm { border-top: var(--cms-b-sm); }
  .cms-xl-b-t-md { border-top: var(--cms-b-md); }
  .cms-xl-b-t-lg { border-top: var(--cms-b-lg); }
  .cms-xl-b-t-xl { border-top: var(--cms-b-xl); }
  .cms-xl-b-t-xxl { border-top: var(--cms-b-xxl); }
  .cms-xl-b-t-xxxl { border-top: var(--cms-b-xxxl); }
  .cms-xl-b-b-xxs { border-bottom: var(--cms-b-xxs); }
  .cms-xl-b-b-xs { border-bottom: var(--cms-b-xs); }
  .cms-xl-b-b-sm { border-bottom: var(--cms-b-sm); }
  .cms-xl-b-b-md { border-bottom: var(--cms-b-md); }
  .cms-xl-b-b-lg { border-bottom: var(--cms-b-lg); }
  .cms-xl-b-b-xl { border-bottom: var(--cms-b-xl); }
  .cms-xl-b-b-xxl { border-bottom: var(--cms-b-xxl); }
  .cms-xl-b-b-xxxl { border-bottom: var(--cms-b-xxxl); }
  .cms-xl-f-xxs { font-size: var(--cms-f-xxs); }
  .cms-xl-f-xs { font-size: var(--cms-f-xs); }
  .cms-xl-f-sm { font-size: var(--cms-f-sm); }
  .cms-xl-f-md { font-size: var(--cms-f-md); }
  .cms-xl-f-lg { font-size: var(--cms-f-lg); }
  .cms-xl-f-xl { font-size: var(--cms-f-xl); }
  .cms-xl-f-xxl { font-size: var(--cms-f-xxl); }
  .cms-xl-f-xxxl { font-size: var(--cms-f-xxxl); }
  .cms-xl-fw-xxs { font-weight: var(--cms-fw-xxs); }
  .cms-xl-fw-xs { font-weight: var(--cms-fw-xs); }
  .cms-xl-fw-sm { font-weight: var(--cms-fw-sm); }
  .cms-xl-fw-md { font-weight: var(--cms-fw-md); }
  .cms-xl-fw-lg { font-weight: var(--cms-fw-lg); }
  .cms-xl-fw-xl { font-weight: var(--cms-fw-xl); }
  .cms-xl-fw-xxl { font-weight: var(--cms-fw-xxl); }
  .cms-xl-fw-xxxl { font-weight: var(--cms-fw-xxxl); }
  .cms-xl-lh-xxs { line-height: var(--cms-lh-xxs); }
  .cms-xl-lh-xs { line-height: var(--cms-lh-xs); }
  .cms-xl-lh-sm { line-height: var(--cms-lh-sm); }
  .cms-xl-lh-md { line-height: var(--cms-lh-md); }
  .cms-xl-lh-lg { line-height: var(--cms-lh-lg); }
  .cms-xl-lh-xl { line-height: var(--cms-lh-xl); }
  .cms-xl-lh-xxl { line-height: var(--cms-lh-xxl); }
  .cms-xl-lh-xxxl { line-height: var(--cms-lh-xxxl); }
  .cms-xl-ls-xxs { letter-spacing: var(--cms-ls-xxs); }
  .cms-xl-ls-xs { letter-spacing: var(--cms-ls-xs); }
  .cms-xl-ls-sm { letter-spacing: var(--cms-ls-sm); }
  .cms-xl-ls-md { letter-spacing: var(--cms-ls-md); }
  .cms-xl-ls-lg { letter-spacing: var(--cms-ls-lg); }
  .cms-xl-ls-xl { letter-spacing: var(--cms-ls-xl); }
  .cms-xl-ls-xxl { letter-spacing: var(--cms-ls-xxl); }
  .cms-xl-ls-xxxl { letter-spacing: var(--cms-ls-xxxl); }
  .cms-xl-w-xxs { width: var(--cms-w-xxs); }
  .cms-xl-w-xs { width: var(--cms-w-xs); }
  .cms-xl-w-sm { width: var(--cms-w-sm); }
  .cms-xl-w-md { width: var(--cms-w-md); }
  .cms-xl-w-lg { width: var(--cms-w-lg); }
  .cms-xl-w-xl { width: var(--cms-w-xl); }
  .cms-xl-w-xxl { width: var(--cms-w-xxl); }
  .cms-xl-w-xxxl { width: var(--cms-w-xxxl); }
  .cms-xl-min-w-xxs { min-width: var(--cms-min-w-xxs); }
  .cms-xl-min-w-xs { min-width: var(--cms-min-w-xs); }
  .cms-xl-min-w-sm { min-width: var(--cms-min-w-sm); }
  .cms-xl-min-w-md { min-width: var(--cms-min-w-md); }
  .cms-xl-min-w-lg { min-width: var(--cms-min-w-lg); }
  .cms-xl-min-w-xl { min-width: var(--cms-min-w-xl); }
  .cms-xl-min-w-xxl { min-width: var(--cms-min-w-xxl); }
  .cms-xl-min-w-xxxl { min-width: var(--cms-min-w-xxxl); }
  .cms-xl-max-w-xxs { max-width: var(--cms-max-w-xxs); }
  .cms-xl-max-w-xs { max-width: var(--cms-max-w-xs); }
  .cms-xl-max-w-sm { max-width: var(--cms-max-w-sm); }
  .cms-xl-max-w-md { max-width: var(--cms-max-w-md); }
  .cms-xl-max-w-lg { max-width: var(--cms-max-w-lg); }
  .cms-xl-max-w-xl { max-width: var(--cms-max-w-xl); }
  .cms-xl-max-w-xxl { max-width: var(--cms-max-w-xxl); }
  .cms-xl-max-w-xxxl { max-width: var(--cms-max-w-xxxl); }
  .cms-xl-h-xxs { height: var(--cms-h-xxs); }
  .cms-xl-h-xs { height: var(--cms-h-xs); }
  .cms-xl-h-sm { height: var(--cms-h-sm); }
  .cms-xl-h-md { height: var(--cms-h-md); }
  .cms-xl-h-lg { height: var(--cms-h-lg); }
  .cms-xl-h-xl { height: var(--cms-h-xl); }
  .cms-xl-h-xxl { height: var(--cms-h-xxl); }
  .cms-xl-h-xxxl { height: var(--cms-h-xxxl); }
  .cms-xl-min-h-xxs { min-height: var(--cms-min-h-xxs); }
  .cms-xl-min-h-xs { min-height: var(--cms-min-h-xs); }
  .cms-xl-min-h-sm { min-height: var(--cms-min-h-sm); }
  .cms-xl-min-h-md { min-height: var(--cms-min-h-md); }
  .cms-xl-min-h-lg { min-height: var(--cms-min-h-lg); }
  .cms-xl-min-h-xl { min-height: var(--cms-min-h-xl); }
  .cms-xl-min-h-xxl { min-height: var(--cms-min-h-xxl); }
  .cms-xl-min-h-xxxl { min-height: var(--cms-min-h-xxxl); }
  .cms-xl-max-h-xxs { max-height: var(--cms-max-h-xxs); }
  .cms-xl-max-h-xs { max-height: var(--cms-max-h-xs); }
  .cms-xl-max-h-sm { max-height: var(--cms-max-h-sm); }
  .cms-xl-max-h-md { max-height: var(--cms-max-h-md); }
  .cms-xl-max-h-lg { max-height: var(--cms-max-h-lg); }
  .cms-xl-max-h-xl { max-height: var(--cms-max-h-xl); }
  .cms-xl-max-h-xxl { max-height: var(--cms-max-h-xxl); }
  .cms-xl-max-h-xxxl { max-height: var(--cms-max-h-xxxl); }
  .cms-xl-gap-xxs { gap: var(--cms-gap-xxs); }
  .cms-xl-gap-xs { gap: var(--cms-gap-xs); }
  .cms-xl-gap-sm { gap: var(--cms-gap-sm); }
  .cms-xl-gap-md { gap: var(--cms-gap-md); }
  .cms-xl-gap-lg { gap: var(--cms-gap-lg); }
  .cms-xl-gap-xl { gap: var(--cms-gap-xl); }
  .cms-xl-gap-xxl { gap: var(--cms-gap-xxl); }
  .cms-xl-gap-xxxl { gap: var(--cms-gap-xxxl); }
  .cms-xl-gap-x-xxs { column-gap: var(--cms-gap-xxs); }
  .cms-xl-gap-x-xs { column-gap: var(--cms-gap-xs); }
  .cms-xl-gap-x-sm { column-gap: var(--cms-gap-sm); }
  .cms-xl-gap-x-md { column-gap: var(--cms-gap-md); }
  .cms-xl-gap-x-lg { column-gap: var(--cms-gap-lg); }
  .cms-xl-gap-x-xl { column-gap: var(--cms-gap-xl); }
  .cms-xl-gap-x-xxl { column-gap: var(--cms-gap-xxl); }
  .cms-xl-gap-x-xxxl { column-gap: var(--cms-gap-xxxl); }
  .cms-xl-gap-y-xxs { row-gap: var(--cms-gap-xxs); }
  .cms-xl-gap-y-xs { row-gap: var(--cms-gap-xs); }
  .cms-xl-gap-y-sm { row-gap: var(--cms-gap-sm); }
  .cms-xl-gap-y-md { row-gap: var(--cms-gap-md); }
  .cms-xl-gap-y-lg { row-gap: var(--cms-gap-lg); }
  .cms-xl-gap-y-xl { row-gap: var(--cms-gap-xl); }
  .cms-xl-gap-y-xxl { row-gap: var(--cms-gap-xxl); }
  .cms-xl-gap-y-xxxl { row-gap: var(--cms-gap-xxxl); }
  .cms-xl-r-xxs { border-radius: var(--cms-r-xxs); }
  .cms-xl-r-xs { border-radius: var(--cms-r-xs); }
  .cms-xl-r-sm { border-radius: var(--cms-r-sm); }
  .cms-xl-r-md { border-radius: var(--cms-r-md); }
  .cms-xl-r-lg { border-radius: var(--cms-r-lg); }
  .cms-xl-r-xl { border-radius: var(--cms-r-xl); }
  .cms-xl-r-xxl { border-radius: var(--cms-r-xxl); }
  .cms-xl-r-xxxl { border-radius: var(--cms-r-xxxl); }
  .cms-xl-gutter-xxs>* { margin-top: var(--cms-m-xxs);margin-left: var(--cms-m-xxs); }
  .cms-xl-gutter-xs>* { margin-top: var(--cms-m-xs);margin-left: var(--cms-m-xs); }
  .cms-xl-gutter-sm>* { margin-top: var(--cms-m-sm);margin-left: var(--cms-m-sm); }
  .cms-xl-gutter-md>* { margin-top: var(--cms-m-md);margin-left: var(--cms-m-md); }
  .cms-xl-gutter-lg>* { margin-top: var(--cms-m-lg);margin-left: var(--cms-m-lg); }
  .cms-xl-gutter-xl>* { margin-top: var(--cms-m-xl);margin-left: var(--cms-m-xl); }
  .cms-xl-gutter-xxl>* { margin-top: var(--cms-m-xxl);margin-left: var(--cms-m-xxl); }
  .cms-xl-gutter-xxxl>* { margin-top: var(--cms-m-xxxl);margin-left: var(--cms-m-xxxl); }
  .cms-xl-gutter-x-xxs>* { margin-left: var(--cms-m-xxs); }
  .cms-xl-gutter-x-xs>* { margin-left: var(--cms-m-xs); }
  .cms-xl-gutter-x-sm>* { margin-left: var(--cms-m-sm); }
  .cms-xl-gutter-x-md>* { margin-left: var(--cms-m-md); }
  .cms-xl-gutter-x-lg>* { margin-left: var(--cms-m-lg); }
  .cms-xl-gutter-x-xl>* { margin-left: var(--cms-m-xl); }
  .cms-xl-gutter-x-xxl>* { margin-left: var(--cms-m-xxl); }
  .cms-xl-gutter-x-xxxl>* { margin-left: var(--cms-m-xxxl); }
  .cms-xl-gutter-y-xxs>* { margin-top: var(--cms-m-xxs); }
  .cms-xl-gutter-y-xs>* { margin-top: var(--cms-m-xs); }
  .cms-xl-gutter-y-sm>* { margin-top: var(--cms-m-sm); }
  .cms-xl-gutter-y-md>* { margin-top: var(--cms-m-md); }
  .cms-xl-gutter-y-lg>* { margin-top: var(--cms-m-lg); }
  .cms-xl-gutter-y-xl>* { margin-top: var(--cms-m-xl); }
  .cms-xl-gutter-y-xxl>* { margin-top: var(--cms-m-xxl); }
  .cms-xl-gutter-y-xxxl>* { margin-top: var(--cms-m-xxxl); }
  .cms-xl-display-none { display: none; }
  .cms-xl-display-block { display: block; }
  .cms-xl-display-flex { display: flex; }
  .cms-xl-display-inline-flex { display: inline-flex; }
  .cms-xl-display-grid { display: grid; }
  .cms-xl-display-inline-grid { display: inline-grid; }
  .cms-xl-dir-row { flex-direction: row; }
  .cms-xl-dir-row-reverse { flex-direction: row-reverse; }
  .cms-xl-dir-column { flex-direction: column; }
  .cms-xl-dir-col { flex-direction: column; }
  .cms-xl-dir-column-reverse { flex-direction: column-reverse; }
  .cms-xl-dir-col-reverse { flex-direction: column-reverse; }
  .cms-xl-wrap-wrap { flex-wrap: wrap; }
  .cms-xl-wrap-nowrap { flex-wrap: nowrap; }
  .cms-xl-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-xl-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
  .cms-xl-align-stretch { align-items: stretch; }
  .cms-xl-align-start { align-items: flex-start; }
  .cms-xl-align-flex-start { align-items: flex-start; }
  .cms-xl-align-center { align-items: center; }
  .cms-xl-align-end { align-items: flex-end; }
  .cms-xl-align-flex-end { align-items: flex-end; }
  .cms-xl-align-baseline { align-items: baseline; }
  .cms-xl-justify-start { justify-content: flex-start; }
  .cms-xl-justify-flex-start { justify-content: flex-start; }
  .cms-xl-justify-center { justify-content: center; }
  .cms-xl-justify-end { justify-content: flex-end; }
  .cms-xl-justify-flex-end { justify-content: flex-end; }
  .cms-xl-justify-between { justify-content: space-between; }
  .cms-xl-justify-space-between { justify-content: space-between; }
  .cms-xl-justify-around { justify-content: space-around; }
  .cms-xl-justify-space-around { justify-content: space-around; }
  .cms-xl-justify-evenly { justify-content: space-evenly; }
  .cms-xl-justify-space-evenly { justify-content: space-evenly; }
  .cms-xl-self-auto { align-self: auto; }
  .cms-xl-self-stretch { align-self: stretch; }
  .cms-xl-self-start { align-self: flex-start; }
  .cms-xl-self-flex-start { align-self: flex-start; }
  .cms-xl-self-center { align-self: center; }
  .cms-xl-self-end { align-self: flex-end; }
  .cms-xl-self-flex-end { align-self: flex-end; }
  .cms-xl-self-baseline { align-self: baseline; }
  .cms-xl-justify-self-auto { justify-self: auto; }
  .cms-xl-justify-self-stretch { justify-self: stretch; }
  .cms-xl-justify-self-start { justify-self: start; }
  .cms-xl-justify-self-center { justify-self: center; }
  .cms-xl-justify-self-end { justify-self: end; }
  .cms-xl-place-self-auto { place-self: auto; }
  .cms-xl-place-self-stretch { place-self: stretch; }
  .cms-xl-place-self-start { place-self: start; }
  .cms-xl-place-self-center { place-self: center; }
  .cms-xl-place-self-end { place-self: end; }
  .cms-xl-items-stretch { justify-items: stretch; }
  .cms-xl-items-start { justify-items: start; }
  .cms-xl-items-center { justify-items: center; }
  .cms-xl-items-end { justify-items: end; }
  .cms-xl-place-stretch { place-items: stretch; }
  .cms-xl-place-start { place-items: start; }
  .cms-xl-place-center { place-items: center; }
  .cms-xl-place-end { place-items: end; }
  .cms-xl-grid-flow-row { grid-auto-flow: row; }
  .cms-xl-grid-flow-column { grid-auto-flow: column; }
  .cms-xl-grid-flow-dense { grid-auto-flow: dense; }
  .cms-xl-grid-flow-row-dense { grid-auto-flow: row dense; }
  .cms-xl-grid-flow-column-dense { grid-auto-flow: column dense; }
  .cms-xl-col-auto { max-width: 100%; flex: 0 0 auto; width: auto; }
  .cms-xl-col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
  .cms-xl-col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .cms-xl-col-3 { flex: 0 0 12.500000%; max-width: 12.500000%; }
  .cms-xl-col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .cms-xl-col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
  .cms-xl-col-6 { flex: 0 0 25%; max-width: 25%; }
  .cms-xl-col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
  .cms-xl-col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .cms-xl-col-9 { flex: 0 0 37.500000%; max-width: 37.500000%; }
  .cms-xl-col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .cms-xl-col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
  .cms-xl-col-12 { flex: 0 0 50%; max-width: 50%; }
  .cms-xl-col-13 { flex: 0 0 54.166667%; max-width: 54.166667%; }
  .cms-xl-col-14 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .cms-xl-col-15 { flex: 0 0 62.500000%; max-width: 62.500000%; }
  .cms-xl-col-16 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .cms-xl-col-17 { flex: 0 0 70.833333%; max-width: 70.833333%; }
  .cms-xl-col-18 { flex: 0 0 75%; max-width: 75%; }
  .cms-xl-col-19 { flex: 0 0 79.166667%; max-width: 79.166667%; }
  .cms-xl-col-20 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .cms-xl-col-21 { flex: 0 0 87.500000%; max-width: 87.500000%; }
  .cms-xl-col-22 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .cms-xl-col-23 { flex: 0 0 95.833333%; max-width: 95.833333%; }
  .cms-xl-col-24 { flex: 0 0 100%; max-width: 100%; }
  .cms-xl-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .cms-xl-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cms-xl-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cms-xl-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cms-xl-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cms-xl-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cms-xl-grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cms-xl-grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cms-xl-grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)); }
  .cms-xl-grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)); }
  .cms-xl-grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .cms-xl-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cms-xl-grid-cols-13 { grid-template-columns: repeat(13, minmax(0, 1fr)); }
  .cms-xl-grid-cols-14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
  .cms-xl-grid-cols-15 { grid-template-columns: repeat(15, minmax(0, 1fr)); }
  .cms-xl-grid-cols-16 { grid-template-columns: repeat(16, minmax(0, 1fr)); }
  .cms-xl-grid-cols-17 { grid-template-columns: repeat(17, minmax(0, 1fr)); }
  .cms-xl-grid-cols-18 { grid-template-columns: repeat(18, minmax(0, 1fr)); }
  .cms-xl-grid-cols-19 { grid-template-columns: repeat(19, minmax(0, 1fr)); }
  .cms-xl-grid-cols-20 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
  .cms-xl-grid-cols-21 { grid-template-columns: repeat(21, minmax(0, 1fr)); }
  .cms-xl-grid-cols-22 { grid-template-columns: repeat(22, minmax(0, 1fr)); }
  .cms-xl-grid-cols-23 { grid-template-columns: repeat(23, minmax(0, 1fr)); }
  .cms-xl-grid-cols-24 { grid-template-columns: repeat(24, minmax(0, 1fr)); }
}

/* >>> animation.css */
:root {
  --cms-anim-dur: 500ms;
  --cms-anim-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --cms-anim-distance: 12px;
  --cms-anim-scale: 0.98;
  --cms-anim-in: cms-fade-in;
  --cms-anim-out: cms-fade-out;
}

.cms-animate {
  animation-duration: var(--cms-anim-dur);
  animation-timing-function: var(--cms-anim-ease);
  animation-fill-mode: both;
  will-change: opacity, transform;
}

.cms-animate.in {
  animation-name: var(--cms-anim-in);
}

.cms-animate.out {
  animation-name: var(--cms-anim-out);
}

.cms-animate.fade.in {
  animation-name: cms-fade-in;
}

.cms-animate.fade.out {
  animation-name: cms-fade-out;
}

.cms-animate.slide.in {
  animation-name: cms-slide-in;
}

.cms-animate.slide.out {
  animation-name: cms-slide-out;
}

.cms-animate.scale.in {
  animation-name: cms-scale-in;
}

.cms-animate.scale.out {
  animation-name: cms-scale-out;
}

@keyframes cms-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes cms-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes cms-slide-in {
  from {
    opacity: 0;
    transform: translateY(var(--cms-anim-distance));
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cms-slide-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(var(--cms-anim-distance));
  }
}

@keyframes cms-scale-in {
  from {
    opacity: 0;
    transform: scale(var(--cms-anim-scale));
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes cms-scale-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(var(--cms-anim-scale));
  }
}

@media (prefers-reduced-motion: reduce) {
  .cms-animate {
    animation-duration: 1ms;
  }
}

/* >>> ui-components.css */
/* - NATIVE */

input,
select,
button {
  background-color: var(--cms-theme-color-1);
  border-color: var(--cms-theme-color-2);
  border-width: 1px;
  border-radius: var(--cms-b-radius-default, 4px);
  padding: 2px 8px;
  min-height: calc(var(--cms-input-height-default, 32px) + 5px);
  color: var(--cms-text);
}

select {
  min-height: calc(var(--cms-input-height-default, 32px) + 9px);
}

/* - CSS BASE */
.cms-d-flex {
  display: flex;
}

.cms-d-none {
  display: none;
}

.cms-d-block {
  display: block;
}

.cms-overlay-root {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1010;
}

.cms-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.cms-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 160ms ease;
  pointer-events: auto;
}

.cms-overlay.entered .cms-overlay-backdrop {
  opacity: 1;
}

.cms-overlay.leave .cms-overlay-backdrop {
  opacity: 0;
}

.cms-overlay-panel {
  pointer-events: auto;
  background: var(--cms-panel);
  border: 1px solid var(--cms-border);
  border-radius: var(--cms-r-md);
  box-shadow: var(--cms-shadow-sm);
  color: var(--cms-text);
  --set-background-color: var(--cms-panel);
}

.cms-overlay-panel.enter {
  opacity: 0;
  transform: translateY(6px);
}

.cms-overlay-panel.entered {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 160ms ease, transform 160ms ease;
  --set-background-color: var(--cms-panel);
}

.cms-overlay-panel.leave {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.cms-menu {
  min-width: 180px;
  padding: var(--cms-s-sm);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-menu-panel {
  --set-background-color: var(--cms-bg-default);
  width: var(--cms-menu-width, auto);
  min-width: var(--cms-menu-min-width, 200px);
  max-width: var(--cms-menu-max-width, min(420px, calc(100vw - 16px)));
  max-height: var(--cms-menu-max-height, min(80vh, 560px));
  overflow: hidden;
  background: var(--set-background-color, var(--cms-bg-default));
  color: var(--set-color, var(--cms-text));
  border-color: var(--set-border-color, var(--cms-border-color));
}

.cms-menu-shell {
  gap: 12px;
  width: 100%;
  min-width: inherit;
  max-width: 100%;
  max-height: inherit;
  padding: 12px;
  background: inherit;
  border-radius: inherit;
  box-sizing: border-box;
}

.cms-menu-shell.dense {
  gap: 8px;
  padding: 10px;
}

.cms-menu-before,
.cms-menu-after,
.cms-menu-content,
.cms-menu-footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cms-menu-content {
  max-height: var(--cms-menu-body-max-height, none);
  overflow: auto;
}

.cms-menu-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.cms-menu-head-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-menu-head-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127, 127, 127, 0.12);
  color: inherit;
  flex: 0 0 auto;
}

.cms-menu-eyebrow {
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cms-muted);
}

.cms-menu-title {
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}

.cms-menu-subtitle,
.cms-menu-status,
.cms-menu-empty,
.cms-menu-group-label,
.cms-menu-entry-subtitle,
.cms-menu-entry-shortcut {
  font-size: 12px;
  line-height: 1.4;
  color: color-mix(in srgb, var(--set-color-2) 50%, var(--cms-text));
}

.cms-menu-items,
.cms-menu-group-items {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-menu-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cms-menu-group-label {
  padding: 0 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cms-menu-item {
  padding: 6px 10px;
  border-radius: var(--cms-r-sm);
  cursor: pointer;
}

.cms-menu-entry {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  text-align: left;
  text-decoration: none;
  transition: background 140ms ease, transform 140ms ease, color 140ms ease;
}

.cms-menu-shell.dense .cms-menu-entry {
  padding: 8px 10px;
  gap: 8px;
}

.cms-menu-entry:focus-visible {
  outline: 0;
  background: rgba(127, 127, 127, 0.14);
}

.cms-menu-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

.cms-menu-entry:hover,
.cms-menu-entry.is-active,
.cms-menu-entry.is-checked {
  background: rgba(127, 127, 127, 0.1);
}

.cms-menu-entry.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.cms-menu-entry-icon,
.cms-menu-entry-aside,
.cms-menu-entry-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-menu-entry-icon {
  width: 18px;
  min-width: 18px;
}

.cms-menu-entry-aside {
  gap: 8px;
  margin-left: auto;
}

.cms-menu-entry-main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cms-menu-entry-title {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
}

.cms-menu-entry-shortcut {
  white-space: nowrap;
}

.cms-menu-divider {
  height: 1px;
  margin: 2px 4px;
  background: var(--cms-border-color);
  opacity: 0.8;
}

.cms-menu-empty {
  padding: 4px 8px;
}

.cms-menu-footer {
  padding-top: 10px;
  border-top: 1px solid rgba(127, 127, 127, 0.12);
}

.cms-menu-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-tooltip-wrap {
  display: inline-flex;
  align-items: center;
}

.cms-tooltip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.4;
  border-radius: var(--cms-r-md);
  background: var(--cms-panel);
  color: var(--cms-text);
  border: 1px solid var(--cms-border-color);
  box-shadow: var(--cms-shadow-sm);
  pointer-events: none;
  width: max-content;
  max-width: min(320px, calc(100vw - 16px));
}

.cms-tooltip.interactive {
  pointer-events: auto;
}

.cms-tooltip-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cms-tooltip-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.cms-tooltip-head-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.cms-tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-tooltip-title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.cms-tooltip-body {
  opacity: 0.86;
}

.cms-tooltip-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px solid rgba(127, 127, 127, 0.18);
}

.cms-d-none {
  display: none;
}

/* - END CSS BASE */

.cms-app {
  font-family: var(--cms-font);
  background: var(--cms-bg);
  color: var(--cms-text);
  min-height: 100vh;
}

.cms-app-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.cms-app-shell-body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  gap: var(--cms-app-shell-gap, var(--cms-s-lg));
  padding: var(--cms-app-shell-padding, var(--cms-s-lg));
  align-items: stretch;
}

.cms-app-shell.is-flush .cms-app-shell-body {
  gap: 0;
  padding: 0;
}

.cms-app-shell.no-drawer .cms-app-shell-body,
.cms-app-shell.is-stack .cms-app-shell-body {
  flex-direction: column;
}

.cms-app-shell.is-reverse .cms-app-shell-body {
  flex-direction: row-reverse;
}

.cms-app-shell.is-reverse.is-stack .cms-app-shell-body {
  flex-direction: column-reverse;
}

.cms-app-shell.is-divider .cms-app-shell-body {
  border-top: 1px solid var(--cms-border-color);
}

.cms-app-shell-drawer-slot,
.cms-app-shell-page-slot {
  min-width: 0;
}

.cms-app-shell-drawer-slot {
  width: var(--cms-app-shell-drawer-width, 280px);
  flex: 0 0 var(--cms-app-shell-drawer-width, 280px);
  max-width: 100%;
}

.cms-app-shell-page-slot {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  gap: var(--cms-app-shell-gap, var(--cms-s-lg));
}

.cms-app-shell-page-slot>.cms-page {
  flex: 1 1 auto;
  min-height: 0;
}

.cms-spacer {
  flex: 1;
}

.cms-panel {
  background: var(--cms-panel);
  border: 1px solid var(--cms-border-color);
  box-shadow: var(--cms-shadow-sm);
  flex: 1;
  z-index: 1;
}

.cms-header {
  display: flex;
  align-items: center;
  gap: var(--cms-header-gap, var(--cms-s-md));
  min-width: 0;
}

.cms-header.sticky {
  position: sticky;
  top: 0;
  z-index: 10;
}

.cms-header.cms-panel {
  padding: var(--cms-s-lg);
  border-width: 0 0 1px 0;
  border-radius: 0;
  background: var(--set-background-color, var(--cms-bg-default));
  color: var(--set-color, var(--cms-text));
  border-color: var(--set-border-color, var(--cms-border-color));
}

.cms-header.dense.cms-panel {
  padding: var(--cms-s-md) var(--cms-s-lg);
}

.cms-header:not(.divider).cms-panel {
  border-width: 0;
}

.cms-header.elevated.cms-panel {
  box-shadow: var(--cms-shadow-md);
}

.cms-header-start,
.cms-header-end,
.cms-header-actions,
.cms-header-content,
.cms-header-meta {
  display: flex;
  align-items: center;
  gap: var(--cms-s-sm);
  flex-wrap: wrap;
}

.cms-header-start,
.cms-header-end {
  flex: 0 0 auto;
}

.cms-header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cms-header-gap, var(--cms-s-md));
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}

.cms-header-body {
  display: flex;
  align-items: center;
  flex: 1 1 320px;
  min-width: 0;
}

.cms-header-heading {
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-md);
  width: 100%;
  min-width: 0;
}

.cms-header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-header-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}

.cms-header-eyebrow {
  color: var(--cms-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cms-header-title,
.cms-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2px;
  min-width: 0;
}

.cms-header-subtitle {
  color: var(--cms-muted);
  font-size: 12px;
}

.cms-header-content {
  align-items: flex-start;
}

.cms-header-meta {
  justify-content: flex-end;
  margin-left: auto;
}

.cms-header-toggle {
  min-width: auto;
}

.cms-header-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cms-muted {
  color: color-mix(in srgb, var(--cms-text) 70%, var(--set-color-2));
}

.cms-header.stack,
.cms-header.stack .cms-header-main,
.cms-header.stack .cms-header-heading {
  align-items: stretch;
}

.cms-header.stack .cms-header-main,
.cms-header.stack .cms-header-heading {
  flex-direction: column;
}

.cms-header.stack .cms-header-meta {
  justify-content: flex-start;
  margin-left: 0;
}

.cms-drawer {
  --cms-drawer-gap: var(--cms-s-xs);
  --cms-drawer-indent: 22px;
  --cms-drawer-padding: var(--cms-s-md);
  padding: var(--cms-drawer-padding);
  height: calc(100vh - (70px + 2*var(--cms-s-lg)));
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: var(--cms-drawer-gap);
}

.cms-drawer.sticky {
  position: sticky;
  top: calc(50px + var(--cms-s-lg));
}

.cms-drawer-body {
  display: flex;
  flex-direction: column;
  gap: var(--cms-drawer-gap);
  min-height: 0;
}

.cms-drawer-header,
.cms-drawer-footer,
.cms-drawer-empty,
.cms-drawer-custom {
  border-radius: var(--cms-r-md);
}

.cms-drawer-header,
.cms-drawer-footer {
  border: 1px solid var(--cms-border-color);
  background: color-mix(in srgb, var(--cms-panel) 88%, transparent);
  padding: var(--cms-s-sm);
}

.cms-drawer-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--cms-s-sm);
  align-items: start;
}

.cms-drawer-header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cms-drawer-header-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.cms-drawer-header-eyebrow {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cms-muted);
}

.cms-drawer-header-title {
  font-weight: 600;
}

.cms-drawer-header-subtitle,
.cms-drawer-header-meta,
.cms-drawer-header-extra {
  color: var(--cms-muted);
  font-size: 12px;
}

.cms-drawer-header-content,
.cms-drawer-header-actions,
.cms-drawer-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-drawer-header-actions {
  grid-column: 1 / -1;
  padding-top: 4px;
}

.cms-drawer-empty,
.cms-drawer-custom {
  padding: var(--cms-s-sm);
}

.cms-drawer-empty {
  border: 1px dashed var(--cms-border-color);
  color: var(--cms-muted);
}

.cms-drawer a,
.cms-drawer .cms-drawer-group-toggle,
.cms-drawer .cms-drawer-btn,
.cms-drawer .cms-drawer-entry {
  padding: 5px 8px;
  border-radius: var(--cms-r-md);
  color: var(--cms-text);
  text-decoration: none;
  border: 1px solid transparent;
  box-sizing: border-box;
  margin-top: 2px;
  margin-bottom: 2px;
  display: flex;
}

.cms-drawer a,
.cms-drawer .cms-drawer-btn {
  display: block;
  background: none;
}

.cms-drawer .cms-drawer-group-toggle {
  display: flex;
  gap: 8px;
  background: none;
}

.cms-drawer a:hover,
.cms-drawer .cms-drawer-group-toggle:hover,
.cms-drawer .cms-drawer-btn:hover {
  border-color: var(--cms-border-color);
  background: rgba(255, 255, 255, 0.03);
}

.cms-drawer-link,
.cms-drawer-group-toggle {
  width: 100%;
  text-align: left;
  background: none;
  cursor: pointer;
}

.cms-drawer-btn {
  width: 100%;
  justify-content: flex-start;
  cursor: pointer;
}

.cms-drawer-entry {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.cms-drawer-entry.active {
  border-color: color-mix(in srgb, var(--cms-primary) 30%, var(--cms-border-color));
  background: color-mix(in srgb, var(--cms-primary) 10%, transparent);
}

.cms-drawer-entry.is-disabled {
  opacity: 0.55;
  pointer-events: none;
}

.cms-drawer-item-main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-drawer-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.cms-drawer-item-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cms-drawer-item-label {
  font-weight: 500;
}

.cms-drawer-item-note,
.cms-drawer-item-content,
.cms-drawer-item-aside {
  color: var(--cms-muted);
  font-size: 12px;
}

.cms-drawer-item-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.cms-drawer-item-badge {
  display: inline-flex;
  align-items: center;
}

.cms-drawer-item-icon.left {
  margin-right: 8px;
  flex: 0 0 auto;
}

.cms-drawer-item-icon.right {
  margin-left: 8px;
  flex: 0 0 auto;
}

.cms-drawer-group {
  margin-top: 4px;
}

.cms-drawer-group-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cms-drawer-group-icon {
  width: 16px;
  text-align: center;
  color: var(--cms-muted);
}

.cms-drawer-group-icon.left {
  margin-right: 8px;
}

.cms-drawer-group-icon.right {
  margin-left: 8px;
}

.cms-drawer-group-items {
  margin-left: var(--cms-drawer-indent);
  padding-left: 8px;
  border-left: 1px dashed var(--cms-border-color);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 160ms ease, opacity 160ms ease;
}

.cms-drawer-group.open>.cms-drawer-group-items {
  max-height: max-content;
  opacity: 1;
}

.cms-drawer-section-label {
  margin-top: 8px;
  padding: 2px 8px;
  color: var(--cms-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cms-drawer-separator {
  height: 1px;
  background: var(--cms-border-color);
  opacity: 0.7;
  margin: 4px 0;
}

/*** Layout Shell ***/
.cms-layout {
  --cms-layout-gap: var(--cms-s-xs);
  --cms-layout-drawer-width: 280px;
  --cms-layout-nav-width: 280px;
  --cms-layout-drawer-peek: 20px;
  --cms-layout-nav-peek: 20px;
  position: relative;
}

.cms-layout-shell-grid {
  display: grid;
  min-height: var(--cms-layout-min-height, 100vh);
  gap: var(--cms-layout-gap);
  grid-template-areas:
    "header header header"
    "aside main nav"
    "footer footer footer";
  grid-template-columns: 0px minmax(0, 1fr) 0px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: start;
}

.cms-layout-section {
  min-width: 0;
}

.cms-layout-shell-grid>.cms-layout-header,
.cms-layout-shell-grid>.header {
  grid-area: header;
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cms-layout-shell-grid>.cms-layout-header>.cms-header,
.cms-layout-shell-grid>.header>.cms-header {
  border: 0 0 1px 0;
  border-radius: 0;
  background-color: var(--cms-panel);
}

.cms-layout-shell-grid>.cms-layout-main,
.cms-layout-shell-grid>.main {
  grid-area: main;
  min-width: 0;
  min-height: 0;
  background-color: var(--cms-panel);
}

.cms-layout-shell-grid>.cms-layout-aside,
.cms-layout-shell-grid>.aside {
  grid-area: aside;
  min-width: 0;
  width: var(--cms-layout-drawer-width);
  background-color: var(--cms-panel);
  position: relative;
}

.cms-layout-shell-grid>.cms-layout-nav,
.cms-layout-shell-grid>.nav {
  grid-area: nav;
  min-width: 0;
  width: var(--cms-layout-nav-width);
  background-color: var(--cms-panel);
  position: relative;
}

.cms-layout.has-disposition.nav-top .cms-layout-shell-grid>.cms-layout-nav,
.cms-layout.has-disposition.nav-top .cms-layout-shell-grid>.nav {
  width: auto;
}

.cms-layout.has-disposition.mode-global.is-mobile .cms-layout-shell-grid {
  padding-top: var(--layout-header-height, 0px);
}

.cms-layout.has-disposition.mode-global.is-mobile .cms-layout-shell-grid>.cms-layout-header,
.cms-layout.has-disposition.mode-global.is-mobile .cms-layout-shell-grid>.header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 40;
}

.cms-layout-panel-body {
  min-width: 0;
}

.cms-layout-resize-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  z-index: 6;
  cursor: col-resize;
  touch-action: none;
}

.cms-layout-resize-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 42px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-border-color) 70%, transparent);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 140ms ease, background 140ms ease;
}

.cms-layout-aside.is-resizable:hover .cms-layout-resize-handle::after,
.cms-layout-nav.is-resizable:hover .cms-layout-resize-handle::after,
.cms-layout.is-resizing-layout .cms-layout-resize-handle::after {
  opacity: 1;
}

.cms-layout-resize-handle-drawer {
  right: -5px;
}

.cms-layout-resize-handle-nav {
  left: -5px;
}

.cms-layout.is-resizing-layout,
.cms-layout.is-resizing-layout * {
  user-select: none;
}

.cms-layout-shell-grid>.cms-layout-aside.sticky,
.cms-layout-shell-grid>.aside.sticky,
.cms-layout-shell-grid>.cms-layout-nav.sticky,
.cms-layout-shell-grid>.nav.sticky {
  position: relative;
  z-index: 10;
  align-self: stretch;
  min-height: 0;
  overflow: visible;
}

.cms-layout-shell-grid>.cms-layout-aside.sticky>.cms-layout-panel-body,
.cms-layout-shell-grid>.aside.sticky>.cms-layout-panel-body,
.cms-layout-shell-grid>.cms-layout-nav.sticky>.cms-layout-panel-body,
.cms-layout-shell-grid>.nav.sticky>.cms-layout-panel-body {
  position: sticky;
  top: calc(var(--layout-header-height, 0px) + var(--cms-layout-gap));
  bottom: var(--cms-layout-gap);
  padding-bottom: 10px;
  max-height: calc(100vh - var(--layout-header-height, 0px) - (var(--cms-layout-gap) * 2));
}

.cms-layout-shell-grid>.cms-layout-footer,
.cms-layout-shell-grid>.footer {
  grid-area: footer;
  z-index: 9;
}

.cms-aside-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
  z-index: 39;
}

.cms-aside-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

.cms-layout .cms-layout-aside.is-floating,
.cms-layout .cms-layout-nav.is-floating {
  position: fixed;
  top: calc(var(--layout-header-height, 0px) - var(--cms-layout-gap));
  bottom: var(--cms-layout-gap);
  max-height: calc(100vh - var(--layout-header-height, 0px) - (var(--cms-layout-gap) * 2));
  overflow: auto;
  z-index: 40;
  margin: 0;
  transition: transform 180ms ease, opacity 180ms ease, box-shadow 180ms ease;
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.22);
}

.cms-layout.has-disposition.mode-local .cms-layout-aside.is-floating,
.cms-layout.has-disposition.mode-local .cms-layout-nav.is-floating {
  position: absolute;
}

.cms-layout .cms-layout-aside.is-floating .cms-layout-resize-handle,
.cms-layout .cms-layout-nav.is-floating .cms-layout-resize-handle {
  display: none;
}

.cms-layout .cms-layout-aside.is-floating {
  left: var(--cms-layout-gap);
  width: var(--cms-layout-drawer-width);
  transform: translateX(calc(-1 * (var(--cms-layout-drawer-width) - var(--cms-layout-drawer-peek))));
}

.cms-layout .cms-layout-aside.is-floating.open {
  transform: translateX(0);
}

.cms-layout .cms-layout-nav.is-floating {
  right: var(--cms-layout-gap);
  width: var(--cms-layout-nav-width);
  transform: translateX(calc(var(--cms-layout-nav-width) - var(--cms-layout-nav-peek)));
}

.cms-layout .cms-layout-nav.is-floating.open {
  transform: translateX(0);
}

.cms-layout.is-mobile .cms-layout-shell-grid {
  grid-template-columns: 0px minmax(0, 1fr) 0px;
}

.cms-layout.is-mobile .cms-layout-aside,
.cms-layout.is-mobile .cms-layout-nav {
  position: fixed;
  top: calc(var(--layout-header-height, 0px) + var(--cms-layout-gap));
  bottom: var(--cms-layout-gap);
  max-height: calc(100vh - var(--layout-header-height, 0px) - (var(--cms-layout-gap) * 2));
  overflow: auto;
  z-index: 40;
  margin: 0;
  opacity: 0;
  transition: transform 180ms ease, opacity 180ms ease;
}

.cms-layout.is-mobile .cms-layout-resize-handle {
  display: none;
}

.cms-layout.is-mobile .cms-layout-aside {
  left: var(--cms-layout-gap);
  width: min(92vw, var(--cms-layout-drawer-width));
  max-width: calc(100vw - (var(--cms-layout-gap) * 2));
  transform: translateX(calc(-100% - var(--cms-layout-gap)));
}

.cms-layout.has-disposition.is-mobile.drawer-right .cms-layout-aside {
  left: auto;
  right: var(--cms-layout-drawer-width);
  transform: translateX(calc(100% + var(--cms-layout-gap)));
}

.cms-layout.is-mobile .cms-layout-nav {
  right: var(--cms-layout-gap);
  width: min(92vw, var(--cms-layout-nav-width));
  max-width: calc(100vw - (var(--cms-layout-gap) * 2));
  transform: translateX(calc(100% + var(--cms-layout-gap)));
}

.cms-layout.is-mobile .cms-layout-aside.open,
.cms-layout.is-mobile .cms-layout-nav.open {
  opacity: 1;
  transform: translateX(0);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.22);
}

/*** Layout Shell end ***/

.cms-toolbar {
  --cms-toolbar-gap: var(--cms-s-md);
  display: flex;
  align-items: center;
  gap: var(--cms-toolbar-gap);
  flex-wrap: wrap;
  min-width: 0;
  padding: 10px 12px;
}

.cms-toolbar.structured {
  flex-direction: column;
  align-items: stretch;
}

.cms-toolbar.dense {
  padding: 6px 10px;
}

.cms-toolbar.divider {
  border-bottom: 1px solid var(--cms-border-color);
}

.cms-toolbar.elevated {
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14);
}

.cms-toolbar.sticky {
  position: sticky;
  top: 0;
  z-index: 12;
  backdrop-filter: blur(14px);
}

.cms-toolbar-main,
.cms-toolbar-before,
.cms-toolbar-start,
.cms-toolbar-center,
.cms-toolbar-end,
.cms-toolbar-after,
.cms-toolbar-meta {
  display: flex;
  align-items: inherit;
  gap: var(--cms-toolbar-gap);
  flex-wrap: inherit;
  min-width: 0;
}

.cms-toolbar-main {
  width: 100%;
}

.cms-toolbar-center {
  flex: 1 1 240px;
}

.cms-toolbar-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.cms-toolbar-title {
  min-width: 0;
  font-weight: 700;
  line-height: 1.2;
}

.cms-toolbar-subtitle,
.cms-toolbar-meta {
  color: var(--cms-muted);
}

.cms-toolbar-subtitle {
  font-size: 13px;
  line-height: 1.35;
}

.cms-toolbar-meta {
  font-size: 12px;
}

.cms-toolbar-end {
  justify-content: flex-end;
}

.cms-list {
  --cms-list-gap: 10px;
  --cms-list-indent: 20px;
  margin: 0;
  padding-left: var(--cms-list-indent);
}

.cms-list.dense {
  --cms-list-gap: 6px;
}

.cms-list.cms-list-no-marker {
  list-style: none;
  padding-left: 0;
}

.cms-list>li+li {
  margin-top: var(--cms-list-gap);
}

.cms-list.divider>li+li {
  margin-top: 0;
}

.cms-list.divider>li:not(:last-child) {
  padding-bottom: var(--cms-list-gap);
  border-bottom: 1px solid color-mix(in srgb, var(--cms-border-color) 62%, transparent);
}

.cms-list.cms-list-no-marker>li::marker {
  content: "";
}

.cms-item {
  position: relative;
  min-width: 0;
  color: inherit;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.cms-item::marker {
  color: color-mix(in srgb, var(--cms-text) 55%, transparent);
  font-weight: 600;
}

.cms-item-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  border-radius: var(--cms-r-md);
  border: 1px solid color-mix(in srgb, var(--cms-border-color) 40%, transparent);
  background: color-mix(in srgb, var(--cms-panel) 84%, transparent);
  transition: inherit;
}

.cms-list.dense .cms-item-row {
  gap: 10px;
  padding: 8px 10px;
}

.cms-item.cms-item-inline .cms-item-row {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

.cms-item.cms-item-surface {
  padding: 12px 14px;
  border-width: 1px;
  border-style: solid;
}

.cms-list.dense .cms-item.cms-item-surface {
  padding: 8px 10px;
}

.cms-item.cms-item-surface .cms-item-row {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}

.cms-item.cms-item-clickable {
  cursor: pointer;
}

.cms-item.cms-item-clickable:not(.is-disabled):hover {
  transform: translateY(-1px);
}

.cms-item.cms-item-clickable:not(.cms-item-surface):not(.is-disabled):hover .cms-item-row {
  border-color: color-mix(in srgb, var(--cms-primary) 22%, var(--cms-border-color));
  background: color-mix(in srgb, var(--cms-panel) 88%, white 4%);
}

.cms-item.cms-item-clickable:focus-visible {
  outline: none;
}

.cms-item.cms-item-clickable:not(.cms-item-surface):focus-visible .cms-item-row {
  border-color: rgba(79, 124, 255, 0.72);
  box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.14);
}

.cms-item.cms-item-surface.cms-item-clickable:focus-visible {
  box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.14);
}

.cms-item.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cms-item.is-active:not(.cms-item-surface) .cms-item-row {
  border-color: rgba(79, 124, 255, 0.4);
  background: rgba(79, 124, 255, 0.08);
}

.cms-item-icon,
.cms-item-aside {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-item-icon .cms-icon,
.cms-item-aside .cms-icon {
  margin: 0;
}

.cms-item-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-item-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  line-height: 1.2;
  color: var(--cms-muted);
}

.cms-item-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  font-weight: 600;
  line-height: 1.35;
}

.cms-item-subtitle {
  color: var(--cms-muted);
  line-height: 1.4;
}

.cms-item-body {
  line-height: 1.45;
  opacity: 0.92;
}

.cms-item-body.is-standalone {
  opacity: 1;
}

.cms-item-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 2px;
}

.cms-item-aside {
  gap: 8px;
  color: var(--cms-muted);
  margin-left: auto;
  align-self: center;
}

.cms-item-empty .cms-item-row {
  border-style: dashed;
  color: var(--cms-muted);
}

.cms-page {
  --cms-page-padding: var(--cms-s-lg);
  --cms-page-gap: var(--cms-s-lg);
  --cms-page-min-height: 60vh;
  --cms-page-max-width: 100%;
  --cms-page-header-gap: var(--cms-s-md);
  --cms-page-hero-padding: var(--cms-s-lg);
  display: flex;
  flex-direction: column;
  gap: var(--cms-page-gap);
  padding: var(--cms-page-padding);
  width: 100%;
  max-width: var(--cms-page-max-width);
  min-height: var(--cms-page-min-height);
  box-sizing: border-box;
}

.cms-page>* {
  min-width: 0;
}

.cms-page.dense {
  --cms-page-padding: var(--cms-s-md);
  --cms-page-gap: var(--cms-s-md);
  --cms-page-header-gap: var(--cms-s-sm);
  --cms-page-hero-padding: var(--cms-s-md);
}

.cms-page.cms-page-flat {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.cms-page.cms-page-centered,
.cms-page.cms-page-narrow {
  margin-inline: auto;
}

.cms-page.cms-page-centered {
  --cms-page-max-width: 1200px;
}

.cms-page.cms-page-narrow {
  --cms-page-max-width: 920px;
}

.cms-page-hero {
  display: grid;
  gap: var(--cms-s-md);
  padding: var(--cms-page-hero-padding);
  border-radius: calc(var(--cms-radius) + 6px);
  border: 1px solid color-mix(in srgb, var(--cms-primary) 12%, var(--cms-border-color));
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--cms-primary) 12%, var(--cms-panel)) 0%,
      color-mix(in srgb, var(--cms-secondary) 10%, var(--cms-panel)) 100%);
  overflow: hidden;
}

.cms-page-header {
  display: flex;
  flex-direction: column;
  gap: var(--cms-page-header-gap);
}

.cms-page-head {
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-md);
  width: 100%;
}

.cms-page-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  padding: 10px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--cms-primary) 12%, var(--cms-panel));
  color: var(--cms-primary);
}

.cms-page-head-main {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 6px;
}

.cms-page-eyebrow {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cms-muted);
}

.cms-page-title {
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.04;
  font-weight: 800;
}

.cms-page-subtitle,
.cms-page-header-content {
  color: var(--cms-muted);
  line-height: 1.5;
}

.cms-page-aside {
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-page-body {
  display: grid;
  gap: var(--cms-page-gap);
  min-width: 0;
}

.cms-page-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: var(--cms-s-sm);
  border-top: 1px solid color-mix(in srgb, var(--cms-border-color) 88%, transparent);
}

.cms-page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}

@media (max-width: 900px) {
  .cms-page-head {
    flex-direction: column;
  }

  .cms-page-aside {
    margin-left: 0;
    justify-content: flex-start;
  }

  .cms-page-footer {
    flex-direction: column;
  }

  .cms-page-actions {
    margin-left: 0;
    justify-content: flex-start;
  }
}

.cms-footer {
  --cms-footer-gap: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--cms-footer-gap);
  padding: 12px 16px;
}

.cms-panel.cms-footer {
  border-width: 1px 0 0 0;
  border-radius: 0;
}

.cms-panel.cms-footer:not(.divider) {
  border-width: 0;
}

.cms-footer-main {
  flex: 1 1 280px;
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: inherit;
  gap: var(--cms-footer-gap);
}

.cms-footer-start,
.cms-footer-end,
.cms-footer-actions,
.cms-footer-meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.cms-footer-start,
.cms-footer-end {
  min-width: 0;
}

.cms-footer-end {
  margin-left: auto;
  justify-content: flex-end;
}

.cms-footer-actions {
  justify-content: flex-end;
}

.cms-footer-body {
  flex: 1 1 240px;
  min-width: 0;
}

.cms-footer-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.cms-footer-icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(127, 127, 127, 0.12);
  color: var(--cms-primary);
}

.cms-footer-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.cms-footer-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cms-muted);
}

.cms-footer-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.cms-footer-subtitle,
.cms-footer-content,
.cms-footer-meta {
  color: var(--cms-muted);
  font-size: 13px;
  line-height: 1.5;
}

.cms-footer.stack {
  flex-direction: column;
  align-items: stretch;
}

.cms-footer.stack .cms-footer-main {
  width: 100%;
}

.cms-footer.sticky {
  position: sticky;
  bottom: 0;
  z-index: 50;
  backdrop-filter: blur(6px);
}

.cms-footer.dense {
  padding: 8px 12px;
  --cms-footer-gap: 8px;
}

.cms-footer.elevated {
  box-shadow: var(--cms-shadow-sm);
}

.cms-footer.align-center {
  text-align: center;
}

.cms-footer.align-center .cms-footer-main,
.cms-footer.align-center .cms-footer-heading {
  justify-content: center;
}

.cms-footer.align-center .cms-footer-copy {
  justify-items: center;
}

.cms-footer.align-center .cms-footer-meta,
.cms-footer.align-center .cms-footer-end,
.cms-footer.align-center .cms-footer-actions {
  margin-left: 0;
  justify-content: center;
}

.cms-footer.align-right {
  text-align: right;
}

.cms-footer.align-right .cms-footer-main,
.cms-footer.align-right .cms-footer-heading {
  justify-content: flex-end;
}

.cms-footer.align-right .cms-footer-copy {
  justify-items: end;
}

.cms-footer.align-right .cms-footer-meta,
.cms-footer.align-right .cms-footer-end,
.cms-footer.align-right .cms-footer-actions {
  margin-left: 0;
  justify-content: flex-end;
}

.cms-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.cms-pagination-controls,
.cms-pagination-start,
.cms-pagination-pages,
.cms-pagination-end,
.cms-pagination-extra {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-pagination-controls {
  flex: 1 1 auto;
  min-width: 0;
}

.cms-pagination-pages {
  justify-content: center;
}

.cms-pagination-summary {
  color: var(--cms-muted);
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.cms-pagination-btn {
  min-width: 40px;
  justify-content: center;
}

.cms-pagination-page-btn.active {
  font-weight: 700;
  box-shadow: var(--cms-shadow-sm);
}

.cms-pagination-page-btn[aria-current="page"] {
  cursor: default;
}

.cms-pagination-page-btn[aria-current="page"]:hover {
  transform: none;
}

.cms-pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  color: var(--cms-muted);
  user-select: none;
}

.cms-pagination.dense {
  gap: 8px;
}

.cms-pagination.dense .cms-pagination-controls,
.cms-pagination.dense .cms-pagination-start,
.cms-pagination.dense .cms-pagination-pages,
.cms-pagination.dense .cms-pagination-end,
.cms-pagination.dense .cms-pagination-extra {
  gap: 6px;
}

.cms-pagination.dense .cms-pagination-btn {
  min-width: 34px;
}

.cms-pagination.is-disabled {
  opacity: 0.75;
}

.cms-container {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
  padding: var(--cms-container-padding, 0);
  padding-inline: var(--cms-container-padding-x, clamp(16px, 3vw, 24px));
  padding-block: var(--cms-container-padding-y, 0);
  box-sizing: border-box;
  min-width: 0;
}

.cms-container.is-fluid {
  max-width: none;
}

.cms-container.has-structure {
  display: grid;
  gap: var(--cms-container-section-gap, var(--cms-s-md));
}

.cms-container.is-flex,
.cms-container-body.is-flex,
.cms-container.is-inline,
.cms-container-body.is-inline {
  display: flex;
  flex-direction: var(--cms-container-direction, row);
  align-items: var(--cms-container-align, stretch);
  justify-content: var(--cms-container-justify, flex-start);
  gap: var(--cms-container-gap, 0);
  flex-wrap: var(--cms-container-wrap, wrap);
  min-width: 0;
}

.cms-container.is-inline,
.cms-container-body.is-inline {
  display: inline-flex;
}

.cms-container.is-grid,
.cms-container-body.is-grid {
  display: grid;
  grid-template-columns: var(--cms-container-cols, minmax(0, 1fr));
  align-items: var(--cms-container-align, stretch);
  justify-content: var(--cms-container-justify, stretch);
  gap: var(--cms-container-gap, 0);
  min-width: 0;
}

.cms-container.is-stack,
.cms-container-body.is-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--cms-container-gap, var(--cms-s-md));
  min-width: 0;
}

.cms-container-body,
.cms-container-section,
.cms-container-main {
  min-width: 0;
}

.cms-container-body.is-flex>.cms-container-main,
.cms-container-body.is-inline>.cms-container-main {
  flex: 1 1 auto;
}

.cms-container-start,
.cms-container-end {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cms-container-gap, 0);
  align-items: inherit;
}

.cms-container-demo-stage {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(241, 248, 255, 0.92)),
    repeating-linear-gradient(90deg, rgba(116, 185, 231, 0.06), rgba(116, 185, 231, 0.06) 1px, transparent 1px, transparent 48px);
  border: 1px solid rgba(116, 185, 231, 0.22);
}

.cms-container-demo-stage__meta {
  display: grid;
  gap: 8px;
}

.cms-container-demo-stage__title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--cms-text-2);
}

.cms-container-demo-stage__track {
  height: 10px;
  border-radius: 999px;
  background: rgba(116, 185, 231, 0.12);
  overflow: hidden;
}

.cms-container-demo-stage__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #74b9e7, #3b82f6);
  transition: width 180ms ease;
}

.cms-container-demo-live {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0) 38%),
    linear-gradient(135deg, rgba(238, 246, 255, 0.95), rgba(247, 251, 255, 0.98));
  border: 1px dashed #7ab7ea;
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.cms-container-demo-live .cms-container-body {
  align-items: stretch;
  padding: 10px;
  gap: max(var(--cms-container-gap, 0px), 14px);
}

.cms-container-demo-live .cms-container-demo-live__start,
.cms-container-demo-live .cms-container-demo-live__end {
  flex: 0 0 220px;
  min-width: 220px;
}

.cms-container-demo-live .cms-container-demo-live__main {
  flex: 0 1 360px;
  min-width: 280px;
}

.cms-container-demo-live .cms-container-body.is-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-container-demo-live .cms-container-body.is-grid>.cms-container-section,
.cms-container-demo-live .cms-container-body.is-grid>.cms-container-main {
  width: 100%;
  min-width: 0;
}

.cms-container-demo-panel {
  height: 100%;
  margin: 0;
  border-radius: 20px;
  border: 1px solid rgba(116, 185, 231, 0.35);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 255, 0.94));
  box-shadow: 0 12px 28px rgba(116, 185, 231, 0.10);
}

.cms-container-demo-panel .cms-card-body {
  display: grid;
  gap: 12px;
}

.cms-container-demo-justify {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(116, 185, 231, 0.10);
  border: 1px solid rgba(116, 185, 231, 0.18);
}

.cms-container-demo-justify span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(116, 185, 231, 0.22);
  color: var(--cms-text-2);
  font-size: 12px;
  font-weight: 700;
}

.cms-container-demo-panel--start .cms-card-body {
  align-content: start;
}

.cms-container-demo-panel--main .cms-card-body {
  min-height: 100%;
}

.cms-container-demo-panel--actions .cms-card-body {
  align-content: start;
}

.cms-container-demo-btn {
  width: 100%;
  justify-content: center;
}

@media (max-width: 900px) {

  .cms-container-demo-live .cms-container-demo-live__start,
  .cms-container-demo-live .cms-container-demo-live__end,
  .cms-container-demo-live .cms-container-demo-live__main {
    flex: 1 1 100%;
    min-width: 0;
  }

  .cms-container-demo-live .cms-container-body {
    padding: 8px;
  }

  .cms-container-demo-live .cms-container-body.is-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.cms-btn {
  color: var(--cms-text);
  padding: 10px 14px;
  cursor: pointer;
  user-select: none;
  position: relative;
  overflow: hidden;
  transition: transform 120ms ease, box-shadow 160ms ease, background 160ms ease;
  border-width: 0px;
}

.cms-btn:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.cms-btn:active {
  transform: scale(0.98);
  transform: translateY(1px);
}

.cms-btn::after {
  content: "";
  position: absolute;
  left: var(--cms-burst-x, 50%);
  top: var(--cms-burst-y, 50%);
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.45) 0, rgba(255, 255, 255, 0) 65%);
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
}

.cms-btn-burst::after {
  animation: cms-btn-burst 420ms ease-out;
}

@keyframes cms-btn-burst {
  0% {
    width: 0;
    height: 0;
    opacity: 0.55;
  }

  100% {
    width: 260px;
    height: 260px;
    opacity: 0;
  }
}

.cms-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.cms-shortcode {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.75em;
  padding: 0.2em 0.55em;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cms-border-color) 85%, transparent);
  background: color-mix(in srgb, var(--cms-panel) 88%, transparent);
  color: color-mix(in srgb, var(--cms-text) 82%, var(--cms-muted) 18%);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}

.cms-btn-shortcode {
  margin-left: 8px;
}

.cms-field-shortcode {
  margin-left: 4px;
}

.cms-choice-shortcode {
  margin-left: 6px;
}

.cms-input-raw {
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--cms-r-md);
  border: 1px solid var(--cms-border-color);
  background: rgba(255, 255, 255, 0.03);
  color: var(--cms-text);
  outline: none;
  box-sizing: border-box;
}

.cms-input-raw:focus {
  border-color: rgba(79, 124, 255, 0.75);
}

/* ===== Field (Input wrapper) ===== */
.cms-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cms-field-label {
  font-size: 12px;
  color: var(--cms-muted);
}

.cms-field-toplabel {
  font-size: 12px;
  color: var(--cms-muted);
}

.cms-field-control {
  position: relative;
  border: 1px solid var(--cms-border-color);
  background: rgba(255, 255, 255, 0.03);
  border-radius: var(--cms-r-md);
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.cms-field-control:focus-within {
  border-color: rgba(79, 124, 255, 0.75);
  box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.15);
}

.cms-field-control.disabled {
  opacity: .6;
  cursor: not-allowed;
}

.cms-field-control.error {
  border-color: rgba(255, 79, 109, .65);
  box-shadow: 0 0 0 3px rgba(255, 79, 109, .12);
}

.cms-field-control.success {
  border-color: rgba(55, 210, 138, .7);
  box-shadow: 0 0 0 3px rgba(55, 210, 138, .14);
}

.cms-field-control.warning {
  border-color: rgba(251, 191, 36, .75);
  box-shadow: 0 0 0 3px rgba(251, 191, 36, .14);
}

.cms-field-control.note {
  border-color: rgba(18, 100, 233, .7);
  box-shadow: 0 0 0 3px rgba(18, 100, 233, .14);
}

.cms-field-input {
  flex: 1;
  min-width: 0;
}

.cms-field-float {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: var(--cms-muted);
  pointer-events: none;
  transition: all 140ms ease;
  opacity: .95;
}

.cms-field-control.has-value .cms-field-float,
.cms-field-control:focus-within .cms-field-float {
  top: 6px;
  font-size: 11px;
  opacity: .9;
}

.cms-field-addon {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--cms-muted);
}

.cms-field-clear {
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 10px;
  border: 1px solid transparent;
}

.cms-field-clear:hover {
  border-color: var(--cms-border-color);
  background: rgba(255, 255, 255, .04);
}

.cms-field-hint {
  font-size: 12px;
  color: var(--cms-muted);
}

.cms-field-error {
  font-size: 12px;
  color: rgba(255, 79, 109, .9);
}

.cms-control {
  position: relative;
  border: 1px solid var(--cms-border-color);
  background: rgba(255, 255, 255, 0.03);
  border-radius: var(--cms-r-md);
  /*padding: 12px;*/
  display: flex;
  align-items: center;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.cms-control:focus-within {
  border-color: rgba(79, 124, 255, 0.75);
  box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
}

.cms-control.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cms-control.error {
  border-color: rgba(255, 79, 109, 0.65);
  box-shadow: 0 0 0 3px rgba(255, 79, 109, 0.12);
}

.cms-control.success {
  border-color: rgba(55, 210, 138, 0.7);
  box-shadow: 0 0 0 3px rgba(55, 210, 138, 0.14);
}

.cms-control.warning {
  border-color: rgba(251, 191, 36, 0.75);
  box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.14);
}

.cms-control.note {
  border-color: rgba(18, 100, 233, 0.7);
  box-shadow: 0 0 0 3px rgba(18, 100, 233, 0.14);
}

.cms-input {
  border: 0;
  outline: none;
  width: 100%;
  background: transparent;
  color: var(--cms-text);
  font-size: 14px;
  min-width: 0;
  min-height: var(--cms-input-height-default, 32px);
  padding: 0 12px;
  margin-top: 5px;
  box-sizing: border-box;
}

.cms-textarea {
  line-height: 1.4;
  margin-top: 0;
  padding-top: 10px;
  padding-bottom: 8px;
  resize: vertical;
}

.cms-textarea-field .cms-float-label {
  top: 7px;
  transform: translateY(0);
  font-size: 11px;
  opacity: 0.9;
}

.cms-textarea-field .cms-clear {
  align-self: flex-start;
  margin-top: 8px;
}

@keyframes cms-autofill {
  from {}

  to {}
}

.cms-input:-webkit-autofill,
.cms-input-raw:-webkit-autofill,
.cms-input:-webkit-autofill:hover,
.cms-input-raw:-webkit-autofill:hover,
.cms-input:-webkit-autofill:focus,
.cms-input-raw:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--cms-panel) inset;
  -webkit-box-shadow: 0 0 0 1000px var(--cms-panel) inset;
  -webkit-text-fill-color: var(--cms-text);
  caret-color: var(--cms-text);
  background-color: transparent;
  animation-name: cms-autofill;
  animation-duration: 1ms;
}

.cms-select-value {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: -5px;
}

.cms-select-menu {
  overflow: hidden;
  position: absolute;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: var(--cms-panel);
  border: 1px solid var(--cms-border-color);
  border-radius: var(--cms-b-radius-default);
  box-shadow: var(--cms-shadow-sm);
  display: none;
  z-index: 20;
}

.cms-select-menu.portal {
  position: fixed;
  display: block;
  z-index: 2000;
  background-color: var(--cms-select-bg-default);
  border-color: var(--set-border-color, var(--cms-border-color) rgba(93, 95, 100, 0.35));
}

.cms-select.open .cms-select-menu {
  display: block;
}

.cms-select-filter {
  padding: 10px;
  border-bottom: 1px solid var(--cms-border-color);
}

.cms-select-option.active {
  outline: 2px solid rgba(79, 124, 255, 0.35);
  background: rgba(79, 124, 255, 0.10);
}

.cms-select-group {
  padding: 10px 10px 6px;
  font-size: 12px;
  color: var(--cms-muted);
  opacity: .9;
}

/* Floating label */
.cms-float-label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cms-muted);
  font-size: 13px;
  pointer-events: none;
  transition: transform 140ms ease, top 140ms ease, font-size 140ms ease, opacity 140ms ease;
  opacity: 0.95;
  background: transparent;
}

.cms-control.has-value .cms-float-label,
.cms-control:focus-within .cms-float-label {
  top: 0;
  transform: translateY(0);
  font-size: 11px;
  opacity: 0.9;
}

.cms-control.has-value .cms-multiselect.cms-float-label,
.cms-control:focus-within .cms-multiselect.cms-float-label {
  line-height: 1;
}

/* Icons / addons */
.cms-addon {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--cms-muted);
  min-height: calc(var(--cms-input-height-default, 32px) + 5px);
}

.cms-clear {
  cursor: pointer;
  user-select: none;
  padding: 4px 6px;
  border-radius: 10px;
  border: 1px solid transparent;
}

.cms-clear:hover {
  border-color: var(--cms-border-color);
  background: rgba(255, 255, 255, 0.03);
}

.cms-hint {
  font-size: 12px;
  color: var(--cms-muted);
}

.cms-error {
  font-size: 12px;
  color: rgba(255, 79, 109, 0.9);
}

.cms-success {
  font-size: 12px;
  color: var(--cms-success);
}

.cms-warning {
  font-size: 12px;
  color: var(--cms-warning);
}

.cms-note {
  font-size: 12px;
  color: var(--cms-info);
}

.cms-select {
  position: relative;
  width: 100%;
  font-family: var(--cms-font);
}

.cms-select.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.cms-select-control {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  user-select: none;
  height: calc(var(--cms-input-height-default, 32px) + 5px);
  box-sizing: border-box;
  cursor: pointer;
}

.cms-select.multiple .cms-select-control {
  height: auto;
  min-height: calc(var(--cms-input-height-default, 32px) + 5px);
  flex-wrap: wrap;
  align-items: center;
}

.cms-select.dense .cms-select-control {
  padding: 8px 10px;
}

.cms-select-control:hover {
  background: rgba(255, 255, 255, 0.05);
}

.cms-select.open .cms-select-control {
  border-color: rgba(79, 124, 255, 0.75);
  box-shadow: 0 0 0 2px rgba(79, 124, 255, 0.15);
}

.cms-select.placeholder .cms-select-value {
  color: var(--cms-muted);
}

.cms-select-value-multi {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  margin-bottom: 0;
}

.cms-select-arrow {
  font-size: 12px;
  opacity: 0.7;
  transition: transform 0.2s ease;
  user-select: none;
}

.cms-select.multiple .cms-select-arrow {
  margin-left: auto;
}

.cms-select.open .cms-select-arrow {
  transform: rotate(180deg);
}

.cms-select-filter .cms-input {
  padding: 8px 10px;
  box-sizing: border-box;
}

.cms-select-options {
  max-height: 220px;
  overflow: auto;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-select-option {
  padding: 8px 10px;
  border-radius: var(--cms-r-md);
  cursor: pointer;
  border: 1px solid transparent;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cms-select-option:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.06);
}

.cms-select-option.selected {
  background: rgba(79, 124, 255, 0.18);
  border-color: rgba(79, 124, 255, 0.35);
}

.cms-select-option.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.cms-search {
  position: relative;
  width: 100%;
  font-family: var(--cms-font);
}

.cms-search-field>.cms-control:focus-within {
  background: color-mix(in srgb, var(--cms-panel) 20%, var(--cms-theme-color-1));
}

.cms-search-field>.cms-control .cms-addon-left {
  min-width: calc(var(--cms-input-height-default, 32px) + 8px);
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
  background: transparent;
}

.cms-search-field>.cms-control .cms-addon-right {
  background: transparent;
}

.cms-search.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.cms-search-input::-webkit-search-decoration,
.cms-search-input::-webkit-search-cancel-button {
  appearance: none;
}

.cms-search-menu {
  overflow: hidden;
  position: absolute;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: var(--cms-panel);
  border: 1px solid var(--cms-border-color);
  border-radius: var(--cms-b-radius-default);
  box-shadow: var(--cms-shadow-sm);
  display: none;
  z-index: 20;
}

.cms-search-menu.portal {
  position: fixed;
  display: block;
  z-index: 2000;
  background-color: var(--cms-select-bg-default);
  border-color: var(--set-border-color, var(--cms-border-color) rgba(93, 95, 100, 0.35));
}

.cms-search.open .cms-search-menu {
  display: block;
}

.cms-search-results {
  max-height: 320px;
  overflow: auto;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cms-search-result {
  padding: 9px 10px;
  border-radius: var(--cms-r-md);
  cursor: pointer;
  border: 1px solid transparent;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--cms-text);
}

.cms-search-result:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.06);
}

.cms-search-result.active {
  outline: 2px solid rgba(79, 124, 255, 0.35);
  background: rgba(79, 124, 255, 0.10);
}

.cms-search-result-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cms-search-result-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.25;
}

.cms-search-result-description {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--cms-muted);
  font-size: 12px;
  line-height: 1.25;
}

.cms-search-highlight {
  background: rgba(79, 124, 255, 0.22);
  color: inherit;
  border-radius: 3px;
  padding: 0 1px;
}

.cms-search-empty {
  padding: 14px 12px;
  color: var(--cms-muted);
  font-size: 13px;
}

.cms-search-empty.is-error {
  color: rgba(255, 79, 109, 0.9);
}

.cms-search-empty.is-loading {
  color: var(--cms-muted);
}

.cms-date-display {
  cursor: pointer;
  min-height: var(--cms-date-input-height, 32px);
  font-size: var(--cms-date-input-font-size, inherit);
}

.cms-date-display.is-manual {
  cursor: text;
}

.cms-date-display.cms-size-xs {
  --cms-date-input-height: 30px;
  --cms-date-input-font-size: 12px;
}

.cms-date-display.cms-size-sm {
  --cms-date-input-height: 34px;
  --cms-date-input-font-size: 13px;
}

.cms-date-display.cms-size-md {
  --cms-date-input-height: 40px;
  --cms-date-input-font-size: 14px;
}

.cms-date-display.cms-size-lg {
  --cms-date-input-height: 46px;
  --cms-date-input-font-size: 15px;
}

.cms-date-display.cms-size-xl {
  --cms-date-input-height: 52px;
  --cms-date-input-font-size: 16px;
}

.cms-time-display {
  cursor: pointer;
  min-height: var(--cms-time-input-height, 40px);
  font-size: var(--cms-time-input-font-size, inherit);
}

.cms-time-display.is-manual {
  cursor: text;
}

.cms-time-display.cms-size-xs {
  --cms-time-input-height: 30px;
  --cms-time-input-font-size: 12px;
}

.cms-time-display.cms-size-sm {
  --cms-time-input-height: 34px;
  --cms-time-input-font-size: 13px;
}

.cms-time-display.cms-size-md {
  --cms-time-input-height: 40px;
  --cms-time-input-font-size: 14px;
}

.cms-time-display.cms-size-lg {
  --cms-time-input-height: 46px;
  --cms-time-input-font-size: 15px;
}

.cms-time-display.cms-size-xl {
  --cms-time-input-height: 52px;
  --cms-time-input-font-size: 16px;
}

.cms-date-overlay {
  padding: 0;
  --time-width: 0px;
}

.has-time {
  --time-width: 110px;
}

.cms-date-panel {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 280px), calc(100vw - 24px));
  --cms-date-panel-max-width: min(calc(var(--time-width) + 680px), calc(100vw - 24px));
  --cms-date-panel-padding: 8px;
  --cms-date-panel-gap: 8px;
  --cms-date-nav-size: 28px;
  --cms-date-select-height: 28px;
  --cms-date-action-height: 28px;
  --cms-date-action-pad-x: 8px;
  --cms-date-month-min: 230px;
  --cms-date-month-padding: 8px;
  --cms-date-month-title-font: 11px;
  --cms-date-weekday-font: 9px;
  --cms-date-day-height: 28px;
  --cms-date-day-radius: 8px;
  --cms-date-day-font: 11px;
  --cms-date-day-point-right: 3px;
  --cms-date-day-point-bottom: 2px;
  min-width: var(--cms-date-panel-min-width);
  max-width: var(--cms-date-panel-max-width);
  padding: var(--cms-date-panel-padding);
  display: flex;
  flex-direction: column;
  gap: var(--cms-date-panel-gap);
  color: var(--cms-text);
}

.cms-date-panel-root {
  display: flex;
  flex-direction: column;
  gap: var(--cms-date-panel-gap);
}

.cms-date-panel.multi-month {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 540px), calc(100vw - 24px));
}

.cms-date-panel.cms-size-xs {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 180px), calc(100vw - 24px));
  --cms-date-panel-max-width: min(calc(var(--time-width) + 680px), calc(100vw - 24px));
  --cms-date-panel-padding: 5px;
  --cms-date-panel-gap: 5px;
  --cms-date-nav-size: 22px;
  --cms-date-select-height: 18px;
  --cms-date-action-height: 18px;
  --cms-date-action-pad-x: 8px;
  --cms-date-month-min: 180px;
  --cms-date-month-padding: 8px;
  --cms-date-month-title-font: 11px;
  --cms-date-weekday-font: 9px;
  --cms-date-day-height: 18px;
  --cms-date-day-radius: 5px;
  --cms-date-day-font: 9px;
}

.cms-date-panel.cms-size-xs.multi-month {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 400px), calc(100vw - 24px));
}

.cms-date-panel.cms-size-sm {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 200px), calc(100vw - 24px));
  --cms-date-panel-max-width: min(calc(var(--time-width) + 680px), calc(100vw - 24px));
  --cms-date-panel-padding: 6px;
  --cms-date-panel-gap: 6px;
  --cms-date-nav-size: 26px;
  --cms-date-select-height: 24px;
  --cms-date-action-height: 24px;
  --cms-date-action-pad-x: 8px;
  --cms-date-month-min: 230px;
  --cms-date-month-padding: 8px;
  --cms-date-month-title-font: 11px;
  --cms-date-weekday-font: 9px;
  --cms-date-day-height: 24px;
  --cms-date-day-radius: 8px;
  --cms-date-day-font: 10px;
}

.cms-date-panel.cms-size-sm.multi-month {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 480px), calc(100vw - 24px));
}

.cms-date-panel.cms-size-lg {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 320px), calc(100vw - 24px));
  --cms-date-panel-max-width: min(calc(var(--time-width) + 680px), calc(100vw - 24px));
  --cms-date-panel-padding: 10px;
  --cms-date-panel-gap: 9px;
  --cms-date-nav-size: 28px;
  --cms-date-select-height: 28px;
  --cms-date-action-height: 28px;
  --cms-date-action-pad-x: 10px;
  --cms-date-month-min: 230px;
  --cms-date-month-padding: 10px;
  --cms-date-month-title-font: 13px;
  --cms-date-weekday-font: 12px;
  --cms-date-day-height: 34px;
  --cms-date-day-radius: 8px;
  --cms-date-day-font: 12px;
}

.cms-date-panel.cms-size-lg.multi-month {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 640px), calc(100vw - 24px));
}

.cms-date-panel.cms-size-xl {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 360px), calc(100vw - 24px));
  --cms-date-panel-max-width: min(calc(var(--time-width) + 940px), calc(100vw - 24px));
  --cms-date-panel-padding: 14px;
  --cms-date-panel-gap: 14px;
  --cms-date-nav-size: 38px;
  --cms-date-select-height: 38px;
  --cms-date-action-height: 36px;
  --cms-date-action-pad-x: 12px;
  --cms-date-month-min: 300px;
  --cms-date-month-padding: 12px;
  --cms-date-month-title-font: 14px;
  --cms-date-weekday-font: 12px;
  --cms-date-day-height: 42px;
  --cms-date-day-radius: 14px;
  --cms-date-day-font: 15px;
}

.cms-date-panel.cms-size-xl.multi-month {
  --cms-date-panel-min-width: min(calc(var(--time-width) + 780px), calc(100vw - 24px));
}

.cms-date-header {
  display: flex;
  align-items: center;
  gap: calc(var(--cms-date-panel-gap) * 0.66);
}

.cms-date-header-center {
  flex: 1;
  display: flex;
  gap: calc(var(--cms-date-panel-gap) * 0.66);
}

.cms-date-nav,
.cms-date-shortcut,
.cms-date-action,
.cms-date-select {
  border: 1px solid var(--cms-border-color);
  background: rgba(255, 255, 255, 0.04);
  color: var(--cms-text);
  border-radius: var(--cms-r-md);
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.cms-date-nav,
.cms-date-shortcut,
.cms-date-action {
  cursor: pointer;
}

.cms-date-nav:hover,
.cms-date-shortcut:hover,
.cms-date-action:hover,
.cms-date-select:hover {
  border-color: rgba(79, 124, 255, 0.45);
  background: rgba(79, 124, 255, 0.1);
}

.cms-date-nav {
  width: var(--cms-date-nav-size);
  height: var(--cms-date-nav-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cms-date-select {
  min-height: var(--cms-date-select-height);
  padding: 0 var(--cms-date-action-pad-x);
  flex: 1;
}

.cms-date-select-year {
  flex: 0 0 92px;
}

.cms-date-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--cms-date-panel-gap) * 0.66);
}

.cms-date-shortcut,
.cms-date-action {
  min-height: var(--cms-date-action-height);
  padding: 0 var(--cms-date-action-pad-x);
}

.cms-date-action.is-primary {
  background: rgba(79, 124, 255, 0.18);
  border-color: rgba(79, 124, 255, 0.4);
}

.cms-date-panel-root .cms-data-time {
  display: grid;
  grid-template-columns: auto;
  gap: var(--cms-date-panel-gap);
}

.has-time .cms-date-panel-root .cms-data-time {
  grid-template-columns: auto var(--time-width, 100px);
}

.has-time .cms-time-columns .cms-time-options .cms-time-option {
  font-size: var(--cms-date-day-font);
  height: var(--cms-date-day-height);
  border-radius: var(--cms-date-day-radius);
}

.has-time .cms-date-time {
  border: 1px solid var(--cms-border-color);
  border-radius: var(--cms-r-lg);
  background: rgba(255, 255, 255, 0.025);
  padding: var(--cms-date-month-padding);
}

.cms-date-months {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--cms-date-month-min), 1fr));
  gap: var(--cms-date-panel-gap);
}

.cms-date-month {
  border: 1px solid var(--cms-border-color);
  border-radius: var(--cms-r-lg);
  background: rgba(255, 255, 255, 0.025);
  padding: var(--cms-date-month-padding);
}

.cms-date-month-title {
  font-size: var(--cms-date-month-title-font);
  font-weight: 700;
  margin-bottom: calc(var(--cms-date-panel-gap) * 0.66);
  text-transform: capitalize;
}

.cms-date-weekdays,
.cms-date-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.cms-date-weekday {
  text-align: center;
  font-size: var(--cms-date-weekday-font);
  color: var(--cms-muted);
  text-transform: uppercase;
  padding: 4px 0;
}

.cms-date-day {
  position: relative;
  min-height: var(--cms-date-day-height);
  border: 1px solid transparent;
  border-radius: var(--cms-date-day-radius);
  background: transparent;
  color: var(--cms-text);
  font-size: var(--cms-date-day-font);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, opacity 140ms ease;
}

.cms-date-day:hover {
  background: rgba(255, 255, 255, 0.06);
}

.cms-date-day.is-outside {
  opacity: 0.55;
}

.cms-date-day.is-disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.cms-date-day.is-today {
  border-color: rgba(79, 124, 255, 0.4);
}

.cms-date-day.is-in-range {
  background: rgba(79, 124, 255, 0.14);
}

.cms-date-day.is-selected,
.cms-date-day.is-range-start,
.cms-date-day.is-range-end {
  background: rgba(79, 124, 255, 0.28);
  border-color: rgba(79, 124, 255, 0.5);
}

.cms-date-day-label {
  line-height: 1;
}

.cms-date-day.has-point .cms-date-day-label {
  transform: translateY(-2px);
}

.cms-date-day-point {
  position: absolute;
  right: var(--cms-date-day-point-right);
  bottom: var(--cms-date-day-point-bottom);
  font-size: 10px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cms-date-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--cms-date-panel-gap);
  padding-top: var(--cms-date-panel-gap);
  border-top: 1px solid var(--cms-border-color);
  flex-wrap: wrap;
}

.cms-date-value {
  font-size: 12px;
  color: var(--cms-muted);
  min-height: 18px;
}

.cms-date-footer-info {
  display: flex;
  flex-direction: column;
  gap: calc(var(--cms-date-panel-gap) * 0.66);
  flex: 1;
  min-width: min(260px, 100%);
}

.cms-date-footer.has-time {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end;
}

.cms-date-footer.has-time .cms-date-footer-info {
  min-width: 0;
}

.cms-date-footer.has-time .cms-date-value {
  align-self: start;
}

.cms-date-footer.has-time .cms-time-section.is-embedded {
  justify-self: end;
}

.cms-date-footer.has-time .cms-date-actions {
  justify-self: end;
}

.cms-date-actions {
  display: flex;
  gap: calc(var(--cms-date-panel-gap) * 0.66);
  flex-wrap: wrap;
}

.cms-time-overlay {
  padding: 0;
}

.cms-time-panel {
  --cms-time-panel-min-width: min(170px, calc(100vw - 24px));
  --cms-time-panel-padding: 10px;
  --cms-time-panel-gap: 10px;
  min-width: var(--cms-time-panel-min-width);
  padding: var(--cms-time-panel-padding);
  display: flex;
  flex-direction: column;
  gap: var(--cms-time-panel-gap);
  color: var(--cms-text);
}

.cms-time-panel.cms-size-xs {
  --cms-time-panel-min-width: min(240px, calc(100vw - 24px));
  --cms-time-panel-padding: 6px;
  --cms-time-panel-gap: 6px;
}

.cms-time-panel.cms-size-sm {
  --cms-time-panel-min-width: min(280px, calc(100vw - 24px));
  --cms-time-panel-padding: 8px;
  --cms-time-panel-gap: 8px;
}

.cms-time-panel.cms-size-lg {
  --cms-time-panel-min-width: min(360px, calc(100vw - 24px));
  --cms-time-panel-padding: 12px;
  --cms-time-panel-gap: 12px;
}

.cms-time-panel.cms-size-xl {
  --cms-time-panel-min-width: min(420px, calc(100vw - 24px));
  --cms-time-panel-padding: 14px;
  --cms-time-panel-gap: 14px;
}

.cms-time-panel-root,
.cms-time-section {
  display: flex;
  flex-direction: column;
  gap: var(--cms-time-panel-gap, 10px);
}

.cms-time-section.is-embedded {
  --cms-time-panel-gap: 8px;
}

.cms-time-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cms-time-shortcut,
.cms-time-action {
  border: 1px solid var(--cms-border-color);
  background: rgba(255, 255, 255, 0.04);
  color: var(--cms-text);
  border-radius: var(--cms-r-md);
  min-height: 30px;
  padding: 0 10px;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.cms-time-shortcut:hover,
.cms-time-action:hover {
  border-color: rgba(79, 124, 255, 0.45);
  background: rgba(79, 124, 255, 0.1);
}

.cms-time-shortcut.is-selected,
.cms-time-action.is-primary {
  background: rgba(79, 124, 255, 0.18);
  border-color: rgba(79, 124, 255, 0.4);
}

.cms-time-columns,
.cms-time-columns-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cms-time-section.has-seconds .cms-time-columns,
.cms-time-header .cms-time-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cms-time-header .cms-time-columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cms-time-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: auto;
  max-height: 200px;
  max-width: 40px;
}

.cms-time-column-title {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--cms-muted);
  letter-spacing: 0.04em;
  text-align: center;
}

.cms-time-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(32px, 1fr));
  gap: 6px;
}

.cms-time-option {
  min-height: 10px;
  border: 1px solid var(--cms-border-color);
  border-radius: var(--cms-r-md);
  background: rgba(255, 255, 255, 0.03);
  color: var(--cms-text);
  position: relative;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease, opacity 140ms ease;
}

.cms-time-option:hover {
  border-color: rgba(79, 124, 255, 0.4);
  background: rgba(79, 124, 255, 0.08);
}

.cms-time-option.is-selected {
  border-color: rgba(79, 124, 255, 0.5);
  background: rgba(79, 124, 255, 0.18);
}

.cms-time-option.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.cms-time-option-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  width: 100%;
  font-weight: 600;
}

.cms-time-option-point {
  position: absolute;
  right: 6px;
  bottom: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
}

.cms-time-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--cms-border-color);
  flex-wrap: wrap;
}

.cms-time-value {
  font-size: 12px;
  color: var(--cms-muted);
  min-height: 18px;
}

.cms-time-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

@media (max-width: 640px) {
  .cms-date-panel {
    min-width: min(100vw - 16px, 100%);
    padding: 10px;
  }

  .cms-date-header {
    flex-wrap: wrap;
  }

  .cms-date-header-center {
    order: 3;
    width: 100%;
  }

  .cms-date-months {
    grid-template-columns: 1fr;
  }

  .cms-date-footer.has-time {
    grid-template-columns: 1fr;
  }

  .cms-date-footer.has-time .cms-time-section.is-embedded,
  .cms-date-footer.has-time .cms-date-actions {
    justify-self: stretch;
  }

  .cms-time-panel {
    min-width: min(100vw - 16px, 100%);
  }

  .cms-time-columns,
  .cms-time-section.has-seconds .cms-time-columns {
    grid-template-columns: 1fr;
  }
}

.cms-select-empty {
  padding: 10px 12px;
  color: var(--cms-muted);
  font-size: 13px;
}

.cms-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--cms-b-radius-default);
}

.cms-card>.cms-card-identifier {
  position: absolute;
  top: 0;
  left: var(--cms-s-lg);
  z-index: 2;
  padding: 4px 12px;
  background-color: color-mix(in srgb, var(--cms-panel) 72%, transparent);
  border-radius: 0 0 var(--cms-r-md) var(--cms-r-md);
  backdrop-filter: blur(10px);
}

.cms-card.cms-card-has-identifier:not(.cms-card-has-top-visual)>.cms-card-header:first-of-type {
  padding-top: calc(var(--cms-s-lg) + 26px);
}

.cms-card-cover {
  position: relative;
  min-height: var(--cms-card-cover-height, 180px);
  border-bottom: 1px solid var(--cms-border-color);
  overflow: hidden;
}

.cms-card-cover>* {
  width: 100%;
}

.cms-card-cover .cms-card-cover-media,
.cms-card-cover>img,
.cms-card-cover>picture,
.cms-card-cover>video,
.cms-card-cover>iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-card-media {
  padding: var(--cms-s-lg);
  border-bottom: 1px solid var(--cms-border-color);
}

.cms-card-header {
  padding: var(--cms-s-lg);
  border-bottom: 1px solid var(--cms-border-color);
  display: flex;
  align-items: stretch;
  gap: var(--cms-s-lg);
  margin-top: 20px;
}

.cms-card-head {
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-md);
  width: 100%;
  min-width: 0;
}

.cms-card-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--cms-r-lg);
  background: color-mix(in srgb, var(--cms-border-color) 55%, transparent);
}

.cms-card-head-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cms-card-eyebrow {
  color: var(--cms-muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cms-card-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}

.cms-card-subtitle,
.cms-card-header-content {
  color: var(--cms-muted);
  line-height: 1.5;
}

.cms-card-aside {
  display: flex;
  align-items: center;
  gap: var(--cms-s-sm);
  margin-left: auto;
  flex-shrink: 0;
}

.cms-card-body {
  padding: var(--cms-s-lg);
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-md);
  min-width: 0;
}

.cms-card-footer {
  padding: var(--cms-s-md) var(--cms-s-lg);
  border-top: 1px solid var(--cms-border-color);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--cms-s-md);
  flex-wrap: wrap;
}

.cms-card-actions {
  display: flex;
  gap: 10px;
  margin-left: auto;
  flex-wrap: wrap;
}

.cms-card>.cms-card-cover:last-child,
.cms-card>.cms-card-media:last-child,
.cms-card>.cms-card-header:last-child {
  border-bottom: 0;
}

.cms-card-dense .cms-card-cover {
  min-height: var(--cms-card-cover-height, 140px);
}

.cms-card.cms-card-dense.cms-card-has-identifier:not(.cms-card-has-top-visual)>.cms-card-header:first-of-type {
  padding-top: calc(var(--cms-s-md) + 24px);
}

.cms-card-dense .cms-card-header,
.cms-card-dense .cms-card-media,
.cms-card-dense .cms-card-body,
.cms-card-dense .cms-card-footer {
  padding: var(--cms-s-md);
}

.cms-card-dense .cms-card-head {
  gap: var(--cms-s-sm);
}

.cms-card-dense .cms-card-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
}

.cms-card-dense .cms-card-title {
  font-size: 16px;
}

.cms-card-flat {
  box-shadow: none;
}

.cms-card-clickable {
  cursor: pointer;
}

.cms-card-clickable:hover {
  background: rgba(255, 255, 255, 0.03);
}

.cms-stat,
.cms-kpi {
  --cms-metric-accent: color-mix(in srgb, var(--cms-border-color) 70%, white);
  --cms-metric-bg: color-mix(in srgb, var(--cms-panel) 88%, white 4%);
  --cms-metric-border: var(--cms-border-color);
  --cms-metric-color: inherit;
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-md);
  width: 100%;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--cms-metric-border);
  border-radius: var(--set-border-radius, var(--cms-r-lg));
  background: var(--cms-metric-bg);
  color: var(--cms-metric-color);
  box-shadow: var(--cms-shadow-sm);
}

.cms-stat-head,
.cms-kpi-head,
.cms-stat-footer,
.cms-kpi-footer {
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-sm);
}

.cms-stat-lead,
.cms-kpi-title-wrap {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-sm);
}

.cms-stat-copy,
.cms-kpi-copy,
.cms-stat-body,
.cms-kpi-core {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cms-stat-icon,
.cms-kpi-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--cms-metric-accent);
  background: color-mix(in srgb, var(--cms-metric-accent) 14%, transparent);
}

.cms-stat-eyebrow,
.cms-kpi-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, currentColor 60%, transparent);
}

.cms-stat-label,
.cms-kpi-title {
  font-weight: 700;
  line-height: 1.25;
}

.cms-stat-aside,
.cms-kpi-aside {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cms-stat-value,
.cms-kpi-value {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.cms-stat-delta,
.cms-kpi-delta {
  font-weight: 700;
}

.cms-stat-note,
.cms-stat-meta,
.cms-kpi-note,
.cms-kpi-meta,
.cms-kpi-footer-copy,
.cms-stat-footer-copy {
  color: var(--cms-muted);
}

.cms-stat-extra,
.cms-kpi-extra,
.cms-kpi-media {
  margin-top: 4px;
}

.cms-stat-actions,
.cms-kpi-actions {
  margin-left: auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.cms-stat.is-positive .cms-stat-delta,
.cms-kpi .is-positive,
.cms-kpi.cms-state-success .cms-kpi-delta,
.cms-stat.cms-state-success .cms-stat-delta {
  color: var(--cms-success);
}

.cms-stat.is-negative .cms-stat-delta,
.cms-kpi.cms-state-danger .cms-kpi-delta,
.cms-stat.cms-state-danger .cms-stat-delta,
.cms-kpi.cms-state-warning .cms-kpi-delta {
  color: var(--cms-danger);
}

.cms-stat.is-neutral .cms-stat-delta {
  color: var(--cms-muted);
}

.cms-kpi {
  gap: var(--cms-s-lg);
  padding: 18px 18px 16px;
}

.cms-kpi-value-wrap {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.cms-stat.cms-state-success,
.cms-kpi.cms-state-success {
  --cms-metric-accent: var(--cms-success);
  --cms-metric-border: color-mix(in srgb, var(--cms-success) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-success-soft);
}

.cms-stat.cms-state-warning,
.cms-kpi.cms-state-warning {
  --cms-metric-accent: var(--cms-warning);
  --cms-metric-border: color-mix(in srgb, var(--cms-warning) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-warning-soft);
}

.cms-stat.cms-state-danger,
.cms-kpi.cms-state-danger {
  --cms-metric-accent: var(--cms-danger);
  --cms-metric-border: color-mix(in srgb, var(--cms-danger) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-danger-soft);
}

.cms-stat.cms-state-info,
.cms-kpi.cms-state-info {
  --cms-metric-accent: var(--cms-info);
  --cms-metric-border: color-mix(in srgb, var(--cms-info) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-info-soft);
}

.cms-stat.cms-state-primary,
.cms-kpi.cms-state-primary {
  --cms-metric-accent: var(--cms-primary);
  --cms-metric-border: color-mix(in srgb, var(--cms-primary) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-primary-soft);
}

.cms-stat.cms-state-secondary,
.cms-kpi.cms-state-secondary {
  --cms-metric-accent: var(--cms-secondary);
  --cms-metric-border: color-mix(in srgb, var(--cms-secondary) 32%, var(--cms-border-color));
  --cms-metric-bg: var(--cms-secondary-soft);
}

.cms-parallax {
  position: relative;
  overflow: hidden;
  min-height: var(--cms-parallax-min-height, var(--cms-parallax-height, 220px));
  height: var(--cms-parallax-height, 220px);
  border-radius: var(--set-border-radius, var(--cms-r-lg));
  border: 1px solid var(--cms-border-color);
  isolation: isolate;
  background: rgba(8, 12, 20, 0.18);
}

.cms-parallax-bg {
  position: absolute;
  inset: -12%;
  transform: translate3d(0, var(--cms-parallax-offset, 0px), 0) scale(1.06);
  will-change: transform;
  z-index: 0;
}

.cms-parallax-bg::before,
.cms-parallax-bg::after {
  content: "";
  position: absolute;
  inset: 0;
}

.cms-parallax-bg::before {
  background-image: var(--cms-parallax-image, linear-gradient(120deg, #1b2c5a, #2f6d8f, #2a8f5c));
  background-size: var(--cms-parallax-size, cover);
  background-position: var(--cms-parallax-position, center);
  background-repeat: var(--cms-parallax-repeat, no-repeat);
}

.cms-parallax-bg::after {
  background: var(--cms-parallax-overlay, linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.58)));
}

.cms-parallax-bg-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: var(--cms-parallax-padding, var(--cms-s-lg));
  box-sizing: border-box;
}

.cms-parallax-content {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: inherit;
  padding: var(--cms-parallax-padding, var(--cms-s-lg));
  display: flex;
  flex-direction: column;
  justify-content: var(--cms-parallax-justify, flex-end);
  align-items: var(--cms-parallax-align, flex-start);
  gap: var(--cms-parallax-gap, 18px);
  color: var(--cms-parallax-color, #fff);
  box-sizing: border-box;
}

.cms-parallax-badge,
.cms-parallax-header,
.cms-parallax-media,
.cms-parallax-body,
.cms-parallax-footer {
  width: min(100%, var(--cms-parallax-content-max-width, 760px));
}

.cms-parallax-badge {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-self: flex-start;
}

.cms-parallax-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.cms-parallax-head-main {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 320px;
  min-width: 0;
}

.cms-parallax-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.82;
}

.cms-parallax-title {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.cms-parallax-subtitle {
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.55;
  opacity: 0.94;
  max-width: 72ch;
}

.cms-parallax-header-content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cms-parallax-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.cms-parallax-media,
.cms-parallax-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cms-parallax-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.cms-parallax-footer-content,
.cms-parallax-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cms-parallax-static .cms-parallax-bg {
  transform: translate3d(0, 0, 0) scale(1.03);
}

.cms-toast-layer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}

.cms-toast-wrap {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: min(420px, calc(100vw - 24px));
  pointer-events: none;
}

.cms-toast-wrap.is-top-left {
  top: 14px;
  left: 14px;
}

.cms-toast-wrap.is-top-center {
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
}

.cms-toast-wrap.is-top-right {
  top: 14px;
  right: 14px;
}

.cms-toast-wrap.is-bottom-left {
  left: 14px;
  bottom: 14px;
}

.cms-toast-wrap.is-bottom-center {
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
}

.cms-toast-wrap.is-bottom-right {
  right: 14px;
  bottom: 14px;
}

.cms-toast {
  --cms-toast-accent: var(--cms-info);
  --cms-toast-bg: color-mix(in srgb, var(--cms-panel) 90%, var(--cms-toast-accent) 10%);
  --cms-toast-border: color-mix(in srgb, var(--cms-toast-accent) 34%, var(--cms-border-color));
  --cms-toast-title-color: var(--cms-text);
  --cms-toast-message-color: var(--cms-text-2);
  --cms-toast-meta-color: var(--cms-text-3);
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  min-width: 0;
  padding: 16px;
  border-radius: var(--cms-r-lg);
  border: 1px solid var(--cms-toast-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, white 3%, transparent), transparent 28%),
    var(--cms-toast-bg);
  box-shadow: var(--cms-shadow-md);
  backdrop-filter: blur(12px);
  pointer-events: auto;
  color: var(--cms-toast-title-color);
  overflow: hidden;
}

.cms-toast::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, color-mix(in srgb, white 12%, var(--cms-toast-accent)), var(--cms-toast-accent));
}

.cms-toast-soft {
  --cms-toast-bg: color-mix(in srgb, var(--cms-panel) 90%, var(--cms-toast-accent) 10%);
}

.cms-toast-outline {
  --cms-toast-bg: color-mix(in srgb, var(--cms-panel) 96%, var(--cms-toast-accent) 4%);
  --cms-toast-border: color-mix(in srgb, var(--cms-toast-accent) 48%, var(--cms-border-color));
}

.cms-toast-solid {
  --cms-toast-bg: color-mix(in srgb, var(--cms-panel) 70%, var(--cms-toast-accent) 30%);
  --cms-toast-border: color-mix(in srgb, var(--cms-toast-accent) 64%, var(--cms-border-color));
  --cms-toast-message-color: color-mix(in srgb, var(--cms-text) 82%, var(--cms-toast-accent));
}

.cms-toast-success {
  --cms-toast-accent: var(--cms-success);
}

.cms-toast-warning {
  --cms-toast-accent: var(--cms-warning);
}

.cms-toast-danger {
  --cms-toast-accent: var(--cms-danger);
}

.cms-toast-info {
  --cms-toast-accent: var(--cms-info);
}

.cms-toast-primary {
  --cms-toast-accent: var(--cms-primary);
}

.cms-toast-secondary {
  --cms-toast-accent: var(--cms-secondary);
}

.cms-toast-light {
  --cms-toast-accent: var(--cms-light);
}

.cms-toast-dark {
  --cms-toast-accent: var(--cms-dark);
}

.cms-toast-icon,
.cms-toast-dismiss {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.cms-toast-icon {
  color: color-mix(in srgb, var(--cms-toast-accent) 75%, white);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-toast-accent) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--cms-toast-accent) 32%, transparent);
  align-items: center;
  justify-content: center;
  padding-top: 0;
  box-shadow: inset 0 1px 0 color-mix(in srgb, white 10%, transparent);
}

.cms-toast-main,
.cms-toast-copy,
.cms-toast-actions,
.cms-toast-meta {
  display: flex;
  flex-direction: column;
}

.cms-toast-main,
.cms-toast-copy {
  gap: 10px;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.cms-toast-title {
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--cms-toast-title-color);
}

.cms-toast-message,
.cms-toast-description,
.cms-toast-body {
  line-height: 1.45;
  color: var(--cms-toast-message-color);
}

.cms-toast-message {
  font-size: 0.98rem;
}

.cms-toast-description {
  color: var(--cms-toast-meta-color);
  font-size: 0.95em;
}

.cms-toast-meta {
  gap: 8px;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  color: var(--cms-toast-meta-color);
}

.cms-toast-actions {
  gap: 10px;
  margin-top: 4px;
}

.cms-toast-actions .cms-btn {
  width: 100%;
  justify-content: center;
}

.cms-toast-close {
  min-width: auto;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 10px;
  opacity: 0.88;
}

.cms-toast-close:hover {
  opacity: 1;
}

.cms-toast-body> :first-child,
.cms-toast-meta> :first-child,
.cms-toast-actions> :first-child {
  margin-top: 0;
}

.cms-toast-body> :last-child,
.cms-toast-meta> :last-child,
.cms-toast-actions> :last-child {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  .cms-toast-wrap {
    width: calc(100vw - 18px);
  }

  .cms-toast-wrap.is-top-left,
  .cms-toast-wrap.is-top-center,
  .cms-toast-wrap.is-top-right {
    top: 9px;
    left: 9px;
    right: 9px;
    transform: none;
  }

  .cms-toast-wrap.is-bottom-left,
  .cms-toast-wrap.is-bottom-center,
  .cms-toast-wrap.is-bottom-right {
    bottom: 9px;
    left: 9px;
    right: 9px;
    transform: none;
  }

  .cms-toast {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px;
  }

  .cms-toast-icon {
    width: 36px;
    height: 36px;
  }
}

.cms-table-card .cms-card-body {
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-md);
}

.cms-table-shell {
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-md);
}

.cms-table-lead,
.cms-table-caption {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cms-table-caption {
  color: var(--cms-muted);
  font-size: 13px;
}

.cms-table-toolbar,
.cms-table-status,
.cms-table-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cms-s-md);
  flex-wrap: wrap;
}

.cms-table-toolbar-main,
.cms-table-toolbar-side,
.cms-table-foot-main,
.cms-table-foot-extra,
.cms-table-pager {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cms-table-wrap,
.cms-table-search,
.cms-table-chip {
  --set-border-color: color-mix(in srgb, var(--cms-border-color) 85%, rgba(255, 255, 255, 0.04));
  --set-background-color: color-mix(in srgb, var(--cms-panel) 92%, transparent);
  --set-color: var(--cms-text);
  --set-hover: color-mix(in srgb, var(--cms-panel) 78%, white 8%);

  --set-shadow-active: inset 0 1px 0 color-mix(in srgb, white 5%, transparent);
}

.cms-table-wrap {
  --set-glossy-active: linear-gradient(180deg, color-mix(in srgb, white 3%, transparent), color-mix(in srgb, black 6%, transparent));
}

.cms-table-search {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: min(100%, 320px);
  padding: 4px 4px 4px 10px;
  border-style: solid;
  border-width: 1px;
  border-radius: var(--set-border-radius, calc(var(--cms-r-lg) + 2px));
}

.cms-table-search-icon {
  color: var(--cms-muted);
  font-size: 13px;
}

.cms-table-search .cms-input {
  min-width: 220px;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-table-search-clear {
  min-width: auto;
}

.cms-table-wrap {
  overflow: auto;
  border-style: solid;
  border-width: 1px;
  border-color: var(--set-border-color);
  border-radius: var(--set-border-radius, calc(var(--cms-r-lg) + 2px));
}

.cms-table {
  width: 100%;
  min-width: var(--cms-table-min-width, 100%);
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

.cms-table th,
.cms-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  text-align: left;
  vertical-align: middle;
  white-space: normal;
}

.cms-table.dense th,
.cms-table.dense td {
  padding: 10px 12px;
}

.cms-table th.is-nowrap,
.cms-table td.is-nowrap,
.cms-table-head-actions,
.cms-table-cell-actions {
  white-space: nowrap;
}

.cms-table thead th {
  background: var(--set-color-1);
  font-weight: 700;
}

.cms-table.sticky-head thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(12px);
}

.cms-table.striped tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.015);
}

.cms-table.hover tbody tr:hover {
  background: rgba(255, 255, 255, 0.045);
}

.cms-table-row.is-clickable {
  cursor: pointer;
}

.cms-table-head-cell {
  user-select: none;
}

.cms-table-head-button {
  all: unset;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  color: inherit;
}

.cms-table-head-label {
  min-width: 0;
}

.cms-table-head-arrow {
  opacity: 0.62;
  font-size: 12px;
  line-height: 1;
}

.cms-table-head-cell.is-sorted .cms-table-head-arrow,
.cms-table-head-button:hover .cms-table-head-arrow {
  opacity: 1;
}

.cms-table-state {
  padding: 28px 16px !important;
  text-align: center;
  color: var(--cms-muted);
}

.cms-table-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-style: solid;
  border-width: 1px;
  border-radius: 999px;
  color: var(--cms-muted);
  font-size: 12px;
  line-height: 1.2;
}

.cms-table-size {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cms-muted);
  font-size: 12px;
}

.cms-table-size-select {
  min-width: 86px;
}

.cms-table-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

@media (max-width: 768px) {

  .cms-table-toolbar,
  .cms-table-foot {
    align-items: stretch;
  }

  .cms-table-toolbar-main,
  .cms-table-toolbar-side,
  .cms-table-foot-main,
  .cms-table-foot-extra,
  .cms-table-status {
    width: 100%;
  }

  .cms-table-search {
    width: 100%;
  }

  .cms-table-search .cms-input {
    min-width: 0;
  }

  .cms-table th,
  .cms-table td {
    padding: 12px;
  }
}

.cms-dialog-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 14px;
}

.cms-dialog {
  --cms-dialog-accent: var(--cms-primary);
  --cms-dialog-border: color-mix(in srgb, var(--cms-dialog-accent) 22%, var(--cms-border-color));
  --cms-dialog-soft: color-mix(in srgb, var(--cms-dialog-accent) 14%, transparent);
  --cms-dialog-width: min(560px, 100%);
  --cms-dialog-min-width: 320px;
  --cms-dialog-max-width: calc(100vw - 32px);
  --cms-dialog-max-height: calc(100vh - 32px);
  min-width: 320px;
  width: var(--cms-dialog-width);
  min-width: var(--cms-dialog-min-width);
  max-width: var(--cms-dialog-max-width);
  max-height: var(--cms-dialog-max-height);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  gap: var(--cms-s-md);
  padding: var(--cms-s-lg);
  border-radius: calc(var(--set-border-radius, var(--cms-r-lg)) + 2px);
  border: 1px solid var(--cms-dialog-border);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--cms-dialog-soft) 80%, transparent), transparent 44%),
    linear-gradient(180deg, color-mix(in srgb, var(--cms-panel) 96%, var(--cms-dialog-soft)) 0%, var(--cms-panel) 100%);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
  overflow: hidden;
  color: var(--cms-text);
}

.cms-dialog-shell {
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin: calc(var(--cms-s-lg) * -1);
}

.cms-dialog-head,
.cms-dialog-body,
.cms-dialog-actions {
  padding-left: var(--cms-s-lg);
  padding-right: var(--cms-s-lg);
}

.cms-dialog-shell.has-head .cms-dialog-head {
  padding-top: var(--cms-s-lg);
}

.cms-dialog-shell.has-head.with-divider .cms-dialog-head {
  border-bottom: 1px solid color-mix(in srgb, var(--cms-dialog-border) 82%, transparent);
}

.cms-dialog-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.cms-dialog-head-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}

.cms-dialog-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--cms-dialog-accent) 14%, transparent);
  color: var(--cms-dialog-accent);
  border: 1px solid color-mix(in srgb, var(--cms-dialog-accent) 22%, transparent);
  flex: 0 0 auto;
}

.cms-dialog-eyebrow {
  font-size: 11px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cms-dialog-accent);
}

.cms-dialog-title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
}

.cms-dialog-subtitle {
  color: var(--cms-muted);
  line-height: 1.5;
}

.cms-dialog-close-wrap {
  flex: 0 0 auto;
}

.cms-dialog-close {
  min-width: 40px;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 12px;
}

.cms-dialog-body {
  padding-top: var(--cms-s-lg);
  padding-bottom: var(--cms-s-lg);
  overflow: auto;
  min-height: 0;
  line-height: 1.55;
}

.cms-dialog-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cms-s-sm);
  justify-content: flex-end;
  margin-top: 0;
  padding-top: var(--cms-s-md);
  padding-bottom: var(--cms-s-lg);
}

.cms-dialog-shell.has-footer.with-divider .cms-dialog-actions {
  border-top: 1px solid color-mix(in srgb, var(--cms-dialog-border) 82%, transparent);
}

.cms-dialog-actions.is-start {
  justify-content: flex-start;
}

.cms-dialog-actions.is-center {
  justify-content: center;
}

.cms-dialog-actions.is-between {
  justify-content: space-between;
}

.cms-dialog-actions.is-stretch>* {
  flex: 1 1 0;
}

.cms-dialog-actions.is-stacked {
  flex-direction: column;
  align-items: stretch;
}

.cms-dialog.scrollable .cms-dialog-body,
.cms-dialog.sticky-head .cms-dialog-body,
.cms-dialog.sticky-actions .cms-dialog-body {
  flex: 1 1 auto;
  max-height: var(--cms-dialog-body-max-height, min(60vh, 680px));
}

.cms-dialog.sticky-head .cms-dialog-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: color-mix(in srgb, var(--cms-panel) 92%, transparent);
  backdrop-filter: blur(12px);
}

.cms-dialog.sticky-actions .cms-dialog-actions {
  position: sticky;
  bottom: -15px;
  z-index: 2;
  background-color: color-mix(in srgb, var(--set-background-color) 90%, var(--set-color-3));
  backdrop-filter: blur(12px);
}

.cms-dialog.cms-dialog-xs {
  --cms-dialog-width: min(360px, 100%);
}

.cms-dialog.cms-dialog-sm {
  --cms-dialog-width: min(440px, 100%);
}

.cms-dialog.cms-dialog-md {
  --cms-dialog-width: min(560px, 100%);
}

.cms-dialog.cms-dialog-lg {
  --cms-dialog-width: min(720px, 100%);
}

.cms-dialog.cms-dialog-xl {
  --cms-dialog-width: min(920px, 100%);
}

.cms-dialog.cms-dialog-full,
.cms-dialog.fullscreen {
  --cms-dialog-width: var(--cms-dialog-fullscreen-width, 100vw);
  --cms-dialog-max-width: var(--cms-dialog-fullscreen-width, 100vw);
  --cms-dialog-max-height: var(--cms-dialog-fullscreen-height, 100dvh);
  position: fixed;
  inset: 0;
  top: var(--cms-dialog-fullscreen-top, 0px);
  left: var(--cms-dialog-fullscreen-left, 0px);
  right: auto;
  bottom: auto;
  width: var(--cms-dialog-fullscreen-width, 100vw);
  height: var(--cms-dialog-fullscreen-height, 100vh);
  height: var(--cms-dialog-fullscreen-height, 100dvh);
  min-width: 0;
  min-height: var(--cms-dialog-fullscreen-height, 100dvh);
  max-width: var(--cms-dialog-fullscreen-width, 100vw);
  max-height: var(--cms-dialog-fullscreen-height, 100vh);
  max-height: var(--cms-dialog-fullscreen-height, 100dvh);
  margin: 0;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  box-shadow: none;
  overflow: hidden;
  transform: none;
}

.cms-dialog.cms-dialog-full .cms-dialog-shell,
.cms-dialog.fullscreen .cms-dialog-shell {
  flex: 1 1 auto;
}

.cms-dialog.cms-dialog-full .cms-dialog-body,
.cms-dialog.fullscreen .cms-dialog-body {
  flex: 1 1 auto;
}

.cms-overlay-panel.cms-dialog.cms-dialog-full.enter,
.cms-overlay-panel.cms-dialog.cms-dialog-full.entered,
.cms-overlay-panel.cms-dialog.cms-dialog-full.leave,
.cms-overlay-panel.cms-dialog.fullscreen.enter,
.cms-overlay-panel.cms-dialog.fullscreen.entered,
.cms-overlay-panel.cms-dialog.fullscreen.leave {
  transform: none;
}

.cms-overlay.cms-dialog-align-top {
  align-items: flex-start;
  padding-top: 24px;
}

.cms-overlay.cms-dialog-align-bottom {
  align-items: flex-end;
  padding-bottom: 24px;
}

.cms-overlay.cms-dialog-overlay-blur .cms-overlay-backdrop {
  backdrop-filter: blur(10px);
}

.cms-dialog.success,
.cms-dialog.cms-state-success {
  --cms-dialog-accent: var(--cms-success);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.warning,
.cms-dialog.cms-state-warning {
  --cms-dialog-accent: var(--cms-warning);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.error,
.cms-dialog.danger,
.cms-dialog.cms-state-danger {
  --cms-dialog-accent: var(--cms-danger);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.info,
.cms-dialog.cms-state-info {
  --cms-dialog-accent: var(--cms-info);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.primary,
.cms-dialog.cms-state-primary {
  --cms-dialog-accent: var(--cms-primary);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.secondary,
.cms-dialog.cms-state-secondary {
  --cms-dialog-accent: var(--cms-secondary);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.light,
.cms-dialog.cms-state-light {
  --cms-dialog-accent: var(--cms-light);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-dialog.dark,
.cms-dialog.cms-state-dark {
  --cms-dialog-accent: var(--cms-dark);
  --set-background-color: color-mix(in srgb, var(--set-color-3) 10%, var(--cms-theme-color-1));
  --set-text-color: var(--set-color-2);
  --set-color: var(--set-text-color);
}

.cms-popover {
  --cms-dialog-width: min(420px, calc(100vw - 18px));
  --cms-dialog-min-width: 220px;
  --cms-dialog-max-width: min(560px, calc(100vw - 18px));
  --cms-dialog-max-height: min(80vh, calc(100vh - 18px));
  --cms-dialog-body-max-height: min(52vh, 420px);
  padding: var(--cms-s-md);
  border-radius: calc(var(--set-border-radius, var(--cms-r-md)) + 2px);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.cms-popover .cms-dialog-shell {
  margin: calc(var(--cms-s-md) * -1);
}

.cms-popover .cms-dialog-head,
.cms-popover .cms-dialog-body,
.cms-popover .cms-dialog-actions {
  padding-left: var(--cms-s-md);
  padding-right: var(--cms-s-md);
}

.cms-popover .cms-dialog-shell.has-head .cms-dialog-head {
  padding-top: var(--cms-s-md);
}

.cms-popover .cms-dialog-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
}

.cms-popover .cms-dialog-title {
  font-size: 16px;
}

.cms-popover .cms-dialog-subtitle {
  font-size: 13px;
}

.cms-popover .cms-dialog-body {
  padding-top: var(--cms-s-md);
  padding-bottom: var(--cms-s-md);
}

.cms-popover .cms-dialog-actions {
  padding-top: var(--cms-s-sm);
  padding-bottom: var(--cms-s-md);
}

.cms-popover.cms-dialog-xs {
  --cms-dialog-width: min(280px, calc(100vw - 18px));
}

.cms-popover.cms-dialog-sm {
  --cms-dialog-width: min(360px, calc(100vw - 18px));
}

.cms-popover.cms-dialog-md {
  --cms-dialog-width: min(420px, calc(100vw - 18px));
}

.cms-popover.cms-dialog-lg {
  --cms-dialog-width: min(520px, calc(100vw - 18px));
}

.cms-popover.cms-dialog-xl {
  --cms-dialog-width: min(640px, calc(100vw - 18px));
}

.cms-dialog.borderless {
  border-color: transparent;
}

.cms-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 14px;
}

.cms-modal {
  width: min(600px, 100%);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  background: rgba(18, 26, 43, 0.98);
  border-radius: var(--cms-r-lg);
  border: 1px solid var(--cms-border-color);
  box-shadow: var(--cms-shadow-sm);
}

.cms-modal-header {
  padding: var(--cms-s-md) var(--cms-s-lg);
  display: flex;
  align-items: center;
  gap: var(--cms-s-md);
  border-bottom: 1px solid var(--cms-border-color);
}

.cms-modal-title {
  font-weight: 700;
  font-size: 16px;
}

.cms-modal-body {
  padding: var(--cms-s-lg);
  overflow: auto;
}

.cms-modal-actions {
  padding: var(--cms-s-md) var(--cms-s-lg);
  border-top: 1px solid var(--cms-border-color);
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.cms-modal-backdrop.closing,
.cms-modal-backdrop.close {
  background-color: transparent;
  pointer-events: none;
}

.cms-modal-backdrop.close {
  display: none;
}

.cms-dialog h3 {
  margin: 0 0 6px 0;
  font-size: 18px;
}

.cms-dialog p {
  margin: 0 0 14px 0;
  color: var(--cms-muted);
}

.cms-dialog-input {
  width: 100%;
  margin-top: 8px;
}

@media (max-width: 640px) {
  .cms-dialog {
    --cms-dialog-max-width: calc(100vw - 18px);
    --cms-dialog-max-height: calc(100vh - 18px);
    --cms-dialog-min-width: 0px;
    padding: var(--cms-s-md);
  }

  .cms-dialog-shell {
    margin: calc(var(--cms-s-md) * -1);
  }

  .cms-dialog-head,
  .cms-dialog-body,
  .cms-dialog-actions {
    padding-left: var(--cms-s-md);
    padding-right: var(--cms-s-md);
  }

  .cms-dialog-shell.has-head .cms-dialog-head {
    padding-top: var(--cms-s-md);
  }

  .cms-dialog-body {
    padding-top: var(--cms-s-md);
    padding-bottom: var(--cms-s-md);
  }

  .cms-dialog-actions {
    padding-bottom: var(--cms-s-md);
  }

  .cms-dialog-actions>* {
    flex: 1 1 100%;
  }
}

.cms-grid {
  --cms-grid-gap: var(--cms-s-md);
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: var(--cms-grid-gap);
}

.cms-grid.dense {
  grid-auto-flow: dense;
}

.cms-grid.cms-grid-inline {
  display: inline-grid;
}

.cms-grid.cms-grid-debug>* {
  outline: 1px dashed color-mix(in srgb, var(--cms-primary, #3b82f6) 35%, transparent);
  outline-offset: -1px;
}

.cms-grid>.cms-grid-col {
  min-width: 0;
  grid-column: var(--cms-grid-col-base, auto);
  box-sizing: border-box;
}

.cms-grid-col-stack {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.cms-grid-col-inline {
  display: inline-flex;
}

.cms-grid-col-start,
.cms-grid-col-body,
.cms-grid-col-end {
  min-width: 0;
}

.cms-grid-col-center {
  text-align: center;
}

@media (min-width: 600px) {
  .cms-grid>.cms-grid-col {
    grid-column: var(--cms-grid-col-sm, var(--cms-grid-col-base, auto));
  }
}

@media (min-width: 900px) {
  .cms-grid>.cms-grid-col {
    grid-column: var(--cms-grid-col-md, var(--cms-grid-col-sm, var(--cms-grid-col-base, auto)));
  }
}

@media (min-width: 1200px) {
  .cms-grid>.cms-grid-col {
    grid-column: var(--cms-grid-col-lg, var(--cms-grid-col-md, var(--cms-grid-col-sm, var(--cms-grid-col-base, auto))));
  }
}

.cms-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin: -3px 2px 0 2px;
  box-sizing: border-box;
  width: var(--set-icon-size, 20px);
  height: var(--set-icon-size, 20px);
  font-size: var(--set-icon-size);
}

.cms-icon.material-icons {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.cms-icon.material-icons-fill {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

.cms-icon>svg {
  display: inline-block;
  width: var(--set-icon-size, 20px);
  height: var(--set-icon-size, 20px);
  stroke-width: var(--cms-icon-stroke-width, 0.1rem);
  stroke: currentColor;
  fill: none;
}

.cms-scroll-locked {
  overflow: hidden;
}

.cms-t-center {
  text-align: center;
}

.cms-t-right {
  text-align: right;
}

.cms-t-left {
  text-align: left;
}

.cms-t-justify {
  text-align: justify;
}

/* =============================
   Common component utilities
   ============================= */
.cms-r-none {
  border-radius: 0;
}

.cms-btn.cms-size-xxs {
  padding: 1px 1px;
  font-size: var(--cms-font-size-xxs);
}

.cms-btn.cms-size-xs {
  padding: 4px 6px;
  font-size: var(--cms-font-size-xs);
}

.cms-btn.cms-size-sm {
  padding: 6px 10px;
  font-size: var(--cms-font-size-sm);
}

.cms-btn.cms-size-md {
  padding: 10px 14px;
  font-size: var(--cms-font-size-md);
}

.cms-btn.cms-size-lg {
  padding: 12px 18px;
  font-size: var(--cms-font-size-lg);
}

.cms-btn.cms-size-xl {
  padding: 14px 22px;
  font-size: var(--cms-font-size-xl);
}

.cms-btn.cms-size-xxl {
  padding: 18px 26px;
  font-size: var(--cms-font-size-xxl);
}

.cms-btn.cms-size-xxxl {
  padding: 22px 30px;
  font-size: var(--cms-font-size-xxxl);
}

.cms-banner {
  --cms-banner-bg: color-mix(in srgb, var(--cms-panel) 88%, white 4%);
  --cms-banner-border: var(--cms-border-color);
  --cms-banner-color: inherit;
  --cms-banner-accent: color-mix(in srgb, var(--cms-border-color) 65%, white);
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-md);
  width: 100%;
  min-width: 0;
  padding: 10px 14px;
  font-size: var(--cms-font-size, 14px);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--cms-banner-border);
  border-radius: var(--set-border-radius, var(--cms-r-md));
  background: var(--cms-banner-bg);
  color: var(--cms-banner-color);
}

.cms-banner::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--cms-banner-accent);
  opacity: 0.95;
}

.cms-banner-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-banner-accent) 16%, transparent);
  color: var(--cms-banner-accent);
  flex-shrink: 0;
}

.cms-banner-body {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-sm);
}

.cms-banner-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cms-banner-title {
  font-weight: 700;
  line-height: 1.25;
}

.cms-banner-message {
  line-height: 1.45;
}

.cms-banner-description,
.cms-banner-meta {
  line-height: 1.45;
  color: color-mix(in srgb, currentColor 72%, transparent);
}

.cms-banner-extra {
  display: flex;
  flex-direction: column;
  gap: var(--cms-s-sm);
}

.cms-banner-actions,
.cms-banner-side {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cms-banner-side {
  margin-left: auto;
  justify-content: flex-end;
  align-items: flex-start;
  flex-shrink: 0;
}

.cms-banner-actions .cms-btn,
.cms-banner-side .cms-btn {
  margin: 0;
}

.cms-banner-close {
  min-width: 34px;
  padding-left: 7px;
  padding-right: 7px;
}

.cms-banner.cms-banner-actions-bottom .cms-banner-side {
  align-self: stretch;
}

.cms-banner.cms-banner-actions-bottom .cms-banner-side .cms-banner-actions {
  width: 100%;
}

.cms-banner.cms-banner-stack {
  flex-direction: column;
}

.cms-banner.cms-banner-stack::before {
  inset: 0 0 auto 0;
  width: auto;
  height: 4px;
}

.cms-banner.cms-banner-stack .cms-banner-side {
  margin-left: 0;
  width: 100%;
  justify-content: space-between;
}

.cms-banner.cms-banner-outline {
  --cms-banner-bg: transparent;
  --cms-banner-border: color-mix(in srgb, var(--cms-banner-accent) 42%, var(--cms-border-color));
}

.cms-banner.cms-dense {
  gap: var(--cms-s-sm);
  padding: 8px 10px;
}

.cms-banner.cms-dense .cms-banner-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
}

.cms-banner.cms-banner-ghost {
  --cms-banner-bg: color-mix(in srgb, var(--cms-banner-accent) 10%, transparent);
  --cms-banner-border: transparent;
}

.cms-banner.cms-banner-solid {
  --cms-banner-bg: var(--cms-banner-accent);
  --cms-banner-border: color-mix(in srgb, var(--cms-banner-accent) 84%, black);
  --cms-banner-color: var(--cms-banner-solid-text, #fff);
}

.cms-banner.cms-banner-solid .cms-banner-icon {
  background: color-mix(in srgb, var(--cms-banner-color) 14%, transparent);
  color: var(--cms-banner-color);
}

.cms-banner.cms-size-xxs {
  padding: 6px 10px;
  font-size: 11px;
}

.cms-banner.cms-size-xs {
  padding: 7px 11px;
  font-size: 12px;
}

.cms-banner.cms-size-sm {
  padding: 8px 12px;
  font-size: 13px;
}

.cms-banner.cms-size-md {
  padding: 10px 14px;
  font-size: 14px;
}

.cms-banner.cms-size-lg {
  padding: 12px 16px;
  font-size: 15px;
}

.cms-banner.cms-size-xl {
  padding: 14px 18px;
  font-size: 16px;
}

.cms-banner.cms-size-xxl {
  padding: 16px 20px;
  font-size: 17px;
}

.cms-toolbar.cms-size-sm {
  padding: 6px 10px;
}

.cms-toolbar.cms-size-md {
  padding: 10px 12px;
}

.cms-toolbar.cms-size-lg {
  padding: 12px 16px;
}

.cms-avatar {
  --set-border-width: 1px;
  --set-border-color: color-mix(in srgb, var(--cms-border-color) 80%, transparent);
  --set-background-color: color-mix(in srgb, var(--cms-primary-100) 72%, white);
  --set-color: var(--cms-primary-800);
  --set-border-radius: 999px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 4px;
  box-sizing: border-box;
  border-style: solid;
  border-width: var(--set-border-width);
  vertical-align: middle;
  isolation: isolate;
  overflow: visible;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  user-select: none;
}

.cms-avatar.elevated {
  --set-shadow-active: var(--cms-shadow-md);
}

.cms-avatar.cms-avatar-square {
  --set-border-radius: 14px;
}

.cms-avatar-body {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cms-avatar-media,
.cms-avatar-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
}

.cms-avatar-media {
  background: color-mix(in srgb, var(--set-background-color) 12%, transparent);
}

.cms-avatar-fallback {
  padding: 12%;
  text-align: center;
}

.cms-avatar-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cms-avatar-anchor {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  min-height: 14px;
}

.cms-avatar-anchor .cms-chip,
.cms-avatar-anchor .cms-badge,
.cms-avatar-anchor .cms-btn {
  margin: 0;
}

.cms-avatar-anchor-top-left {
  top: 0;
  left: 0;
  transform: translate(-18%, -18%);
}

.cms-avatar-anchor-top-right {
  top: 0;
  right: 0;
  transform: translate(18%, -18%);
}

.cms-avatar-anchor-bottom-left {
  bottom: 0;
  left: 0;
  transform: translate(-18%, 18%);
}

.cms-avatar-anchor-bottom-right {
  right: 0;
  bottom: 0;
  transform: translate(18%, 18%);
}

.cms-avatar-badge,
.cms-avatar-status {
  border-radius: 999px;
  border: 2px solid var(--cms-background, #fff);
  box-shadow: var(--cms-shadow-sm);
}

.cms-avatar-badge {
  min-width: 16px;
  min-height: 16px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cms-danger);
  color: var(--cms-danger-text);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.cms-avatar-status {
  width: 12px;
  height: 12px;
  display: inline-flex;
  background: var(--set-background-color, var(--cms-success));
}

.cms-avatar-status.cms-state-light {
  background: var(--cms-light);
}

.cms-avatar-status.cms-state-dark {
  background: var(--cms-dark);
}

.cms-avatar.cms-size-xxs {
  width: 20px;
  height: 20px;
  font-size: 10px;
}

.cms-avatar.cms-size-xs {
  width: 24px;
  height: 24px;
  font-size: 11px;
}

.cms-avatar.cms-size-sm {
  width: 32px;
  height: 32px;
  font-size: 12px;
}

.cms-avatar.cms-size-md {
  width: 40px;
  height: 40px;
  font-size: 13px;
}

.cms-avatar.cms-size-lg {
  width: 56px;
  height: 56px;
  font-size: 14px;
}

.cms-avatar.cms-size-xl {
  width: 72px;
  height: 72px;
  font-size: 16px;
}

.cms-avatar.cms-size-xxl {
  width: 88px;
  height: 88px;
  font-size: 20px;
}

.cms-banner.success,
.cms-banner.cms-state-success {
  --cms-banner-accent: var(--cms-success);
  --cms-banner-border: color-mix(in srgb, var(--cms-success) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-success-soft);
  --cms-banner-color: var(--cms-success-text);
  --cms-banner-solid-text: var(--cms-success-text);
}

.cms-banner.warning,
.cms-banner.cms-state-warning {
  --cms-banner-accent: var(--cms-warning);
  --cms-banner-border: color-mix(in srgb, var(--cms-warning) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-warning-soft);
  --cms-banner-color: var(--cms-warning-text);
  --cms-banner-solid-text: var(--cms-warning-text);
}

.cms-banner.error,
.cms-banner.danger,
.cms-banner.cms-state-danger {
  --cms-banner-accent: var(--cms-danger);
  --cms-banner-border: color-mix(in srgb, var(--cms-danger) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-danger-soft);
  --cms-banner-color: var(--cms-danger-text);
  --cms-banner-solid-text: var(--cms-danger-text);
}

.cms-banner.info,
.cms-banner.cms-state-info {
  --cms-banner-accent: var(--cms-info);
  --cms-banner-border: color-mix(in srgb, var(--cms-info) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-info-soft);
  --cms-banner-color: var(--cms-info-text);
  --cms-banner-solid-text: var(--cms-info-text);
}

.cms-banner.primary,
.cms-banner.cms-state-primary {
  --cms-banner-accent: var(--cms-primary);
  --cms-banner-border: color-mix(in srgb, var(--cms-primary) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-primary-soft);
  --cms-banner-color: var(--cms-primary-text);
  --cms-banner-solid-text: var(--cms-primary-text);
}

.cms-banner.secondary,
.cms-banner.cms-state-secondary {
  --cms-banner-accent: var(--cms-secondary);
  --cms-banner-border: color-mix(in srgb, var(--cms-secondary) 32%, var(--cms-border-color));
  --cms-banner-bg: var(--cms-secondary-soft);
  --cms-banner-color: var(--cms-secondary-text);
  --cms-banner-solid-text: var(--cms-secondary-text);
}

.cms-banner.light,
.cms-banner.cms-state-light {
  --cms-banner-accent: var(--cms-light);
  --cms-banner-border: color-mix(in srgb, var(--cms-light) 70%, var(--cms-border-color));
  --cms-banner-bg: color-mix(in srgb, var(--cms-light) 18%, var(--cms-panel));
  --cms-banner-color: var(--cms-light-text);
  --cms-banner-solid-text: var(--cms-light-text);
}

.cms-banner.dark,
.cms-banner.cms-state-dark {
  --cms-banner-accent: var(--cms-dark);
  --cms-banner-border: color-mix(in srgb, var(--cms-dark) 52%, var(--cms-border-color));
  --cms-banner-bg: color-mix(in srgb, var(--cms-dark) 18%, var(--cms-panel));
  --cms-banner-color: var(--cms-dark-text);
  --cms-banner-solid-text: var(--cms-dark-text);
}

.cms-alert {
  --cms-alert-accent: color-mix(in srgb, var(--cms-border-color) 70%, white);
  --cms-alert-bg: color-mix(in srgb, var(--cms-panel) 92%, white 4%);
  --cms-alert-border: var(--cms-border-color);
  display: flex;
  align-items: flex-start;
  gap: var(--cms-s-sm);
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  position: relative;
}

.cms-alert::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--cms-alert-accent);
}

.cms-alert-body {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cms-alert-title {
  font-weight: 700;
  line-height: 1.25;
}

.cms-alert-message,
.cms-alert-description,
.cms-alert-meta {
  line-height: 1.45;
}

.cms-alert-description,
.cms-alert-meta {
  color: var(--cms-theme-color-5);
}

.cms-alert-side,
.cms-alert-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cms-alert-side {
  margin-left: auto;
  justify-content: flex-end;
}

.cms-alert-close {
  min-width: 34px;
  padding-left: 7px;
  padding-right: 7px;
}

.cms-alert.cms-state-success {
  --cms-alert-accent: var(--cms-success);
  --cms-alert-border: color-mix(in srgb, var(--cms-success) 32%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-success) 32%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-warning {
  --cms-alert-accent: var(--cms-warning);
  --cms-alert-border: color-mix(in srgb, var(--cms-warning) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-warning) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-danger {
  --cms-alert-accent: var(--cms-danger);
  --cms-alert-border: color-mix(in srgb, var(--cms-danger) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-danger) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-info {
  --cms-alert-accent: var(--cms-info);
  --cms-alert-border: color-mix(in srgb, var(--cms-info) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-info) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-primary {
  --cms-alert-accent: var(--cms-primary);
  --cms-alert-border: color-mix(in srgb, var(--cms-primary) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-primary) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-secondary {
  --cms-alert-accent: var(--cms-secondary);
  --cms-alert-border: color-mix(in srgb, var(--cms-secondary) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-secondary) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-dark {
  --cms-alert-accent: var(--cms-dark);
  --cms-alert-border: color-mix(in srgb, var(--cms-dark) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-dark) 50%, var(--cms-theme-color-1));
}

.cms-alert.cms-state-light {
  --cms-alert-accent: var(--cms-light);
  --cms-alert-border: color-mix(in srgb, var(--cms-light) 50%, var(--cms-border-color));
  --set-background-color: color-mix(in srgb, var(--cms-light) 50%, var(--cms-theme-color-1));
}

.cms-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--cms-s-md);
  width: 100%;
  min-width: 0;
  padding: 28px 18px;
  box-sizing: border-box;
}

.cms-empty-state.inline {
  padding: 20px 16px;
}

.cms-empty-state.compact {
  gap: var(--cms-s-sm);
  padding: 18px 14px;
}

.cms-empty-state-icon,
.cms-empty-state-illustration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cms-empty-accent);
}

.cms-empty-state-icon {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-empty-accent) 12%, transparent);
}

.cms-empty-state-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, currentColor 58%, transparent);
}

.cms-empty-state-title {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 800;
  line-height: 1.15;
}

.cms-empty-state-message {
  font-weight: 600;
  line-height: 1.45;
}

.cms-empty-state-description,
.cms-empty-state-meta {
  color: var(--cms-muted);
  line-height: 1.45;
}

.cms-empty-state-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.cms-empty-state.cms-state-success {
  --set-background-color: color-mix(in srgb, var(--cms-success) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-warning {
  --set-background-color: color-mix(in srgb, var(--cms-warning) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-danger {
  --set-background-color: color-mix(in srgb, var(--cms-danger) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-info {
  --set-background-color: color-mix(in srgb, var(--cms-info) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-primary {
  --set-background-color: color-mix(in srgb, var(--cms-primary) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-secondary {
  --set-background-color: color-mix(in srgb, var(--cms-secondary) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-dark {
  --set-background-color: color-mix(in srgb, var(--cms-dark) 50%, var(--cms-theme-color-1));
}

.cms-empty-state.cms-state-light {
  --set-background-color: color-mix(in srgb, var(--cms-light) 50%, var(--cms-theme-color-1));
}

.cms-t-nowrap {
  white-space: nowrap;
}

.cms-t-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-t-underline {
  text-decoration: underline;
}

.cms-t-through {
  text-decoration: line-through;
}

.cms-t-italic {
  font-style: italic;
}

.cms-t-bold {
  font-weight: bold;
}

.cms-t-uppercase {
  text-transform: uppercase;
}

.cms-t-lowercase {
  text-transform: lowercase;
}

.cms-t-capitalize {
  text-transform: capitalize;
}

.cms-t-normal {
  font-weight: normal;
  font-style: normal;
  text-transform: none;
  text-decoration: none;
}

.cms-nowrap {
  white-space: nowrap;
}

.cms-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-ellipsis-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.cms-ellipsis-3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.cms-ellipsis-4 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

/* Mobile: drawer overlay */
@media (max-width: 900px) {

  .cms-app-shell-body,
  .cms-app-shell.is-reverse .cms-app-shell-body {
    flex-direction: column;
    padding: var(--cms-s-md);
  }

  .cms-app-shell-drawer-slot {
    width: 100%;
    flex-basis: auto;
  }

  .cms-drawer {
    position: fixed;
    left: 14px;
    right: 14px;
    top: 10px;
    height: auto;
    max-height: calc(100vh - var(--layout-header-height, 0px) - calc(var(--cms-layout-gap) * 10));
    transform: translateY(-6px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  .cms-drawer.open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* CLEAR SET */
.cms-clear-set,
.cms-clear-field-set {
  --set-border-color: transparent;
  --set-background-color: none;
  --set-glossy-active: none;
  --set-gradient-active: none;
  --set-shadow-active: 0 0 0 0;
  --set-glow-active: 0 0 0 0;
  --set-color: none;
  --cms-font-size: var(--font-size, 0.9rem);
}

.cms-menu-panel,
.cms-card,
.cms-card-body,
.cms-tabpanel,
.cms-layout-footer {
  --set-background-color: var(--cms-bg-default);
  --set-border-color: var(--cms-border-color);
  --set-shadow-active: var(--cms-shadow-sm);
}

.cms-field>.cms-control {
  --set-border-color: var(--cms-border-color, #7a7a7a3d);
  --set-background-color: var(--cms-panel);
}

.cms-grid-col-surface {
  position: relative;
  border: 1px solid var(--set-border-color, transparent);
  border-radius: var(--set-border-radius, var(--cms-r-md));
  background-color: var(--set-background-color, transparent);
}

.cms-grid-col-panel {
  --set-background-color: var(--cms-panel);
  --set-border-color: var(--cms-border-color);
  --set-shadow-active: var(--cms-shadow-sm);
  padding: var(--cms-grid-col-panel-padding, var(--cms-s-lg));
}

.cms-outline {
  --set-border-color: var(--cms-theme-color-4);
}

/* COMPONENTS */
.cms-tabs {
  --cms-tabs-gap: 12px;
  --cms-tabs-tab-gap: 6px;
  --cms-tabs-accent: var(--cms-primary);
}

.cms-tabs-bar {
  display: flex;
  gap: var(--cms-tabs-gap);
  min-width: 0;
  background-color: color-mix(in srgb, var(--set-background-color) 60%, var(--cms-theme-color-1));
}

.cms-tabs.horizontal .cms-tabs-bar {
  flex-wrap: wrap;
}

.cms-tabs.vertical .cms-tabs-bar {
  align-items: stretch;
}

.cms-tabs-nav {
  display: flex;
  gap: var(--cms-tabs-tab-gap);
  padding: var(--cms-s-sm);
  background-color: color-mix(in srgb, var(--set-background-color) 60%, var(--cms-theme-color-1));
  min-width: 0;
  overflow: auto;
  flex: 1 1 auto;
}

.cms-tabs.wrap .cms-tabs-nav {
  flex-wrap: wrap;
}

.cms-tabs.vertical .cms-tabs-nav {
  flex-direction: column;
  align-items: stretch;
  min-width: min(240px, 100%);
}

.cms-tabs.fill .cms-tabs-item {
  flex: 1 1 0;
}

.cms-tabs-extra {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cms-tabs.vertical .cms-tabs-extra {
  align-content: flex-start;
}

.cms-tabs-item {
  --cms-tabs-item-accent: var(--cms-tabs-accent);
  position: relative;
  display: flex;
  min-width: 0;
}

.cms-tabs-tab {
  width: 100%;
  min-width: 0;
  text-align: left;
  background: transparent;
  color: var(--cms-text);
  box-shadow: none;
  transform: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.cms-tabs-tab:hover,
.cms-tabs-tab:active {
  transform: none;
  box-shadow: none;
}

.cms-tabs-tab:hover {
  background: color-mix(in srgb, var(--cms-tabs-item-accent) 8%, transparent);
  border-color: color-mix(in srgb, var(--cms-tabs-item-accent) 22%, var(--cms-border-color));
}

.cms-tabs-tab.active {
  background: color-mix(in srgb, var(--cms-tabs-item-accent) 30%, transparent);
  border-color: color-mix(in srgb, var(--cms-tabs-item-accent) 28%, var(--cms-border-color));
}

.cms-tabs-tab:disabled,
.cms-tabs-item.disabled .cms-tabs-tab {
  opacity: 0.6;
}

.cms-tabs-tab-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.cms-tabs-tab-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.cms-tabs-tab-label {
  display: block;
  min-width: 0;
}

.cms-tabs-tab-note {
  display: block;
  color: var(--cms-text);
  font-size: 12px;
  line-height: 1.25;
}

.cms-tabs-tab.active .cms-tabs-tab-note {
  color: var(--set-color-2);
}

.cms-tabs-tab-icon,
.cms-tabs-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cms-tabs-item .tab-indicator {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 160ms ease, transform 160ms ease;
  background-color: var(--cms-tabs-item-accent);
}

.cms-tabs.horizontal .cms-tabs-item .tab-indicator {
  left: 10px;
  right: 10px;
  bottom: 2px;
  height: 2px;
  transform: scaleX(0.35);
}

.cms-tabs.vertical .cms-tabs-item .tab-indicator {
  left: 2px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  transform: scaleY(0.35);
}

.cms-tabs-item.active .tab-indicator {
  opacity: 1;
  transform: scale(1);
}

.cms-tabs.variant-pills .cms-tabs-nav {
  background-color: color-mix(in srgb, var(--cms-panel) 92%, transparent);
}

.cms-tabs.variant-pills .cms-tabs-item .tab-indicator {
  display: none;
}

.cms-tabs.variant-pills .cms-tabs-tab.active {
  background: color-mix(in srgb, var(--cms-tabs-item-accent) 18%, transparent);
  color: color-mix(in srgb, var(--cms-tabs-item-accent) 82%, var(--cms-text) 18%);
  border-color: color-mix(in srgb, var(--cms-tabs-item-accent) 38%, var(--cms-border-color));
}

.cms-tabs.variant-soft .cms-tabs-nav {
  background-color: transparent;
  border: 1px dashed var(--set-color-2);
}

.cms-tabs.dense .cms-tabs-nav {
  padding: 6px;
}

.cms-tabs.dense .cms-tabs-tab {
  padding: 8px 12px;
}

.cms-tabs-empty {
  color: var(--cms-muted);
  font-size: 13px;
  padding: 8px 4px;
}

.cms-route-tab {
  --cms-route-tab-accent: var(--cms-primary);
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--cms-border-color);
  border-radius: var(--set-border-radius, var(--cms-r-lg));
  background: color-mix(in srgb, var(--cms-panel) 92%, transparent);
  color: var(--cms-text);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.cms-route-tab:hover,
.cms-route-tab:focus-visible {
  background: color-mix(in srgb, var(--cms-route-tab-accent) 8%, transparent);
  border-color: color-mix(in srgb, var(--cms-route-tab-accent) 24%, var(--cms-border-color));
  color: color-mix(in srgb, var(--cms-route-tab-accent) 78%, var(--cms-text) 22%);
}

.cms-route-tab:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--cms-route-tab-accent) 22%, transparent);
}

.cms-route-tab.active {
  background: color-mix(in srgb, var(--cms-route-tab-accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--cms-route-tab-accent) 34%, var(--cms-border-color));
  color: color-mix(in srgb, var(--cms-route-tab-accent) 82%, var(--cms-text) 18%);
}

.cms-route-tab::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: var(--cms-route-tab-accent);
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

.cms-route-tab.active::after {
  opacity: 1;
  transform: scaleX(1);
}

.cms-route-tab.variant-pills::after {
  display: none;
}

.cms-route-tab.variant-pills.active {
  background: color-mix(in srgb, var(--cms-route-tab-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--cms-route-tab-accent) 40%, var(--cms-border-color));
}

.cms-route-tab.variant-soft {
  background: transparent;
  border-style: dashed;
}

.cms-route-tab.variant-soft:hover,
.cms-route-tab.variant-soft.active {
  background: color-mix(in srgb, var(--cms-route-tab-accent) 6%, transparent);
}

.cms-route-tab.block {
  display: flex;
  width: 100%;
  box-sizing: border-box;
}

.cms-route-tab.dense {
  padding: 8px 12px;
}

.cms-route-tab.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.cms-route-tab.cms-size-xs {
  padding: 7px 10px;
  font-size: 12px;
}

.cms-route-tab.cms-size-sm {
  padding: 8px 12px;
  font-size: 13px;
}

.cms-route-tab.cms-size-md {
  padding: 10px 14px;
  font-size: 14px;
}

.cms-route-tab.cms-size-lg {
  padding: 12px 16px;
  font-size: 15px;
}

.cms-route-tab.cms-size-xl {
  padding: 14px 18px;
  font-size: 16px;
}

.cms-route-tab-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.cms-route-tab-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.cms-route-tab-label,
.cms-route-tab-note,
.cms-route-tab-extra {
  display: block;
  min-width: 0;
}

.cms-route-tab-label {
  font-weight: 600;
  line-height: 1.25;
}

.cms-route-tab-note {
  color: var(--cms-muted);
  font-size: 12px;
  line-height: 1.25;
}

.cms-route-tab-extra {
  color: color-mix(in srgb, var(--cms-text) 76%, transparent);
  font-size: 12px;
  line-height: 1.35;
}

.cms-route-tab.active .cms-route-tab-note {
  color: color-mix(in srgb, var(--cms-route-tab-accent) 68%, var(--cms-text) 32%);
}

.cms-route-tab-icon,
.cms-route-tab-badge,
.cms-route-tab-aside {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cms-route-tab-aside {
  color: var(--cms-muted);
}

.cms-route-tab .cms-icon {
  margin: 0;
  display: inline-flex;
  align-items: center;
}

.cms-breadcrumbs {
  --cms-breadcrumb-accent: var(--cms-primary);
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.cms-breadcrumbs-before,
.cms-breadcrumbs-after {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.cms-breadcrumbs-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 0;
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 0;
  flex: 1 1 auto;
}

.cms-breadcrumbs.no-wrap .cms-breadcrumbs-list {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.cms-breadcrumbs-entry,
.cms-breadcrumbs-separator-item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  flex: 0 0 auto;
}

.cms-breadcrumbs-separator-item {
  padding: 0 4px;
}

.cms-breadcrumbs-separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cms-muted);
  font-size: 13px;
  line-height: 1;
}

.cms-breadcrumb {
  --cms-breadcrumb-bg: transparent;
  --cms-breadcrumb-border: transparent;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  gap: 10px;
  padding: 7px 10px;
  border-radius: var(--set-border-radius, var(--cms-r-md));
  border: 1px solid var(--cms-breadcrumb-border);
  background: var(--cms-breadcrumb-bg);
  color: var(--cms-text);
  text-decoration: none;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

button.cms-breadcrumb {
  appearance: none;
  cursor: pointer;
}

a.cms-breadcrumb {
  cursor: pointer;
}

.cms-breadcrumb:hover,
.cms-breadcrumb:focus-visible {
  color: color-mix(in srgb, var(--cms-breadcrumb-accent) 78%, var(--cms-text) 22%);
}

.cms-breadcrumb:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--cms-breadcrumb-accent) 18%, transparent);
}

.cms-breadcrumbs.variant-line .cms-breadcrumb {
  --cms-breadcrumb-bg: transparent;
  --cms-breadcrumb-border: transparent;
}

.cms-breadcrumbs.variant-line .cms-breadcrumb:hover,
.cms-breadcrumbs.variant-line .cms-breadcrumb:focus-visible {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 7%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 12%, transparent);
}

.cms-breadcrumbs.variant-line .cms-breadcrumb.is-current {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 12%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 20%, transparent);
  color: color-mix(in srgb, var(--cms-breadcrumb-accent) 82%, var(--cms-text) 18%);
}

.cms-breadcrumbs.variant-pills .cms-breadcrumb {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-panel) 92%, transparent);
  --cms-breadcrumb-border: var(--cms-border-color);
}

.cms-breadcrumbs.variant-pills .cms-breadcrumb:hover,
.cms-breadcrumbs.variant-pills .cms-breadcrumb:focus-visible {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 7%, var(--cms-panel) 93%);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 24%, var(--cms-border-color));
}

.cms-breadcrumbs.variant-pills .cms-breadcrumb.is-current {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 14%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 30%, var(--cms-border-color));
  color: color-mix(in srgb, var(--cms-breadcrumb-accent) 82%, var(--cms-text) 18%);
}

.cms-breadcrumbs.variant-soft .cms-breadcrumb {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 5%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 10%, transparent);
}

.cms-breadcrumbs.variant-soft .cms-breadcrumb:hover,
.cms-breadcrumbs.variant-soft .cms-breadcrumb:focus-visible {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 9%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 18%, transparent);
}

.cms-breadcrumbs.variant-soft .cms-breadcrumb.is-current {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-breadcrumb-accent) 14%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-breadcrumb-accent) 26%, transparent);
  color: color-mix(in srgb, var(--cms-breadcrumb-accent) 82%, var(--cms-text) 18%);
}

.cms-breadcrumb.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.cms-breadcrumb-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
}

.cms-breadcrumb-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.cms-breadcrumb-label,
.cms-breadcrumb-note,
.cms-breadcrumb-extra {
  display: block;
  min-width: 0;
}

.cms-breadcrumb-label {
  font-weight: 600;
  line-height: 1.2;
}

.cms-breadcrumb-note,
.cms-breadcrumb-extra {
  font-size: 12px;
  line-height: 1.3;
  color: var(--cms-muted);
}

.cms-breadcrumb.is-current .cms-breadcrumb-note,
.cms-breadcrumb.is-current .cms-breadcrumb-extra {
  color: color-mix(in srgb, var(--cms-breadcrumb-accent) 62%, var(--cms-text) 38%);
}

.cms-breadcrumb-icon,
.cms-breadcrumb-badge,
.cms-breadcrumb-aside {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-breadcrumb-aside {
  color: var(--cms-muted);
}

.cms-breadcrumb .cms-icon {
  margin: 0;
  display: inline-flex;
  align-items: center;
}

.cms-breadcrumb-collapsed {
  --cms-breadcrumb-bg: color-mix(in srgb, var(--cms-panel) 88%, transparent);
  --cms-breadcrumb-border: color-mix(in srgb, var(--cms-border-color) 80%, transparent);
  color: var(--cms-muted);
}

.cms-breadcrumbs.dense {
  gap: 8px;
}

.cms-breadcrumbs.dense .cms-breadcrumb {
  padding: 5px 8px;
  gap: 8px;
}

.cms-breadcrumbs.cms-size-xs .cms-breadcrumb {
  padding: 4px 7px;
  font-size: 12px;
}

.cms-breadcrumbs.cms-size-sm .cms-breadcrumb {
  padding: 5px 8px;
  font-size: 13px;
}

.cms-breadcrumbs.cms-size-md .cms-breadcrumb {
  padding: 7px 10px;
  font-size: 14px;
}

.cms-breadcrumbs.cms-size-lg .cms-breadcrumb {
  padding: 9px 12px;
  font-size: 15px;
}

.cms-breadcrumbs.cms-size-xl .cms-breadcrumb {
  padding: 11px 14px;
  font-size: 16px;
}

.cms-breadcrumbs.is-empty .cms-breadcrumbs-list {
  flex: 0 1 auto;
}

.cms-tabpanel {
  display: flex;
  align-items: stretch;
  gap: 14px;
  border-style: solid;
  border-width: 0;
  border-radius: var(--cms-r-md);
  --cms-tabpanel-accent: var(--cms-primary);
}

.cms-tabpanel.horizontal {
  flex-direction: column;
}

.cms-tabpanel.vertical {
  flex-direction: row;
}

.cms-tabpanel-nav {
  display: flex;
  gap: 6px;
  padding: var(--cms-s-sm);
  border: 1px solid var(--cms-border-color);
  background-color: color-mix(in srgb, var(--cms-gray-500), transparent 80%);
  flex-shrink: 0;
  border-radius: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  min-width: 0;
  overflow: auto;
}

.cms-tabpanel-tabs {
  display: flex;
  gap: 6px;
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav {
  background-color: color-mix(in srgb, var(--cms-gray-500), transparent 80%)
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav,
.cms-tabpanel.horizontal>.cms-tabpanel-tabs {
  flex-direction: row;
  align-items: center;
  position: relative;
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav>.cms-tabpanel-nav-btn {
  flex-direction: column;
  align-items: stretch;
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav>.cms-tabpanel-nav-btn .cms-btn {
  width: 100%;
}

.cms-tabpanel.horizontal.nav-fill>.cms-tabpanel-nav>.cms-tabpanel-nav-btn {
  flex: 1 1 0;
}

.cms-tabpanel.vertical.nav-fill>.cms-tabpanel-nav>.cms-tabpanel-nav-btn {
  flex: 0 0 auto;
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav>.cms-tabpanel-nav-btn .tab-indicator {
  height: 2px;
  background-color: var(--cms-tabpanel-accent);
  transform-origin: left center;
  width: 100%;
  opacity: 0;
}

.cms-tabpanel.vertical>.cms-tabpanel-nav>.cms-tabpanel-nav-btn {
  display: flex;
}

.cms-tabpanel.vertical>.cms-tabpanel-nav>.cms-tabpanel-nav-btn .cms-btn {
  width: 100%;
}

.cms-tabpanel.vertical>.cms-tabpanel-nav>.cms-tabpanel-nav-btn .tab-indicator {
  width: 2px;
  background-color: var(--cms-tabpanel-accent);
  transform-origin: center top;
  height: 100%;
  opacity: 0;

}

.cms-tabpanel>.cms-tabpanel-nav>.cms-tabpanel-nav-btn.active .tab-indicator {
  opacity: 1;
  animation-fill-mode: forwards;
}

.cms-tabpanel.horizontal>.cms-tabpanel-nav>.cms-tabpanel-nav-btn.active .tab-indicator {
  animation: nav-pos-x 360ms ease;
}

@keyframes nav-pos-x {
  from {
    transform: translateX(var(--nav-pos-x, 0));
  }

  to {
    transform: translateX(0);
  }
}

.cms-tabpanel.vertical>.cms-tabpanel-nav>.cms-tabpanel-nav-btn.active .tab-indicator {
  animation: nav-pos-y 360ms ease;
}

@keyframes nav-pos-y {
  from {
    transform: translateY(var(--nav-pos-y, 0));
  }

  to {
    transform: translateY(0);
  }
}

.cms-tabpanel.vertical>.cms-tabpanel-nav,
.cms-tabpanel.vertical>.cms-tabpanel-tabs {
  flex-direction: column;
  align-items: stretch;
}

.cms-tabpanel.vertical>.cms-tabpanel-nav {
  min-width: 160px;
}

.cms-tabpanel.wrap>.cms-tabpanel-nav,
.cms-tabpanel.wrap>.cms-tabpanel-tabs {
  flex-wrap: wrap;
}

.cms-tabpanel-nav-btn {
  position: relative;
  display: flex;
  min-width: 0;
}

.cms-tabpanel-tab {
  background: transparent;
  color: var(--cms-text);
  text-align: left;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
  width: 100%;
  min-width: 0;
}

.cms-tabpanel-tab-inner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.cms-tabpanel-tab-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.cms-tabpanel-tab-label {
  display: block;
  min-width: 0;
}

.cms-tabpanel-tab-note {
  display: block;
  color: var(--cms-muted);
  font-size: 12px;
  line-height: 1.25;
}

.cms-tabpanel-tab-icon,
.cms-tabpanel-tab-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cms-tabpanel-tab:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--cms-border-color);
}

.cms-tabpanel-tab.active .cms-tabpanel-tab-note {
  color: color-mix(in srgb, var(--cms-tabpanel-accent) 76%, var(--cms-text) 24%);
}

.cms-tabpanel-tab:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cms-tabpanel.variant-pills>.cms-tabpanel-nav {
  background-color: color-mix(in srgb, var(--cms-panel) 92%, transparent);
}

.cms-tabpanel.variant-pills>.cms-tabpanel-nav>.cms-tabpanel-nav-btn .tab-indicator {
  display: none;
}

.cms-tabpanel.variant-soft>.cms-tabpanel-nav {
  background-color: transparent;
  border-style: dashed;
}

.cms-tabpanel-panels {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.cms-tabpanel-panel {
  display: none;
}

.cms-tabpanel-empty {
  padding: 20px;
  border: 1px dashed var(--cms-border-color);
  border-radius: var(--set-border-radius, var(--cms-r-md));
  color: var(--cms-muted);
}

.cms-tabpanel-panel.active,
.cms-tabpanel-panel.leaving {
  display: block;
}

.cms-tabpanel.animated .cms-tabpanel-panels {
  overflow: hidden;
}

.cms-tabpanel.animated .cms-tabpanel-panel {
  display: block;
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--cms-tabpanel-enter, 12px));
  transition: opacity var(--cms-tabpanel-duration, 220ms) var(--cms-tabpanel-easing, ease),
    transform var(--cms-tabpanel-duration, 220ms) var(--cms-tabpanel-easing, ease);
  z-index: 0;
}

.cms-tabpanel.animated .cms-tabpanel-panel.active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  z-index: 1;
}

.cms-tabpanel.animated .cms-tabpanel-panel.leaving {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--cms-tabpanel-leave, -12px));
}

.cms-chip {
  display: var(--set-display, inline-flex);
  align-items: var(--set-align, center);
  gap: var(--set-gap, var(--cms-s-sm));
  padding: var(--set-padding, var(--cms-p-xs) var(--cms-p-sm));
  font-size: var(--set-font-size, var(--cms-font-size, 13px));
  vertical-align: middle;
  box-sizing: border-box;
  margin: 4px;
  border-width: 0px;
  border-style: solid;
  border-color: #9c9c9c3d;
  transition: all 260ms ease;
}

.cms-chip.cms-size-xxs {
  padding: var(--set-padding, var(--cms-p-xxs) var(--cms-p-xs));
}

.cms-chip.cms-size-xs {
  padding: var(--set-padding, var(--cms-p-xs) var(--cms-p-xs));
}

.cms-chip.cms-size-sm {
  padding: var(--set-padding, var(--cms-p-xs) var(--cms-p-sm));
}

.cms-chip.cms-size-md {
  padding: var(--set-padding, var(--cms-p-xs) var(--cms-p-md));
}

.cms-chip.cms-size-lg {
  padding: var(--set-padding, var(--cms-p-sm) var(--cms-p-lg));
}

.cms-chip.cms-size-xl {
  padding: var(--set-padding, var(--cms-p-md) var(--cms-p-xl));
}

.cms-chip.cms-size-xxl {
  padding: var(--set-padding, var(--cms-p-lg) var(--cms-p-xxl));
}

.cms-chip .cms-icon {
  margin: 0;
  display: flex;
  align-items: center;
}

.cms-chip .cms-btn {
  margin: -2px;
}

.cms-chip .cms-chip-remove {
  padding: 1px 2px;
  aspect-ratio: 1/1;
  min-height: 0;
}

@keyframes cms-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}

.cms-spinner {
  display: inline-flex;
  align-items: center;
  gap: var(--set-gap, var(--cms-s-sm));
  vertical-align: middle;
  min-width: 0;
}

.cms-spinner.block,
.cms-spinner.center {
  width: 100%;
}

.cms-spinner.block {
  display: flex;
}

.cms-spinner.center {
  justify-content: center;
}

.cms-spinner.vertical {
  flex-direction: column;
  text-align: center;
}

.cms-spinner.reverse:not(.vertical) {
  flex-direction: row-reverse;
}

.cms-spinner.vertical.reverse {
  flex-direction: column-reverse;
}

.cms-spinner-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.cms-spinner-label,
.cms-spinner-copy {
  line-height: 1.3;
}

.cms-spinner-note {
  font-size: 12px;
  line-height: 1.35;
  color: var(--cms-muted);
}

.cms-spinner-indicator {
  --cms-spinner-size: 18px;
  --cms-spinner-thickness: 2px;
  --cms-spinner-speed: 900ms;
  --cms-spinner-color: var(--set-border-color, var(--cms-primary));
  --cms-spinner-track: color-mix(in srgb, var(--cms-spinner-color) 18%, transparent);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cms-spinner-size);
  height: var(--cms-spinner-size);
  flex: 0 0 auto;
  color: var(--cms-spinner-color);
  border-radius: 50%;
}

.cms-spinner-indicator::before {
  content: "";
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  border-radius: inherit;
  border: var(--cms-spinner-thickness) solid var(--cms-spinner-track);
  border-top-color: currentColor;
  border-right-color: color-mix(in srgb, currentColor 45%, var(--cms-spinner-track));
  animation: cms-spinner-rotate var(--cms-spinner-speed) linear infinite;
}

.cms-spinner.paused .cms-spinner-indicator::before {
  animation-play-state: paused;
}

.cms-spinner.cms-size-xxs .cms-spinner-indicator {
  --cms-spinner-size: 12px;
}

.cms-spinner.cms-size-xs .cms-spinner-indicator {
  --cms-spinner-size: 14px;
}

.cms-spinner.cms-size-sm .cms-spinner-indicator {
  --cms-spinner-size: 16px;
}

.cms-spinner.cms-size-md .cms-spinner-indicator {
  --cms-spinner-size: 18px;
}

.cms-spinner.cms-size-lg .cms-spinner-indicator {
  --cms-spinner-size: 24px;
}

.cms-spinner.cms-size-xl .cms-spinner-indicator {
  --cms-spinner-size: 28px;
}

.cms-spinner.cms-size-xxl .cms-spinner-indicator {
  --cms-spinner-size: 34px;
}

.cms-spinner.cms-size-xxxl .cms-spinner-indicator {
  --cms-spinner-size: 40px;
}

.cms-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  font-size: var(--cms-font-size, 12px);
  --set-background-color: color-mix(in srgb, var(--cms-panel) 60%, var(--cms-theme-color-4));
  --set-color: var(--cms-text-2);
  gap: 6px;
  overflow: visible;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.cms-badge-content {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.2em;
}

.cms-badge-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.cms-badge-anchor {
  position: absolute;
  z-index: 1;
  min-width: 1.35em;
  min-height: 1.35em;
  padding: 2px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--set-background-color, var(--cms-gray-300)) 78%, white 22%);
  color: inherit;
  box-shadow: 0 6px 14px rgba(18, 24, 40, 0.14);
  pointer-events: none;
  animation: cms-badge-anchor-in 220ms ease;
  transition: transform 180ms ease, opacity 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.cms-badge-anchor .cms-icon {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cms-badge-anchor-top-left {
  top: 0;
  left: 0;
  transform: translate(-38%, -50%);
}

.cms-badge-anchor-top-right {
  top: 0;
  right: 0;
  transform: translate(38%, -50%);
}

.cms-badge-anchor-bottom-left {
  bottom: 0;
  left: 0;
  transform: translate(-38%, 50%);
}

.cms-badge-anchor-bottom-right {
  right: 0;
  bottom: 0;
  transform: translate(38%, 50%);
}

.cms-badge-anchor-center-left {
  top: 50%;
  left: 0;
  transform: translate(-58%, -50%);
}

.cms-badge-anchor-center-right {
  top: 50%;
  right: 0;
  transform: translate(58%, -50%);
}

.cms-badge-anchor-left,
.cms-badge-anchor-right {
  position: relative;
}

.cms-badge-notification {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  min-width: 1.4em;
  height: 1.4em;
  padding: 0 0.38em;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72em;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  background: var(--cms-danger, #d92d20);
  box-shadow: 0 10px 22px rgba(217, 45, 32, 0.28);
  transform: translate(46%, -52%);
  animation: cms-badge-notification-in 220ms ease;
  transition: transform 180ms ease, opacity 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.cms-badge.cms-clickable:hover {
  transform: translateY(-1px);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-top-left {
  transform: translate(-42%, -48%);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-top-right {
  transform: translate(42%, -48%);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-bottom-left {
  transform: translate(-42%, 48%);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-bottom-right {
  transform: translate(42%, 48%);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-left {
  transform: translate(-64%, -50%);
}

.cms-badge.cms-clickable:hover .cms-badge-anchor-right {
  transform: translate(64%, -50%);
}

.cms-badge.cms-clickable:hover .cms-badge-notification {
  transform: translate(52%, -58%);
}

@keyframes cms-badge-anchor-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes cms-badge-notification-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.cms-choice-wrap {
  display: inline-flex;
  gap: var(--set-gap, 8px);
  padding: var(--set-padding, var(--cms-p-xs) var(--cms-p-sm));
  margin: 2px;
  cursor: pointer;
  box-sizing: border-box;
  user-select: none;
  border-color: transparent;
}

.cms-choice-wrap.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cms-choice-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.cms-choice-mark {
  flex-shrink: 0;
  border: 1px solid var(--cms-border-color, #7a7a7a3d);
  color: var(--set-color, var(--cms-text));
  background: color-mix(in srgb, var(--set-background-color, var(--cms-surface-2)) 20%, transparent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 160ms ease;
  position: relative;

}

.cms-choice-checkbox-mark {
  border-radius: var(--set-border-radius, 4px);
  width: calc(var(--cms-font-size, 16px) + 2px);
  height: calc(var(--cms-font-size, 16px) + 2px);
}

.cms-choice-radio-mark {
  border-radius: 999px;
}

.cms-choice-wrap .cms-choice-mark .cms-icon {
  margin: 0;
  border-color: transparent;
  color: color-mix(in srgb, var(--set-hover), var(--cms-theme-color-5) 50%);
}

.cms-toggle-wrap {
  align-items: center;
  vertical-align: middle;
}

.cms-toggle-wrap .cms-choice-mark.cms-toggle-mark {
  --cms-toggle-width: calc(var(--cms-font-size, 16px) * 2.15);
  --cms-toggle-height: calc(var(--cms-font-size, 16px) * 1.2);
  --cms-toggle-thumb-size: calc(var(--cms-toggle-height) - 6px);
  width: var(--cms-toggle-width);
  min-width: var(--cms-toggle-width);
  height: var(--cms-toggle-height);
  padding: 2px;
  border-radius: 999px;
  justify-content: flex-start;
  background: color-mix(in srgb, var(--set-background-color, var(--cms-surface-2)) 28%, var(--cms-theme-color-1));
  filter: grayscale(.5);
  box-sizing: content-box;
}

.cms-toggle-wrap .cms-toggle-thumb {
  width: var(--cms-toggle-thumb-size);
  height: var(--cms-toggle-thumb-size);
  border-radius: 999px;
  color: var(--set-color, var(--cms-text));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateX(3px);
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
  background: transparent;
}

.cms-toggle-wrap.toggle-default .cms-toggle-thumb {
  background: color-mix(in srgb, var(--set-background-color, var(--cms-surface-2)) 40%, transparent);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
  transition: all 180ms ease;
}

.cms-toggle-wrap.is-checked .cms-choice-mark.cms-toggle-mark {
  background: color-mix(in srgb, var(--set-background-color, var(--cms-primary, #2d6cdf)) 20%, white 12%);
  border-color: color-mix(in srgb, var(--set-border-color, var(--cms-primary, #2d6cdf)) 90%, transparent);
  filter: grayscale(0);
}

.cms-toggle-wrap.is-checked.toggle-default .cms-toggle-thumb {
  background: color-mix(in srgb, var(--set-background-color, var(--cms-surface-2)) 90%, white);
}

.cms-toggle-wrap.is-checked .cms-toggle-thumb {
  transform: translateX(calc(var(--cms-toggle-width) - var(--cms-toggle-thumb-size) - 3px));
}

.cms-toggle-wrap.is-disabled .cms-toggle-thumb {
  box-shadow: none;
}

.cms-toggle-wrap .cms-choice-input:focus-visible+.cms-choice-mark.cms-toggle-mark {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--set-background-color, var(--cms-primary, #2d6cdf)) 25%, transparent);
}

.cms-choice-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  line-height: calc(var(--cms-font-size, 16px) + 6px);
}

.cms-rating-wrap {
  align-items: center;
  gap: var(--cms-rating-gap, 8px);
}

.cms-rating-control {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--cms-rating-gap, 8px) * 0.4);
  min-height: calc(var(--cms-rating-size, var(--cms-font-size, 18px)) + 6px);
  outline: none;
}

.cms-rating-control:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cms-primary, #2d6cdf) 18%, transparent);
  border-radius: 999px;
}

.cms-rating-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(var(--cms-rating-size, var(--cms-font-size, 18px)) + 2px);
  min-height: calc(var(--cms-rating-size, var(--cms-font-size, 18px)) + 2px);
  cursor: pointer;
  transition: transform 140ms ease, color 140ms ease, opacity 140ms ease, filter 140ms ease;
  transform-origin: center;
}

.cms-rating-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.cms-rating-item-icon .cms-icon {
  margin: 0;
  font-size: var(--cms-rating-size, var(--cms-font-size, 18px));
}

.cms-rating-wrap.is-disabled .cms-rating-item,
.cms-rating-wrap.is-readonly .cms-rating-item {
  cursor: default;
}

.cms-rating-wrap.is-disabled .cms-rating-control {
  pointer-events: none;
}

.cms-rating-wrap.no-dimming .cms-rating-item {
  opacity: 1 !important;
}

.cms-rating-label {
  align-items: center;
}

.cms-slider-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.cms-slider-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}

.cms-slider-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.cms-slider-value {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 0.88em;
  color: var(--cms-muted);
}

.cms-slider-body {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.cms-slider-icon {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cms-slider-edge-label {
  display: none;
  flex: 0 0 auto;
  color: var(--cms-muted);
  font-size: 0.88em;
}

.cms-slider-main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}

.cms-slider-box {
  position: relative;
  width: 100%;
  min-height: 36px;
  min-width: 120px;
}

.cms-slider-rail,
.cms-slider-selection {
  position: absolute;
  left: 0;
  top: 50%;
  height: 6px;
  transform: translateY(-50%);
  border-radius: 999px;
}

.cms-slider-rail {
  right: 0;
  background: var(--cms-border);
}

.cms-slider-selection {
  width: 0%;
  background: var(--cms-primary);
}

.cms-slider-thumb {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cms-surface, #fff);
  border: 2px solid var(--cms-primary);
  box-sizing: border-box;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  pointer-events: none;
}

.cms-slider-thumb-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.cms-slider-thumb-label {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  display: none;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
  background: var(--cms-primary);
  color: var(--cms-on-primary, #fff);
  font-size: 11px;
  line-height: 1.4;
}

.cms-slider-markers {
  position: relative;
  width: 100%;
  min-height: 0;
  display: none;
}

.cms-slider-input {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  pointer-events: auto;
}

.cms-slider-wrap.is-disabled .cms-slider-input {
  cursor: not-allowed;
}

.cms-slider-wrap.is-readonly .cms-slider-input {
  cursor: default;
  pointer-events: none;
}

.cms-slider-marker {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}

.cms-slider-marker-tick {
  width: 8px;
  height: 8px;
  border-radius: 999px;
}

.cms-slider-marker-label {
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.cms-progress-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.cms-progress-wrap.dense {
  gap: 6px;
}

.cms-progress-header {
  display: none;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.cms-progress-heading {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.cms-progress-label {
  display: none;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-weight: 600;
  line-height: 1.35;
}

.cms-progress-label .cms-icon {
  margin: 0;
}

.cms-progress-note {
  display: none;
  color: var(--cms-muted);
  font-size: 0.9em;
  line-height: 1.45;
}

.cms-progress-value {
  display: none;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  color: var(--cms-muted);
  font-size: 0.88em;
  line-height: 1.35;
}

.cms-progress-body {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.cms-progress-edge-label {
  display: none;
  flex: 0 0 auto;
  color: var(--cms-muted);
  font-size: 0.82em;
  line-height: 1.25;
}

.cms-progress {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  height: var(--cms-progress-height, 8px);
  overflow: hidden;
  border-radius: var(--cms-progress-radius, 999px);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08);
}

.cms-progress-buffer,
.cms-progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  max-width: 100%;
  height: 100%;
  border-radius: inherit;
  transition: width 220ms ease, transform 220ms ease;
}

.cms-progress-buffer {
  background: rgba(255, 255, 255, 0.16);
}

.cms-progress-bar {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--set-color, var(--cms-on-primary, #fff));
}

.cms-progress-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.28) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0.28) 75%, transparent 75%, transparent 100%);
  background-size: 24px 24px;
}

.cms-progress-bar.is-striped::after,
.cms-progress-wrap.is-indeterminate .cms-progress-bar::after {
  opacity: 0.9;
}

.cms-progress-bar.is-animated::after,
.cms-progress-wrap.is-indeterminate .cms-progress-bar::after {
  animation: cms-progress-stripes 880ms linear infinite;
}

.cms-progress-bar-label {
  position: relative;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  font-size: 11px;
  line-height: 1.2;
  color: inherit;
  text-overflow: ellipsis;
  overflow: hidden;
}

.cms-progress-wrap.has-inside-label .cms-progress-bar-label {
  display: inline-flex;
}

.cms-progress-wrap.is-reverse .cms-progress-buffer,
.cms-progress-wrap.is-reverse .cms-progress-bar {
  inset: 0 0 0 auto;
}

.cms-progress-wrap.is-indeterminate .cms-progress-bar {
  width: 36%;
  animation: cms-progress-indeterminate 1.35s ease-in-out infinite;
}

.cms-loading-bar {
  position: fixed;
  inset: 0 0 auto 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.cms-loading-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.cms-loading-bar.is-inline {
  transform: none;
}

.cms-loading-bar .cms-progress-wrap {
  gap: 0;
}

.cms-loading-bar .cms-progress-body {
  gap: 0;
}

.cms-loading-bar .cms-progress {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.cms-loading-bar.has-track .cms-progress {
  background: rgba(255, 255, 255, 0.08);
}

.cms-loading-bar .cms-progress-buffer,
.cms-loading-bar .cms-progress-bar {
  transition: width 220ms ease, transform 220ms ease, opacity 180ms ease;
}

@keyframes cms-progress-stripes {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 24px 0;
  }
}

@keyframes cms-progress-indeterminate {
  0% {
    transform: translateX(-120%);
  }

  50% {
    transform: translateX(40%);
  }

  100% {
    transform: translateX(240%);
  }
}


/* SHADOW / STATE */
.cms-singularity.cms-shadow-sm {
  box-shadow: var(--cms-shadow-sm);
}

.cms-singularity.cms-shadow-none {
  box-shadow: none;
}

.cms-singularity.cms-shadow-md {
  box-shadow: var(--cms-shadow-md);
}

.cms-singularity.cms-shadow-lg {
  box-shadow: var(--cms-shadow-lg);
}

.cms-state-primary,
.cms-state-primary>.cms-control {
  --set-border-color: var(--cms-primary-hover);
  --set-color: var(--cms-primary-text);
  --set-background-color: var(--cms-primary);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-primary-950) 40%, transparent);
  --set-hover: var(--cms-primary-hover);
  --set-color-0: var(--cms-primary-50);
  --set-color-1: var(--cms-primary-100);
  --set-color-2: var(--cms-primary-400);
  --set-color-3: var(--cms-primary-700);
  --set-color-4: var(--cms-primary-900);
}

.cms-state-primary>.cms-btn {
  color: var(--cms-primary-text);
}

.cms-state-secondary,
.cms-state-secondary>.cms-control {
  --set-border-color: var(--cms-secondary-hover);
  --set-color: var(--cms-secondary-text);
  --set-background-color: var(--cms-secondary);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-gray-600) 40%, transparent);
  --set-hover: var(--cms-secondary-hover);
  --set-color-0: var(--cms-gray-50);
  --set-color-1: var(--cms-gray-100);
  --set-color-2: var(--cms-gray-400);
  --set-color-3: var(--cms-gray-500);
  --set-color-4: var(--cms-gray-900);
}

.cms-state-secondary>.cms-btn {
  color: var(--cms-secondary-text);
}

.cms-state-success,
.cms-state-success>.cms-control {
  --set-color: var(--cms-success-text);
  --set-border-color: var(--cms-success-hover);
  --set-background-color: var(--cms-success);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-success-950) 40%, transparent);
  --set-hover: var(--cms-success-hover);
  --set-color-0: var(--cms-success-50);
  --set-color-1: var(--cms-success-100);
  --set-color-2: var(--cms-success-400);
  --set-color-3: var(--cms-success-700);
  --set-color-4: var(--cms-success-900);
}

.cms-state-success>.cms-btn {
  color: var(--cms-success-text);
}

.cms-state-warning,
.cms-state-warning>.cms-control {
  --set-border-color: var(--cms-warning-hover);
  --set-color: var(--cms-warning-text);
  --set-background-color: color-mix(in srgb, var(--cms-warning) 80%, var(--cms-theme-color-1));
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-warning-950) 40%, transparent);
  --set-hover: var(--cms-warning-hover);
  --set-color-0: var(--cms-warning-50);
  --set-color-1: var(--cms-warning-100);
  --set-color-2: var(--cms-warning-400);
  --set-color-3: var(--cms-warning-700);
  --set-color-4: var(--cms-warning-900);
}

.cms-state-warning>.cms-btn {
  color: var(--cms-warning-text);
}

.cms-state-danger,
.cms-state-danger>.cms-control {
  --set-border-color: var(--cms-danger-hover);
  --set-color: var(--cms-danger-text);
  --set-background-color: var(--cms-danger);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-danger-950) 40%, transparent);
  --set-hover: var(--cms-danger-hover);
  --set-color-0: var(--cms-danger-50);
  --set-color-1: var(--cms-danger-100);
  --set-color-2: var(--cms-danger-400);
  --set-color-3: var(--cms-danger-700);
  --set-color-4: var(--cms-danger-900);
}

.cms-state-danger>.cms-btn {
  color: var(--cms-danger-text);
}

.cms-state-info,
.cms-state-info>.cms-control {
  --set-border-color: var(--cms-info-hover);
  --set-color: var(--cms-info-text);
  --set-background-color: var(--cms-info);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-info-950) 40%, transparent);
  --set-hover: var(--cms-info-hover);
  --set-color-0: var(--cms-info-50);
  --set-color-1: var(--cms-info-100);
  --set-color-2: var(--cms-info-400);
  --set-color-3: var(--cms-info-700);
  --set-color-4: var(--cms-info-900);
}

.cms-state-info>.cms-btn {
  color: var(--cms-info-text);
}

.cms-state-light,
.cms-state-light>.cms-control {
  --set-border-color: var(--cms-light);
  --set-color: var(--cms-light-text);
  --set-background-color: var(--cms-light-soft);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-gray-600) 40%, transparent);
  --set-hover: var(--cms-light-hover);
  --set-color-0: var(--cms-gray-50);
  --set-color-1: var(--cms-gray-100);
  --set-color-2: var(--cms-gray-300);
  --set-color-3: var(--cms-gray-300);
  --set-color-4: var(--cms-gray-500);
}

.cms-state-light>.cms-btn {
  color: var(--cms-light-text);
}

.cms-state-dark,
.cms-state-dark>.cms-control {
  --set-border-color: var(--cms-dark-hover);
  --set-color: var(--cms-dark-text);
  --set-background-color: var(--cms-dark);
  --set-shadow: 0 3px 6px color-mix(in srgb, var(--cms-gray-800) 50%, transparent);
  --set-hover: var(--cms-dark-hover);
  --set-color-0: var(--cms-gray-50);
  --set-color-1: var(--cms-gray-100);
  --set-color-2: var(--cms-gray-400);
  --set-color-3: var(--cms-gray-700);
  --set-color-4: var(--cms-gray-900);
}

.cms-state-dark>.cms-btn {
  color: var(--cms-dark-text);
}

.cms-flat {
  border-width: 0;
  box-shadow: none;
}

.cms-dense {
  padding: 1px 2px;
  margin: 2px;
}

.cms-shadow {
  --set-shadow-active: var(--set-shadow);
}

.cms-border {
  border-width: var(--set-border-width);
}

.cms-glossy {
  --set-glossy-active: linear-gradient(to bottom, color-mix(in srgb, var(--set-color-1) 20%, transparent) 0%, color-mix(in srgb, var(--set-color-1) 30%, transparent) 50%, color-mix(in srgb, var(--set-color-2) 30%, transparent) 51%, color-mix(in srgb, var(--set-color-4) 60%, transparent) 100%);
  background-size: 100% 110%;
  background-position: 0 -1px;
}

.cms-glow {
  --set-sc-inset: inset 0 0 5px 0 color-mix(in srgb, var(--set-color-2) 70%, var(--cms-theme-color-1));
  --set-sc-borde: 0 0 1px 1px color-mix(in srgb, var(--set-border-color) 50%, transparent), 0 0 3px 3px color-mix(in srgb, var(--set-color-2) 50%, transparent);
  --set-glow-active: var(--set-sc-inset), var(--set-sc-borde), 0 0 15px 2px var(--set-color-2);
  text-shadow: 0 0 3px color-mix(in srgb, var(--set-color-1) 70%, transparent);
}


.cms-singularity.cms-glass,
.cms-singularity-field.cms-glass>.cms-control {
  position: relative;
  backdrop-filter: blur(1px);
  --set-background-color: color-mix(in srgb, var(--set-background-color) 40%, transparent);
  --set-color: var(--cms-theme-color-6);
}

.cms-singularity-menu-select.cms-glass {
  backdrop-filter: blur(1px);
  --set-background-color: color-mix(in srgb, var(--set-background-color) 40%, transparent);
  --set-color: var(--cms-theme-color-6);
}

.cms-singularity.cms-glass .cms-btn,
.cms-singularity-field.cms-glass>.cms-control .cms-btn {
  color: var(--cms-theme-color-6);
  border-color: var(--cms-theme-color-6);
}

.cms-glass.cms-singularity-menu-select>.cms-select-options>.cms-select-option.selected::before,
.cms-singularity-menu-select.cms-glass::before,
.cms-singularity.cms-glass::before,
.cms-singularity-field.cms-glass .cms-control::before,
.cms-singularity-check.cms-glass .cms-choice-mark::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  --set-sec-color: color-mix(in srgb, var(--cms-theme-color-1) 40%, transparent);
  box-shadow: inset 0 0 3px 2px color-mix(in srgb, var(--set-color-3) 40%, var(--set-sec-color));
  --set-s-effect-1: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-1) 60%, var(--set-sec-color)) 0%, color-mix(in srgb, var(--set-color-1) 20%, var(--set-sec-color)) 40%, color-mix(in srgb, var(--set-color-1) 0%, var(--set-sec-color)) 100%);
  --set-s-effect-2: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-2) 60%, var(--set-sec-color)) 0%, color-mix(in srgb, var(--set-color-1) 20%, var(--set-sec-color)) 20%, color-mix(in srgb, var(--set-color-1) 0%, var(--set-sec-color)) 80%);
  --set-s-effect-3: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-2) 60%, var(--set-sec-color)) 0%, color-mix(in srgb, var(--set-color-1) 20%, var(--set-sec-color)) 20%, color-mix(in srgb, var(--set-color-1) 0%, var(--set-sec-color)) 80%);
  background: var(--set-s-effect-1), var(--set-s-effect-2), var(--set-s-effect-3);
  background-position: 50% 20%, 50% 70%, 50% 75%;
  background-size: 150% 400%, 80% 400%, 600% 200%;
  background-repeat: no-repeat;
  border-radius: inherit;
  z-index: -1;
  transition: all 0.3s ease-in-out;
}

.cms-outline {
  border-style: solid;
  border-width: 1px;
  --set-background-color: transparent;
}

.cms-outline .cms-btn {
  color: var(--set-border-color);
  border-color: var(--set-border-color);
  transition: all 0.2s ease-in-out;
}

.cms-outline.cms-glow {
  --set-glow-active: inset 0 0 7px 2px var(--set-color-1), 0 0 3px 3px var(--set-color-1), 0 0 15px color-mix(in srgb, var(--set-color-1) 100%, transparent);
}

.cms-outline.cms-glossy {
  --set-glossy-active: linear-gradient(to bottom, color-mix(in srgb, var(--set-color-1) 20%, transparent) 0%, color-mix(in srgb, var(--set-color-1) 30%, transparent) 50%, color-mix(in srgb, var(--set-color-2) 20%, transparent) 51%, color-mix(in srgb, var(--set-color-2) 50%, transparent) 100%);
  background-size: 100% 110%;
  background-position: 0 -1px;
}

.cms-outline.cms-glass {
  position: relative;
  --set-background-color: transparent;
}

.cms-outline.cms-glass::before {
  box-shadow: inset 0 0 2px 1px color-mix(in srgb, var(--set-color-3) 50%, transparent);
  --set-s-effect-1: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-1) 60%, transparent) 0%, color-mix(in srgb, var(--set-color-1) 20%, transparent) 40%, color-mix(in srgb, var(--set-color-1) 0%, transparent) 100%);
  --set-s-effect-2: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-2) 60%, transparent) 0%, color-mix(in srgb, var(--set-color-1) 20%, transparent) 20%, color-mix(in srgb, var(--set-color-1) 0%, transparent) 80%);
  --set-s-effect-3: radial-gradient(ellipse at center, color-mix(in srgb, var(--set-color-2) 60%, transparent) 0%, color-mix(in srgb, var(--set-color-1) 20%, transparent) 20%, color-mix(in srgb, var(--set-color-1) 0%, transparent) 80%);
}

.cms-gradient {
  --set-gradient-active: linear-gradient(var(--set-gradient-deg), var(--set-color-2), var(--set-color-3));
}

.cms-singularity.cms-text-gradient,
.cms-singularity-check.cms-text-gradient .cms-choice-mark,
.cms-singularity-field.cms-text-gradient .cms-control {
  --set-gradient-active: linear-gradient(var(--set-gradient-deg), var(--set-color-2), var(--set-color-3));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cms-singularity.cms-text-gradient .cms-btn {
  background-image: linear-gradient(var(--set-gradient-deg), var(--set-color-2), var(--set-color-3));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cms-light-shadow {
  --set-shadow-active: inset 2px 1px 4px 0 color-mix(in srgb, var(--set-color-1) 50%, var(--cms-theme-color-1)), -4px -4px 12px color-mix(in srgb, var(--set-color-2) 10%, var(--cms-theme-color-1)), 4px 4px 12px color-mix(in srgb, var(--set-color-4) 60%, var(--cms-theme-color-1));
}

.cms-outline.cms-light-shadow {
  --set-border-color: var(--set-color-1) var(--set-color-2) var(--set-color-2) var(--set-color-1);
}

.cms-clickable {
  cursor: pointer;
}

.cms-clickable:hover {
  --set-background-color: color-mix(in srgb, var(--set-hover) 40%, transparent);
}

.cms-clickable.cms-gradient:hover {
  --set-gradient-active: linear-gradient(var(--set-gradient-deg), color-mix(in srgb, var(--set-color-2) 85%, white), color-mix(in srgb, var(--set-color-3) 85%, white));
}

.cms-clickable.cms-glass:hover {
  --set-background-color: color-mix(in srgb, var(--set-background-color) 40%, transparent);
  --set-color: var(--set-border-color);
}

.cms-clickable.cms-glass:hover::before {
  background-position: 50% 20%, 50% 90%, 50% 100%;
}

.cms-clickable.cms-outline:hover {
  --set-background-color: color-mix(in srgb, var(--set-hover) 8%, transparent);
  --set-color: var(--set-hover);
  outline: solid 1px color-mix(in srgb, var(--set-hover) 30%, transparent);
}

.cms-clickable.cms-text-gradient:hover {
  --set-gradient-active: linear-gradient(var(--set-gradient-deg), color-mix(in srgb, var(--set-color-2) 85%, white), color-mix(in srgb, var(--set-color-3) 85%, white));
}

.cms-clickable.cms-text-gradient:hover .cms-btn {
  background-image: linear-gradient(var(--set-gradient-deg), color-mix(in srgb, var(--set-color-2) 85%, white), color-mix(in srgb, var(--set-color-3) 85%, white));
}

/* === SINGULARITY === */
.cms-singularity {
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  color: var(--set-color);
  border-color: var(--set-border-color);
  border-radius: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  transition: all 0.2s ease-in-out;
}

.cms-singularity-field>.cms-control {
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  border-color: var(--set-border-color, var(--cms-border-color));
  border-radius: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  background-color: color-mix(in srgb, var(--set-background-color) 5%, transparent);
  color: var(--set-color);
  transition: all 0.2s ease-in-out;
}

.cms-singularity-check .cms-choice-mark {
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  color: var(--set-color);
  border-color: var(--set-border-color);
  transition: all 0.2s ease-in-out;
}

/*tutti che iniziano con cms-state-*/
[class*='cms-state-']:not(.cms-outline, .cms-state-secondary, .cms-dialog) {
  --set-color: var(--set-color-1);
}

.cms-state-secondary:not(.cms-outline, .cms-dialog) {
  --set-color: var(--set-color-1);
}

.cms-singularity-check.cms-choice-wrap.is-checked .cms-choice-mark .cms-icon {
  color: color-mix(in srgb, var(--set-hover), var(--cms-theme-color-9) 50%);
}

.cms-singularity-field.cms-field-fill>.cms-control {
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
}

.cms-singularity-field>.cms-control>.cms-mid.cms-with-left {
  border-left-color: var(--set-border-color, var(--cms-border-color));
  border-left-width: 1px;
  border-left-style: solid;
}

.cms-singularity-field>.cms-control>.cms-mid.cms-with-right {
  border-right-color: var(--set-border-color, var(--cms-border-color));
  border-right-width: 1px;
  border-right-style: solid;
}

.cms-singularity-field>.cms-control .cms-addon-left {
  padding-left: 10px;
  padding-right: 5px;
  --temp-rr: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  border-radius: calc(var(--temp-rr) - 1px) 0 0 calc(var(--temp-rr) - 1px);
}

.cms-singularity-field>.cms-control .cms-addon-right {
  padding-right: 5px;
  padding-left: 10px;
  --temp-rr: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  border-radius: 0 calc(var(--temp-rr) - 1px) calc(var(--temp-rr) - 1px) 0;
}

.cms-singularity-field>.cms-control .cms-addon {
  background-color: color-mix(in srgb, var(--set-background-color) 50%, var(--cms-theme-color-2));
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
  color: var(--set-color);
}

.cms-singularity-field>.cms-control>.cms-mid,
.cms-singularity-field>.cms-control>.cms-mid input {
  color: color-mix(in srgb, var(--set-color-4) 70%, var(--cms-theme-color-9));
}

.cms-singularity-field>.cms-control>.cms-mid>.cms-float-label {
  color: color-mix(in srgb, var(--set-color-4) 70%, var(--cms-theme-color-5));
}

.cms-singularity-field.cms-field-fill>.cms-control>.cms-mid>.cms-select>.cms-select-control {
  color: var(--set-color-1);
}

.cms-singularity-field.cms-field-fill>.cms-control>.cms-mid>.cms-float-label {
  color: color-mix(in srgb, var(--set-color-1) 80%, transparent);
}

.cms-singularity-field.cms-glass.cms-field-fill>.cms-control>.cms-mid>.cms-select>.cms-select-control {
  color: var(--set-color-2);
}

.cms-singularity-field.cms-glass.cms-field-fill>.cms-control>.cms-mid>.cms-float-label {
  color: color-mix(in srgb, var(--set-color-2) 80%, transparent);
}

.cms-singularity-menu-select {
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  color: var(--set-color);
  border-color: var(--set-border-color);
  border-radius: var(--set-border-radius, var(--cms-b-radius-default, 2px));
  background-color: color-mix(in srgb, var(--set-background-color) 4%, var(--cms-panel));
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
}

.cms-gradient.cms-singularity-menu-select.cms-select-menu-fill {
  background-image: linear-gradient(var(--set-gradient-deg), color-mix(in srgb, var(--set-color-2) 15%, transparent), color-mix(in srgb, var(--set-color-2) 40%, transparent));
}

.cms-glass.cms-singularity-menu-select {
  backdrop-filter: blur(1px);
  --set-background-color: color-mix(in srgb, var(--set-background-color) 40%, transparent);
  --set-color: var(--set-border-color);
}

.cms-glass.cms-singularity-check .cms-choice-mark {
  --set-background-color: color-mix(in srgb, var(--set-background-color) 40%, transparent);
  border-color: color-mix(in srgb, var(--set-border-color) 80%, transparent);
  --set-color: var(--set-border-color);
}

.cms-singularity-menu-select>.cms-select-options>.cms-select-option {
  color: var(--set-color-4);
  border-radius: var(--set-border-radius, var(--cms-b-radius-default, 2px));
}

.cms-singularity-menu-select>.cms-select-options>.cms-select-option.selected {
  border-color: var(--set-border-color, rgba(93, 95, 100, 0.35));
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  color: var(--set-color);
}

.cms-singularity-menu-select>.cms-select-options>.cms-select-option.active {
  outline: 2px solid color-mix(in srgb, var(--set-border-color) 50%, transparent);
}

.cms-glow.cms-singularity-menu-select>.cms-select-options>.cms-select-option {
  box-shadow: none;
}

.cms-glass.cms-singularity-menu-select>.cms-select-options>.cms-select-option {
  backdrop-filter: blur(2px);
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
}

.cms-singularity-menu-select>.cms-select-options>.cms-select-option.selected {
  outline: none;
  box-shadow: none;
}

.cms-singularity-menu-select>.cms-select-filter {
  border-bottom-color: var(--set-border-color);
}

.cms-singularity-menu-select>.cms-select-filter .cms-input {
  color: var(--set-color-4);
}

.cms-singularity-menu-select>.cms-select-filter .cms-input::placeholder {
  color: color-mix(in srgb, var(--set-color-3) 50%, transparent);
}

.cms-singularity-field>.cms-control>.cms-mid>.cms-select>.cms-select-control>.cms-select-value>.cms-chip {
  margin: 0 0 -4px 0;
  box-shadow: none;
}

.cms-clickable.cms-singularity:hover {
  background-color: var(--set-background-color);
  background-image: var(--set-glossy-active, none), var(--set-gradient-active, none);
  box-shadow: var(--set-shadow-active, 0 0 0 0), var(--set-glow-active, 0 0 0 0);
  color: var(--set-color);
  border-color: var(--set-border-color);
  transition: all 260ms ease;
}
