← Back to Documentation

Styling & Customization

CSS Classes

Core

ClassElementPurpose
.gfr-repeat-groupRow wrapperGrid container for each row
.gfr-repeat-triggerContainerHolds the Add button
.gfr-actionsContainerFlex wrapper for row buttons
.gfr-add-btnButtonAdd Row (blue border)
.gfr-remove-btnButtonRemove Row (red border)
.gfr-copy-btnButtonCopy Row (blue, Pro)
.gfr-hiddenAnyHidden at min/max limits

Modules [Pro]

ClassPurpose
.gfr-row-headerRow header section
.gfr-row-labelRow numbering text
.gfr-drag-handleDrag handle
.gfr-collapse-btnCollapse/expand toggle
.gfr-collapsedApplied when row is collapsed
.gfr-draggingDuring drag operation
.gfr-drag-overDrop target indicator
.gfr-no-cloneExcluded from cloning

Data Attributes

On .gfr-repeat-group:

AttributePurpose
data-groupGroup name
data-row-indexRow position (1+, absent on row 0)
data-max-rowsMax row count
data-min-rowsMin row count
data-collapseCollapse enabled
data-draggableDrag-reorder enabled
data-row-label-tplRow numbering template
data-max-rows-fieldDynamic max source field ID
data-row-valuesSticky row values (JSON)

Custom Styling Examples

Card-style rows

.gfr-repeat-group {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

Target specific groups

.gfr-repeat-group[data-group="passengers"] {
    border-left: 3px solid #4f46e5;
}

Styled buttons

.gfr-add-btn {
    background: #4f46e5;
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
}

Theme Compatibility

Works with both GF’s legacy markup and the Orbital theme framework. Only repeater-specific elements are styled.