Skip to main content Home About the Design SystemRoadmap OverviewDesignersDevelopers OverviewColorGridIconographyInteractionsSpacingTypography Overview Global colorBox shadowTypographyBorderOpacitySpaceLengthIconBreakpointsMedia queries All elements Accordion Alert Announcement Audio player Avatar Back to top Badge Blockquote Breadcrumb Button Card Chip Code block Call to action Dialog Disclosure Footer Health index Icon Jump links Menu dropdown Navigation link Navigation (primary) Navigation (secondary) Navigation (vertical) Pagination PopoverPlanned Progress stepper Scheme toggle Site status Skeleton Skip link Spinner Statistic Subnavigation Surface Switch Table Tabs Tag Tile Timestamp Tooltip Video embed OverviewColor PalettesCustomizingDevelopers All PatternsAccordionCall to ActionCardFilterFormLink with iconLogo wallSearch barSticky bannerSticky cardTabsTagTile All Personalization PatternsAnnouncement FundamentalsAccessibility toolsAssistive technologiesCI/CDContentContributorsDesignDevelopmentManual testingResourcesScreen readers Design/code status Release notes Get support

Developers

OverviewInstallationUsageTokensCSS foundationsContributing
ResetFontsTypographyLayout and gridFAQsResetFontsTypographyLayout and gridFAQs

We use CSS patterns to create a foundation of typography and layout compositions within the design system. Below are some common foundational CSS patterns that we use in combination with our Tokens for this site, which you might find helpful for bootstrapping your own application, page, or website.

We also have element-specific patterns for extending our design system elements on our Patterns page.

Reset

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

/* Remove default margin */
:where(body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
figure,
figcaption,
blockquote,
dl,
dd) {
  margin: 0;
}

/* Default scroll behavior */
html:focus-within {
  scroll-behavior: smooth;
}

/* Inherit fonts for inputs and buttons */
:where(input,
button,
textarea,
select) {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

Fonts

Red Hat CDN

If you are on a *.redhat.com domain, you can use our CDN to access the Red Hat fonts:

https://www.redhatstatic.com/dssf-001/v2/@redhat/redhat-font@4.1.0/font.min.css

Hosted/bundled assets

Optionally, you can download the Red Hat fonts and include them directly in your project. Below is an example of how you might reference them in CSS:

@font-face {
  font-family: RedHatDisplay;
  src: url('path/to/fonts/RedHatDisplay/RedHatDisplay-Regular.woff');
  font-style: normal;
  font-weight: 400;
  text-rendering: optimizelegibility;
}

@font-face {
  font-family: RedHatDisplay;
  src: url('path/to/fonts/RedHatDisplay/RedHatDisplay-Medium.woff');
  font-style: normal;
  font-weight: 500;
  text-rendering: optimizelegibility;
}

@font-face {
  font-family: RedHatDisplay;
  src: url('path/to/fonts/RedHatDisplay/RedHatDisplay-Bold.woff');
  font-style: normal;
  font-weight: 700;
  text-rendering: optimizelegibility;
}

@font-face {
  font-family: RedHatText;
  src: url('path/to/fonts/RedHatText/RedHatText-Regular.woff');
  font-style: normal;
  font-weight: 400;
  text-rendering: optimizelegibility;
}

@font-face {
  font-family: RedHatText;
  src: url('path/to/fonts/RedHatText/RedHatText-Medium.woff');
  font-style: normal;
  font-weight: 500;
  text-rendering: optimizelegibility;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-Bold.woff2') format('woff2');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-BoldItalic.woff2') format('woff2');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-Italic.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-Regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: RedHatMono;
  src: url('path/to/fonts/RedHatMono/RedHatMono-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

Typography

We highly recommend using our tokens in your project, so that you can take full advantage of their utility throughout your code. Here is an example of how to set typography using our tokens:

body {
  font-family: var(--rh-font-family-body-text);
  font-size: 1rem;
  line-height: var(--rh-line-height-body-text);
}

:where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--rh-font-family-heading);
  line-height: var(--rh-line-height-heading);
  font-weight: var(--rh-font-weight-heading-medium);
}

