.xleb-flex-row {
    display: flex;
    width: var(--containerWidth);
    min-width: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    --xleb-flex-default-gap: 0;
}

.xleb-flex-row--has-columns > * {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
}

.xleb-flex-row--has-columns {
    display: grid;
    --xleb-flex-default-gap: var(--columnGap);
    gap: var(--columnGap);
    grid-template-columns: repeat(var(--xleb-flex-columns-current), minmax(0, 1fr));
}

.xleb-flex-columns-desktop-1 { --xleb-flex-columns-current: 1; }
.xleb-flex-columns-desktop-2 { --xleb-flex-columns-current: 2; }
.xleb-flex-columns-desktop-3 { --xleb-flex-columns-current: 3; }
.xleb-flex-columns-desktop-4 { --xleb-flex-columns-current: 4; }
.xleb-flex-columns-desktop-5 { --xleb-flex-columns-current: 5; }
.xleb-flex-columns-desktop-6 { --xleb-flex-columns-current: 6; }
.xleb-flex-columns-desktop-7 { --xleb-flex-columns-current: 7; }
.xleb-flex-columns-desktop-8 { --xleb-flex-columns-current: 8; }
.xleb-flex-columns-desktop-9 { --xleb-flex-columns-current: 9; }
.xleb-flex-columns-desktop-10 { --xleb-flex-columns-current: 10; }
.xleb-flex-columns-desktop-11 { --xleb-flex-columns-current: 11; }
.xleb-flex-columns-desktop-12 { --xleb-flex-columns-current: 12; }

@media (max-width: 767px) {
    .xleb-flex-columns-mobile-1 { --xleb-flex-columns-current: 1; }
    .xleb-flex-columns-mobile-2 { --xleb-flex-columns-current: 2; }
    .xleb-flex-columns-mobile-3 { --xleb-flex-columns-current: 3; }
    .xleb-flex-columns-mobile-4 { --xleb-flex-columns-current: 4; }
    .xleb-flex-columns-mobile-5 { --xleb-flex-columns-current: 5; }
    .xleb-flex-columns-mobile-6 { --xleb-flex-columns-current: 6; }
    .xleb-flex-columns-mobile-7 { --xleb-flex-columns-current: 7; }
    .xleb-flex-columns-mobile-8 { --xleb-flex-columns-current: 8; }
    .xleb-flex-columns-mobile-9 { --xleb-flex-columns-current: 9; }
    .xleb-flex-columns-mobile-10 { --xleb-flex-columns-current: 10; }
    .xleb-flex-columns-mobile-11 { --xleb-flex-columns-current: 11; }
    .xleb-flex-columns-mobile-12 { --xleb-flex-columns-current: 12; }

    .xleb-flex-row {
        flex-direction: var(--xleb-flex-direction-mobile, var(--xleb-flex-direction-tablet, var(--xleb-flex-direction-desktop)));
        flex-wrap: var(--xleb-flex-wrap-mobile, var(--xleb-flex-wrap-tablet, var(--xleb-flex-wrap-desktop)));
        justify-content: var(--xleb-flex-justify-mobile, var(--xleb-flex-justify-tablet, var(--xleb-flex-justify-desktop)));
        align-items: var(--xleb-flex-align-mobile, var(--xleb-flex-align-tablet, var(--xleb-flex-align-desktop)));
        --xleb-flex-gap-current: var(--xleb-flex-gap-mobile, var(--xleb-flex-gap-tablet, var(--xleb-flex-gap-desktop, var(--xleb-flex-default-gap))));
        gap: var(--xleb-flex-gap-current);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-1 { --xleb-flex-columns-current: 1; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-2 { --xleb-flex-columns-current: 2; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-3 { --xleb-flex-columns-current: 3; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-4 { --xleb-flex-columns-current: 4; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-5 { --xleb-flex-columns-current: 5; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-6 { --xleb-flex-columns-current: 6; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-7 { --xleb-flex-columns-current: 7; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-8 { --xleb-flex-columns-current: 8; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-9 { --xleb-flex-columns-current: 9; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-10 { --xleb-flex-columns-current: 10; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-11 { --xleb-flex-columns-current: 11; }
    .xleb-flex-row:not(.xleb-flex-row--desktop-992).xleb-flex-columns-tablet-12 { --xleb-flex-columns-current: 12; }

    .xleb-flex-row {
        flex-direction: var(--xleb-flex-direction-tablet, var(--xleb-flex-direction-desktop));
        flex-wrap: var(--xleb-flex-wrap-tablet, var(--xleb-flex-wrap-desktop));
        justify-content: var(--xleb-flex-justify-tablet, var(--xleb-flex-justify-desktop));
        align-items: var(--xleb-flex-align-tablet, var(--xleb-flex-align-desktop));
        --xleb-flex-gap-current: var(--xleb-flex-gap-tablet, var(--xleb-flex-gap-desktop, var(--xleb-flex-default-gap)));
        gap: var(--xleb-flex-gap-current);
    }
}

@media (min-width: 1200px) {
    .xleb-flex-row {
        flex-direction: var(--xleb-flex-direction-desktop);
        flex-wrap: var(--xleb-flex-wrap-desktop);
        justify-content: var(--xleb-flex-justify-desktop);
        align-items: var(--xleb-flex-align-desktop);
        --xleb-flex-gap-current: var(--xleb-flex-gap-desktop, var(--xleb-flex-default-gap));
        gap: var(--xleb-flex-gap-current);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-1 { --xleb-flex-columns-current: 1; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-2 { --xleb-flex-columns-current: 2; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-3 { --xleb-flex-columns-current: 3; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-4 { --xleb-flex-columns-current: 4; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-5 { --xleb-flex-columns-current: 5; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-6 { --xleb-flex-columns-current: 6; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-7 { --xleb-flex-columns-current: 7; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-8 { --xleb-flex-columns-current: 8; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-9 { --xleb-flex-columns-current: 9; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-10 { --xleb-flex-columns-current: 10; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-11 { --xleb-flex-columns-current: 11; }
    .xleb-flex-row.xleb-flex-row--desktop-992.xleb-flex-columns-tablet-12 { --xleb-flex-columns-current: 12; }

    .xleb-flex-row.xleb-flex-row--desktop-992 {
        flex-direction: var(--xleb-flex-direction-tablet, var(--xleb-flex-direction-desktop));
        flex-wrap: var(--xleb-flex-wrap-tablet, var(--xleb-flex-wrap-desktop));
        justify-content: var(--xleb-flex-justify-tablet, var(--xleb-flex-justify-desktop));
        align-items: var(--xleb-flex-align-tablet, var(--xleb-flex-align-desktop));
        --xleb-flex-gap-current: var(--xleb-flex-gap-tablet, var(--xleb-flex-gap-desktop, var(--xleb-flex-default-gap)));
        gap: var(--xleb-flex-gap-current);
    }
}

@media (min-width: 992px) {
    .xleb-flex-row.xleb-flex-row--desktop-992 {
        flex-direction: var(--xleb-flex-direction-desktop);
        flex-wrap: var(--xleb-flex-wrap-desktop);
        justify-content: var(--xleb-flex-justify-desktop);
        align-items: var(--xleb-flex-align-desktop);
        --xleb-flex-gap-current: var(--xleb-flex-gap-desktop, var(--xleb-flex-default-gap));
        gap: var(--xleb-flex-gap-current);
    }
}
