.row, section {
    --row-bg-color: var(--color-white);
    --row-overlay-opacity: 0.5;
    padding-top: var(--padding-rows);
    padding-bottom: var(--padding-rows);
    background-color: var(--color-white);
}

.row.row-comfortable,
section.row-comfortable {
    padding-top: calc(var(--padding-rows) * 1.5);
    padding-bottom: calc(var(--padding-rows) * 1.5);
}

.row.row-compact,
section.row-compact {
    padding-top: calc(var(--padding-rows) / 2);
    padding-bottom: calc(var(--padding-rows) / 2);
}

.row:has(> .row-image), 
section:has(> .row-image) {
    position: relative;
}

.row:has(> .row-image) > .container, 
section:has(> .row-image) > .container {
    position: relative;
    z-index: 2;
}

.row-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.row-image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.row.bg-black, section.bg-black {
	--row-bg-color: var(--color-black);
}

.row.bg-white, section.bg-white {
	--row-bg-color: var(--color-white);
}

.row.bg-light-grey, section.bg-light-grey {
	--row-bg-color: var(--color-light-grey);
}

.row.bg-grey, section.bg-grey {
	--row-bg-color: var(--color-grey);
}

.row.bg-dark-grey, section.bg-dark-grey {
	--row-bg-color: var(--color-dark-grey);
}

.row.bg-primary, section.bg-primary {
	--row-bg-color: var(--color-primary);
}

.row.bg-secondary, section.bg-secondary {
	--row-bg-color: var(--color-secondary);
}

.row.bg-tertiary, section.bg-tertiary {
	--row-bg-color: var(--color-tertiary);
}

.row-overlay-solid .row-image::after,
.row-overlay-gradient .row-image::after {
	content: '';
	position: absolute;
	opacity: var(--row-overlay-opacity);
	inset: 0;
	z-index: 1;
}

.row-overlay-solid .row-image::after {
	background-color: var(--row-bg-color);
}

.row-overlay-gradient .row-image::after {
	background: linear-gradient(to bottom, transparent 0%, var(--banner-bg-color) 100%);
}

.overlay-opacity-10 {
    --row-overlay-opacity: 0.
    1;
}

.overlay-opacity-20 {
    --row-overlay-opacity: 0.2;
}

.overlay-opacity-30 {
    --row-overlay-opacity: 0.3;
}

.overlay-opacity-40 {
    --row-overlay-opacity: 0.4;
}

.overlay-opacity-50 {
    --row-overlay-opacity: 0.5;
}

.overlay-opacity-60 {
    --row-overlay-opacity: 0.6;
}

.overlay-opacity-70 {
    --row-overlay-opacity: 0.7;
}

.overlay-opacity-80 {
    --row-overlay-opacity: 0.8;
}

.overlay-opacity-90 {
    --row-overlay-opacity: 0.9;
}

.overlay-opacity-100 {
    --row-overlay-opacity: 1;
}