:where(code) {
  font-size: inherit;
  font-family: var(--rh-font-family-code);
  line-height: var(--rh-line-height-code);
}

:where(kbd) {
  font-family: var(--rh-font-family-body-text);
  font-size: 1rem;
  line-height: var(--rh-line-height-body-text);
}

:where(h1) {
  font-size: var(--rh-font-size-heading-2xl);
}

:where(h2) {
  font-size: var(--rh-font-size-heading-xl);
}

:where(h3) {
  font-size: var(--rh-font-size-heading-lg);
}

:where(h4) {
  font-size: var(--rh-font-size-heading-md);
}

:where(h5) {
  font-size: var(--rh-font-size-heading-sm);
}

:where(h6) {
  font-size: var(--rh-font-size-heading-xs);
}

:where(p) {
  font-size: var(--rh-font-size-body-text-md);
}

:where(p, ul, ol, dl) {
  font-size: var(--rh-font-size-body-text-lg);
}

Layout and grid

There are a number of ways you can create layouts and grid systems within your application or website. With CSS Grid and Flexbox, it's never been easier.

CSS-based grid layout

/* stylelint-disable media-feature-range-notation */
/* stylelint-disable rhds/no-unknown-token-name */
.rhx-grid {
  --_rhx-grid-cols: var(--rhx-grid-columns, 12);
  --_rhx-grid-rows: var(--rhx-grid-rows, 1);

  display: grid;
  grid-template-rows: repeat(var(--_rhx-grid-rows), 1fr);
  grid-template-columns: repeat(var(--_rhx-grid-cols), 1fr);
  gap:
    var(--rhx-grid-column-gap,
      var(--rhx-grid-gap, var(--_rhx-grid-col-gap, var(--rh-space-lg, 16px)))),
    var(--rhx-grid-row-gap,
      var(--rhx-grid-gap, var(--_rhx-grid-row-gap, var(--rh-space-lg, 16px))));
  inline-size: 100%;

  &[data-rhx-cols~='2xs:1'] {
    --_rhx-grid-cols: 1;
  }

  &[data-rhx-cols~='2xs:2'] {
    --_rhx-grid-cols: 2;
  }

  &[data-rhx-cols~='2xs:3'] {
    --_rhx-grid-cols: 3;
  }

  &[data-rhx-cols~='2xs:4'] {
    --_rhx-grid-cols: 4;
  }

  &[data-rhx-cols~='2xs:5'] {
    --_rhx-grid-cols: 5;
  }

  &[data-rhx-cols~='2xs:6'] {
    --_rhx-grid-cols: 6;
  }

  &[data-rhx-cols~='2xs:7'] {
    --_rhx-grid-cols: 7;
  }

  &[data-rhx-cols~='2xs:8'] {
    --_rhx-grid-cols: 8;
  }

  &[data-rhx-cols~='2xs:9'] {
    --_rhx-grid-cols: 9;
  }

  &[data-rhx-cols~='2xs:10'] {
    --_rhx-grid-cols: 10;
  }

  &[data-rhx-cols~='2xs:11'] {
    --_rhx-grid-cols: 11;
  }

  &[data-rhx-cols~='2xs:12'] {
    --_rhx-grid-cols: 12;
  }

  & > *:not(.rhx-grid-item) {
    grid-column: auto;
  }

  & .rhx-grid-item {
    &[data-rhx-col-span] {
      grid-column: var(--_rhx-grid-col-start, auto)/span var(--_rhx-grid-col-span);
    }

    &[data-rhx-col-span~='2xs:1'] {
      --_rhx-grid-col-span: 1;
    }

    &[data-rhx-col-span~='2xs:2'] {
      --_rhx-grid-col-span: 2;
    }

    &[data-rhx-col-span~='2xs:3'] {
      --_rhx-grid-col-span: 3;
    }

    &[data-rhx-col-span~='2xs:4'] {
      --_rhx-grid-col-span: 4;
    }

    &[data-rhx-col-span~='2xs:5'] {
      --_rhx-grid-col-span: 5;
    }

    &[data-rhx-col-span~='2xs:6'] {
      --_rhx-grid-col-span: 6;
    }

    &[data-rhx-col-span~='2xs:7'] {
      --_rhx-grid-col-span: 7;
    }

    &[data-rhx-col-span~='2xs:8'] {
      --_rhx-grid-col-span: 8;
    }

    &[data-rhx-col-span~='2xs:9'] {
      --_rhx-grid-col-span: 9;
    }

    &[data-rhx-col-span~='2xs:10'] {
      --_rhx-grid-col-span: 10;
    }

    &[data-rhx-col-span~='2xs:11'] {
      --_rhx-grid-col-span: 11;
    }

    &[data-rhx-col-span~='2xs:12'] {
      --_rhx-grid-col-span: 12;
    }

    &[data-rhx-col-start] {
      grid-column-start: var(--_rhx-grid-col-start);
    }

    &[data-rhx-col-start~='2xs:2'] {
      --_rhx-grid-col-start: 2;
    }

    &[data-rhx-col-start~='2xs:3'] {
      --_rhx-grid-col-start: 3;
    }

    &[data-rhx-col-start~='2xs:4'] {
      --_rhx-grid-col-start: 4;
    }

    &[data-rhx-col-start~='2xs:5'] {
      --_rhx-grid-col-start: 5;
    }

    &[data-rhx-col-start~='2xs:6'] {
      --_rhx-grid-col-start: 6;
    }

    &[data-rhx-col-start~='2xs:7'] {
      --_rhx-grid-col-start: 7;
    }

    &[data-rhx-col-start~='2xs:8'] {
      --_rhx-grid-col-start: 8;
    }

    &[data-rhx-col-start~='2xs:9'] {
      --_rhx-grid-col-start: 9;
    }

    &[data-rhx-col-start~='2xs:10'] {
      --_rhx-grid-col-start: 10;
    }

    &[data-rhx-col-start~='2xs:11'] {
      --_rhx-grid-col-start: 11;
    }

    &[data-rhx-col-start~='2xs:12'] {
      --_rhx-grid-col-start: 12;
    }

    &[data-rhx-row-span] {
      grid-row: span var(--_rhx-grid-row-span);
    }

    &[data-rhx-row-span~='2xs:1'] {
      --_rhx-grid-row-span: 1;
    }

    &[data-rhx-row-span~='2xs:2'] {
      --_rhx-grid-row-span: 2;
    }

    &[data-rhx-row-span~='2xs:3'] {
      --_rhx-grid-row-span: 3;
    }

    &[data-rhx-row-span~='2xs:4'] {
      --_rhx-grid-row-span: 4;
    }

    &[data-rhx-row-span~='2xs:5'] {
      --_rhx-grid-row-span: 5;
    }

    &[data-rhx-row-span~='2xs:6'] {
      --_rhx-grid-row-span: 6;
    }

    &[data-rhx-row-span~='2xs:7'] {
      --_rhx-grid-row-span: 7;
    }

    &[data-rhx-row-span~='2xs:8'] {
      --_rhx-grid-row-span: 8;
    }

    &[data-rhx-row-span~='2xs:9'] {
      --_rhx-grid-row-span: 9;
    }

    &[data-rhx-row-span~='2xs:10'] {
      --_rhx-grid-row-span: 10;
    }

    &[data-rhx-row-span~='2xs:11'] {
      --_rhx-grid-row-span: 11;
    }

    &[data-rhx-row-span~='2xs:12'] {
      --_rhx-grid-row-span: 12;
    }

    &:has(.rhx-grid-item) {
      display: grid;
      grid-template-columns: subgrid;
      gap:
        var(--rhx-grid-column-gap, var(--rhx-grid-gap, var(--rh-space-2xl, 32px)))
        var(--rhx-grid-row-gap, var(--rhx-grid-gap, var(--rh-space-2xl, 32px)));
    }
  }

  &[query='container'] {
    @container (min-width: 576px) {
      [data-rhx-cols~='xs:1'] {
        --_rhx-grid-cols: 1;
      }

      [data-rhx-cols~='xs:2'] {
        --_rhx-grid-cols: 2;
      }

      [data-rhx-cols~='xs:3'] {
        --_rhx-grid-cols: 3;
      }

      [data-rhx-cols~='xs:4'] {
        --_rhx-grid-cols: 4;
      }

      [data-rhx-cols~='xs:5'] {
        --_rhx-grid-cols: 5;
      }

      [data-rhx-cols~='xs:6'] {
        --_rhx-grid-cols: 6;
      }

      [data-rhx-cols~='xs:7'] {
        --_rhx-grid-cols: 7;
      }

      [data-rhx-cols~='xs:8'] {
        --_rhx-grid-cols: 8;
      }

      [data-rhx-cols~='xs:9'] {
        --_rhx-grid-cols: 9;
      }

      [data-rhx-cols~='xs:10'] {
        --_rhx-grid-cols: 10;
      }

      [data-rhx-cols~='xs:11'] {
        --_rhx-grid-cols: 11;
      }

      [data-rhx-cols~='xs:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='xs:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='xs:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='xs:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='xs:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='xs:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='xs:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='xs:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='xs:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='xs:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='xs:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='xs:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='xs:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='xs:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='xs:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='xs:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='xs:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='xs:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='xs:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='xs:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='xs:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='xs:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='xs:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='xs:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='xs:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='xs:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='xs:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='xs:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='xs:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='xs:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='xs:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='xs:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='xs:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='xs:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='xs:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='xs:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='xs:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @container (min-width: 768px) {
      --_rhx-grid-col-gap: var(--rh-space-2xl, 32px);
      --_rhx-grid-row-gap: var(--rh-space-2xl, 32px);

      &[data-rhx-cols~='sm:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='sm:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='sm:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='sm:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='sm:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='sm:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='sm:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='sm:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='sm:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='sm:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='sm:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='sm:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='sm:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='sm:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='sm:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='sm:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='sm:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='sm:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='sm:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='sm:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='sm:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='sm:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='sm:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='sm:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='sm:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='sm:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='sm:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='sm:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='sm:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='sm:6'] {
          --_rhx-grid-col-start: 6;

          grid-column-start: var(--col-start);
        }

        &[data-rhx-col-start~='sm:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='sm:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='sm:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='sm:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='sm:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='sm:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='sm:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='sm:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='sm:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='sm:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='sm:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='sm:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='sm:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='sm:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='sm:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='sm:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='sm:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='sm:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @container (min-width: 992px) {
      &[data-rhx-cols~='md:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='md:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='md:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='md:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='md:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='md:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='md:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='md:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='md:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='md:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='md:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='md:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='md:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='md:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='md:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='md:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='md:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='md:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='md:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='md:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='md:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='md:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='md:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='md:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='md:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='md:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='md:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='md:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='md:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='md:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='md:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='md:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='md:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='md:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='md:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='md:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='md:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='md:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='md:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='md:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='md:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='md:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='md:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='md:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='md:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='md:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='md:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='md:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @container (min-width: 1200px) {
      &[data-rhx-cols~='lg:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='lg:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='lg:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='lg:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='lg:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='lg:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='lg:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='lg:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='lg:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='lg:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='lg:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='lg:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='lg:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='lg:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='lg:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='lg:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='lg:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='lg:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='lg:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='lg:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='lg:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='lg:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='lg:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='lg:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='lg:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='lg:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='lg:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='lg:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='lg:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='lg:6'] {
          --_rhx-grid-col-start: 6;

          grid-column-start: var(--col-start);
        }

        &[data-rhx-col-start~='lg:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='lg:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='lg:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='lg:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='lg:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='lg:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='lg:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='lg:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='lg:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='lg:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='lg:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='lg:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='lg:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='lg:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='lg:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='lg:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='lg:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='lg:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @container (min-width: 1440px) {
      &[data-rhx-cols~='xl:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='xl:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='xl:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='xl:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='xl:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='xl:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='xl:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='xl:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='xl:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='xl:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='xl:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='xl:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='xl:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='xl:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='xl:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='xl:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='xl:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='xl:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='xl:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='xl:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='xl:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='xl:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='xl:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='xl:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='xl:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='xl:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='xl:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='xl:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='xl:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='xl:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='xl:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='xl:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='xl:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='xl:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='xl:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='xl:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='xl:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='xl:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='xl:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='xl:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='xl:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='xl:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='xl:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='xl:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='xl:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='xl:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='xl:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='xl:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @container (min-width: 1680px) {
      &[data-rhx-cols~='2xl:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='2xl:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='2xl:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='2xl:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='2xl:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='2xl:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='2xl:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='2xl:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='2xl:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='2xl:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='2xl:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='2xl:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='2xl:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='2xl:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='2xl:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='2xl:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='2xl:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='2xl:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='2xl:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='2xl:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='2xl:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='2xl:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='2xl:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='2xl:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='2xl:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='2xl:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='2xl:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='2xl:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='2xl:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='2xl:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='2xl:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='2xl:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='2xl:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='2xl:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='2xl:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='2xl:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='2xl:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='2xl:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='2xl:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='2xl:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='2xl:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='2xl:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='2xl:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='2xl:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='2xl:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='2xl:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='2xl:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='2xl:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }
  }

  &:not([query='container']) {
    @media (width >= 576px) {
      &[data-rhx-cols~='xs:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='xs:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='xs:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='xs:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='xs:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='xs:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='xs:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='xs:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='xs:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='xs:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='xs:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='xs:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='xs:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='xs:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='xs:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='xs:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='xs:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='xs:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='xs:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='xs:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='xs:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='xs:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='xs:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='xs:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='xs:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='xs:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='xs:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='xs:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='xs:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='xs:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='xs:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='xs:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='xs:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='xs:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='xs:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='xs:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='xs:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='xs:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='xs:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='xs:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='xs:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='xs:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='xs:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='xs:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='xs:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='xs:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='xs:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='xs:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @media (width >= 768px) {
      --_rhx-grid-col-gap: var(--rh-space-2xl, 32px);
      --_rhx-grid-row-gap: var(--rh-space-2xl, 32px);

      &[data-rhx-cols~='sm:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='sm:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='sm:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='sm:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='sm:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='sm:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='sm:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='sm:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='sm:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='sm:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='sm:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='sm:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='sm:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='sm:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='sm:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='sm:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='sm:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='sm:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='sm:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='sm:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='sm:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='sm:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='sm:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='sm:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='sm:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='sm:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='sm:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='sm:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='sm:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='sm:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='sm:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='sm:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='sm:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='sm:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='sm:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='sm:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='sm:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='sm:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='sm:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='sm:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='sm:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='sm:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='sm:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='sm:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='sm:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='sm:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='sm:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='sm:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @media (width >= 992px) {
      &[data-rhx-cols~='md:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='md:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='md:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='md:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='md:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='md:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='md:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='md:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='md:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='md:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='md:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='md:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='md:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='md:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='md:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='md:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='md:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='md:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='md:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='md:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='md:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='md:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='md:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='md:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='md:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='md:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='md:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='md:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='md:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='md:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='md:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='md:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='md:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='md:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='md:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='md:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='md:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='md:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='md:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='md:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='md:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='md:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='md:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='md:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='md:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='md:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='md:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='md:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @media (width >= 1200px) {
      &[data-rhx-cols~='lg:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='lg:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='lg:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='lg:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='lg:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='lg:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='lg:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='lg:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='lg:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='lg:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='lg:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='lg:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='lg:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='lg:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='lg:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='lg:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='lg:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='lg:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='lg:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='lg:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='lg:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='lg:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='lg:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='lg:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='lg:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='lg:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='lg:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='lg:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='lg:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='lg:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='lg:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='lg:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='lg:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='lg:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='lg:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='lg:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='lg:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='lg:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='lg:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='lg:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='lg:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='lg:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='lg:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='lg:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='lg:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='lg:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='lg:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='lg:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @media (width >= 1440px) {
      &[data-rhx-cols~='xl:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='xl:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='xl:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='xl:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='xl:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='xl:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='xl:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='xl:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='xl:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='xl:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='xl:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='xl:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='xl:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='xl:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='xl:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='xl:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='xl:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='xl:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='xl:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='xl:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='xl:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='xl:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='xl:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='xl:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='xl:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='xl:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='xl:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='xl:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='xl:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='xl:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='xl:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='xl:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='xl:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='xl:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='xl:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='xl:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='xl:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='xl:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='xl:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='xl:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='xl:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='xl:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='xl:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='xl:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='xl:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='xl:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='xl:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='xl:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }

    @media (width >= 1680px) {
      &[data-rhx-cols~='2xl:1'] {
        --_rhx-grid-cols: 1;
      }

      &[data-rhx-cols~='2xl:2'] {
        --_rhx-grid-cols: 2;
      }

      &[data-rhx-cols~='2xl:3'] {
        --_rhx-grid-cols: 3;
      }

      &[data-rhx-cols~='2xl:4'] {
        --_rhx-grid-cols: 4;
      }

      &[data-rhx-cols~='2xl:5'] {
        --_rhx-grid-cols: 5;
      }

      &[data-rhx-cols~='2xl:6'] {
        --_rhx-grid-cols: 6;
      }

      &[data-rhx-cols~='2xl:7'] {
        --_rhx-grid-cols: 7;
      }

      &[data-rhx-cols~='2xl:8'] {
        --_rhx-grid-cols: 8;
      }

      &[data-rhx-cols~='2xl:9'] {
        --_rhx-grid-cols: 9;
      }

      &[data-rhx-cols~='2xl:10'] {
        --_rhx-grid-cols: 10;
      }

      &[data-rhx-cols~='2xl:11'] {
        --_rhx-grid-cols: 11;
      }

      &[data-rhx-cols~='2xl:12'] {
        --_rhx-grid-cols: 12;
      }

      & .rhx-grid-item {
        &[data-rhx-col-span~='2xl:1'] {
          --_rhx-grid-col-span: 1;
        }

        &[data-rhx-col-span~='2xl:2'] {
          --_rhx-grid-col-span: 2;
        }

        &[data-rhx-col-span~='2xl:3'] {
          --_rhx-grid-col-span: 3;
        }

        &[data-rhx-col-span~='2xl:4'] {
          --_rhx-grid-col-span: 4;
        }

        &[data-rhx-col-span~='2xl:5'] {
          --_rhx-grid-col-span: 5;
        }

        &[data-rhx-col-span~='2xl:6'] {
          --_rhx-grid-col-span: 6;
        }

        &[data-rhx-col-span~='2xl:7'] {
          --_rhx-grid-col-span: 7;
        }

        &[data-rhx-col-span~='2xl:8'] {
          --_rhx-grid-col-span: 8;
        }

        &[data-rhx-col-span~='2xl:9'] {
          --_rhx-grid-col-span: 9;
        }

        &[data-rhx-col-span~='2xl:10'] {
          --_rhx-grid-col-span: 10;
        }

        &[data-rhx-col-span~='2xl:11'] {
          --_rhx-grid-col-span: 11;
        }

        &[data-rhx-col-span~='2xl:12'] {
          --_rhx-grid-col-span: 12;
        }

        &[data-rhx-col-start~='2xl:1'] {
          --_rhx-grid-col-start: 1;
        }

        &[data-rhx-col-start~='2xl:2'] {
          --_rhx-grid-col-start: 2;
        }

        &[data-rhx-col-start~='2xl:3'] {
          --_rhx-grid-col-start: 3;
        }

        &[data-rhx-col-start~='2xl:4'] {
          --_rhx-grid-col-start: 4;
        }

        &[data-rhx-col-start~='2xl:5'] {
          --_rhx-grid-col-start: 5;
        }

        &[data-rhx-col-start~='2xl:6'] {
          --_rhx-grid-col-start: 6;
        }

        &[data-rhx-col-start~='2xl:7'] {
          --_rhx-grid-col-start: 7;
        }

        &[data-rhx-col-start~='2xl:8'] {
          --_rhx-grid-col-start: 8;
        }

        &[data-rhx-col-start~='2xl:9'] {
          --_rhx-grid-col-start: 9;
        }

        &[data-rhx-col-start~='2xl:10'] {
          --_rhx-grid-col-start: 10;
        }

        &[data-rhx-col-start~='2xl:11'] {
          --_rhx-grid-col-start: 11;
        }

        &[data-rhx-col-start~='2xl:12'] {
          --_rhx-grid-col-start: 12;
        }

        &[data-rhx-row-span~='2xl:1'] {
          --_rhx-grid-row-span: 1;
        }

        &[data-rhx-row-span~='2xl:2'] {
          --_rhx-grid-row-span: 2;
        }

        &[data-rhx-row-span~='2xl:3'] {
          --_rhx-grid-row-span: 3;
        }

        &[data-rhx-row-span~='2xl:4'] {
          --_rhx-grid-row-span: 4;
        }

        &[data-rhx-row-span~='2xl:5'] {
          --_rhx-grid-row-span: 5;
        }

        &[data-rhx-row-span~='2xl:6'] {
          --_rhx-grid-row-span: 6;
        }

        &[data-rhx-row-span~='2xl:7'] {
          --_rhx-grid-row-span: 7;
        }

        &[data-rhx-row-span~='2xl:8'] {
          --_rhx-grid-row-span: 8;
        }

        &[data-rhx-row-span~='2xl:9'] {
          --_rhx-grid-row-span: 9;
        }

        &[data-rhx-row-span~='2xl:10'] {
          --_rhx-grid-row-span: 10;
        }

        &[data-rhx-row-span~='2xl:11'] {
          --_rhx-grid-row-span: 11;
        }

        &[data-rhx-row-span~='2xl:12'] {
          --_rhx-grid-row-span: 12;
        }
      }
    }
  }
}

Experimental RHX Grid

If you'd prefer using a Web Component for layout and grid purposes, we have an experimental <rhx-grid> element available. You can install it using one of two ways:

  1. NPM @rhdx/elements
  2. Red Hat CDN
https://www.redhatstatic.com/dssf-001/v2/@rhdx/elements@0.0.1/elements/rhx-grid/rhx-grid.js

We'd love your feedback on <rhx-grid> and/or our CSS-based approach.

FAQs

Here are some frequently asked questions we get about our CSS patterns and other assets for bootstrapping applications, websites, and pages.

Why don't we ship these patterns in our npm package?

While we do ship our global tokens in the @rhds/tokens package, we are not shipping these CSS patterns yet. This is primarily because we want different teams and projects to try them out first, identify integration issues, and provide feedback.

We know that there are a lot of different CSS framework approaches, tool chains, and requirements across the different applications, domains, etc. used by the teams we support. So at this point, we feel it's a little premature to make a one-size-fits-all kind of recommendation. However, with these easily copyable example snippets, we encourage you to use LLM coding tools to adjust our recommendations to suit your toolchains, workflows, and conventions. We don’t have a specific timeframe for a more formal release, which is why we need you to try these out and give us your feedback.

Why don't we ship utility classes for each token like class="rh-color-text-primary"?

We'd like to encourage teams to move towards a more semantic, high-level approach to web design and development. Ideally, teams would block-out experiences using semantic, design system elements and patterns, and then make adjustments using the design system's theming features, color palettes, attributes, and variants which the design team designers and engineers have prepared for those very purposes. In doing so, teams can make their design knowledge portable across different projects, and they can be confident that they are shipping experiences which align with Red Hat's Brand standards.

© 2025 Red Hat Deploys by Netlify