.grid {
    display: grid;
    grid-template-rows: repeat(var(--bs-rows, 1), 1fr);
    grid-template-columns: repeat(var(--bs-columns, 12), 1fr);
    gap: 15px;
}

.grid .g-col-1 {
    grid-column: auto/span 1
}

.grid .g-col-2 {
    grid-column: auto/span 2
}

.grid .g-col-3 {
    grid-column: auto/span 3
}

.grid .g-col-4 {
    grid-column: auto/span 4
}

.grid .g-col-5 {
    grid-column: auto/span 5
}

.grid .g-col-6 {
    grid-column: auto/span 6
}

.grid .g-col-7 {
    grid-column: auto/span 7
}

.grid .g-col-8 {
    grid-column: auto/span 8
}

.grid .g-col-9 {
    grid-column: auto/span 9
}

.grid .g-col-10 {
    grid-column: auto/span 10
}

.grid .g-col-11 {
    grid-column: auto/span 11
}

.grid .g-col-12 {
    grid-column: auto/span 12
}

.grid .g-start-1 {
    grid-column-start: 1
}

.grid .g-start-2 {
    grid-column-start: 2
}

.grid .g-start-3 {
    grid-column-start: 3
}

.grid .g-start-4 {
    grid-column-start: 4
}

.grid .g-start-5 {
    grid-column-start: 5
}

.grid .g-start-6 {
    grid-column-start: 6
}

.grid .g-start-7 {
    grid-column-start: 7
}

.grid .g-start-8 {
    grid-column-start: 8
}

.grid .g-start-9 {
    grid-column-start: 9
}

.grid .g-start-10 {
    grid-column-start: 10
}

.grid .g-start-11 {
    grid-column-start: 11
}

/* Top */
.top-0 { top: 0% !important; }
.top-5 { top: 5% !important; }
.top-10 { top: 10% !important; }
.top-15 { top: 15% !important; }
.top-20 { top: 20% !important; }
.top-25 { top: 25% !important; }
.top-30 { top: 30% !important; }
.top-35 { top: 35% !important; }
.top-40 { top: 40% !important; }
.top-45 { top: 45% !important; }
.top-50 { top: 50% !important; }
.top-55 { top: 55% !important; }
.top-60 { top: 60% !important; }
.top-65 { top: 65% !important; }
.top-70 { top: 70% !important; }
.top-75 { top: 75% !important; }
.top-80 { top: 80% !important; }
.top-85 { top: 85% !important; }
.top-90 { top: 90% !important; }
.top-95 { top: 95% !important; }
.top-100 { top: 100% !important; }

/* Bottom */
.bottom-0 { bottom: 0% !important; }
.bottom-5 { bottom: 5% !important; }
.bottom-10 { bottom: 10% !important; }
.bottom-15 { bottom: 15% !important; }
.bottom-20 { bottom: 20% !important; }
.bottom-25 { bottom: 25% !important; }
.bottom-30 { bottom: 30% !important; }
.bottom-35 { bottom: 35% !important; }
.bottom-40 { bottom: 40% !important; }
.bottom-45 { bottom: 45% !important; }
.bottom-50 { bottom: 50% !important; }
.bottom-55 { bottom: 55% !important; }
.bottom-60 { bottom: 60% !important; }
.bottom-65 { bottom: 65% !important; }
.bottom-70 { bottom: 70% !important; }
.bottom-75 { bottom: 75% !important; }
.bottom-80 { bottom: 80% !important; }
.bottom-85 { bottom: 85% !important; }
.bottom-90 { bottom: 90% !important; }
.bottom-95 { bottom: 95% !important; }
.bottom-100 { bottom: 100% !important; }

/* Start */
.start-0 { inset-inline-start: 0% !important; }
.start-5 { inset-inline-start: 5% !important; }
.start-10 { inset-inline-start: 10% !important; }
.start-15 { inset-inline-start: 15% !important; }
.start-20 { inset-inline-start: 20% !important; }
.start-25 { inset-inline-start: 25% !important; }
.start-30 { inset-inline-start: 30% !important; }
.start-35 { inset-inline-start: 35% !important; }
.start-40 { inset-inline-start: 40% !important; }
.start-45 { inset-inline-start: 45% !important; }
.start-50 { inset-inline-start: 50% !important; }
.start-55 { inset-inline-start: 55% !important; }
.start-60 { inset-inline-start: 60% !important; }
.start-65 { inset-inline-start: 65% !important; }
.start-70 { inset-inline-start: 70% !important; }
.start-75 { inset-inline-start: 75% !important; }
.start-80 { inset-inline-start: 80% !important; }
.start-85 { inset-inline-start: 85% !important; }
.start-90 { inset-inline-start: 90% !important; }
.start-95 { inset-inline-start: 95% !important; }
.start-100 { inset-inline-start: 100% !important; }

/* End */
.end-0 { inset-inline-end: 0% !important; }
.end-5 { inset-inline-end: 5% !important; }
.end-10 { inset-inline-end: 10% !important; }
.end-15 { inset-inline-end: 15% !important; }
.end-20 { inset-inline-end: 20% !important; }
.end-25 { inset-inline-end: 25% !important; }
.end-30 { inset-inline-end: 30% !important; }
.end-35 { inset-inline-end: 35% !important; }
.end-40 { inset-inline-end: 40% !important; }
.end-45 { inset-inline-end: 45% !important; }
.end-50 { inset-inline-end: 50% !important; }
.end-55 { inset-inline-end: 55% !important; }
.end-60 { inset-inline-end: 60% !important; }
.end-65 { inset-inline-end: 65% !important; }
.end-70 { inset-inline-end: 70% !important; }
.end-75 { inset-inline-end: 75% !important; }
.end-80 { inset-inline-end: 80% !important; }
.end-85 { inset-inline-end: 85% !important; }
.end-90 { inset-inline-end: 90% !important; }
.end-95 { inset-inline-end: 95% !important; }
.end-100 { inset-inline-end: 100% !important; }

@media (min-width: 576px) {
    .grid .g-col-sm-1 {
        grid-column:auto/span 1
    }

    .grid .g-col-sm-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-sm-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-sm-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-sm-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-sm-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-sm-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-sm-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-sm-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-sm-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-sm-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-sm-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-sm-1 {
        grid-column-start: 1
    }

    .grid .g-start-sm-2 {
        grid-column-start: 2
    }

    .grid .g-start-sm-3 {
        grid-column-start: 3
    }

    .grid .g-start-sm-4 {
        grid-column-start: 4
    }

    .grid .g-start-sm-5 {
        grid-column-start: 5
    }

    .grid .g-start-sm-6 {
        grid-column-start: 6
    }

    .grid .g-start-sm-7 {
        grid-column-start: 7
    }

    .grid .g-start-sm-8 {
        grid-column-start: 8
    }

    .grid .g-start-sm-9 {
        grid-column-start: 9
    }

    .grid .g-start-sm-10 {
        grid-column-start: 10
    }

    .grid .g-start-sm-11 {
        grid-column-start: 11
    }
}

@media (min-width: 768px) {
    .grid .g-col-md-1 {
        grid-column:auto/span 1
    }

    .grid .g-col-md-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-md-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-md-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-md-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-md-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-md-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-md-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-md-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-md-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-md-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-md-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-md-1 {
        grid-column-start: 1
    }

    .grid .g-start-md-2 {
        grid-column-start: 2
    }

    .grid .g-start-md-3 {
        grid-column-start: 3
    }

    .grid .g-start-md-4 {
        grid-column-start: 4
    }

    .grid .g-start-md-5 {
        grid-column-start: 5
    }

    .grid .g-start-md-6 {
        grid-column-start: 6
    }

    .grid .g-start-md-7 {
        grid-column-start: 7
    }

    .grid .g-start-md-8 {
        grid-column-start: 8
    }

    .grid .g-start-md-9 {
        grid-column-start: 9
    }

    .grid .g-start-md-10 {
        grid-column-start: 10
    }

    .grid .g-start-md-11 {
        grid-column-start: 11
    }
}

@media (min-width: 992px) {
    .grid .g-col-lg-1 {
        grid-column:auto/span 1
    }

    .grid .g-col-lg-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-lg-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-lg-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-lg-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-lg-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-lg-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-lg-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-lg-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-lg-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-lg-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-lg-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-lg-1 {
        grid-column-start: 1
    }

    .grid .g-start-lg-2 {
        grid-column-start: 2
    }

    .grid .g-start-lg-3 {
        grid-column-start: 3
    }

    .grid .g-start-lg-4 {
        grid-column-start: 4
    }

    .grid .g-start-lg-5 {
        grid-column-start: 5
    }

    .grid .g-start-lg-6 {
        grid-column-start: 6
    }

    .grid .g-start-lg-7 {
        grid-column-start: 7
    }

    .grid .g-start-lg-8 {
        grid-column-start: 8
    }

    .grid .g-start-lg-9 {
        grid-column-start: 9
    }

    .grid .g-start-lg-10 {
        grid-column-start: 10
    }

    .grid .g-start-lg-11 {
        grid-column-start: 11
    }
}

@media (min-width: 1200px) {
    .grid .g-col-xl-1 {
        grid-column:auto/span 1
    }

    .grid .g-col-xl-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-xl-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-xl-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-xl-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-xl-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-xl-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-xl-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-xl-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-xl-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-xl-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-xl-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-xl-1 {
        grid-column-start: 1
    }

    .grid .g-start-xl-2 {
        grid-column-start: 2
    }

    .grid .g-start-xl-3 {
        grid-column-start: 3
    }

    .grid .g-start-xl-4 {
        grid-column-start: 4
    }

    .grid .g-start-xl-5 {
        grid-column-start: 5
    }

    .grid .g-start-xl-6 {
        grid-column-start: 6
    }

    .grid .g-start-xl-7 {
        grid-column-start: 7
    }

    .grid .g-start-xl-8 {
        grid-column-start: 8
    }

    .grid .g-start-xl-9 {
        grid-column-start: 9
    }

    .grid .g-start-xl-10 {
        grid-column-start: 10
    }

    .grid .g-start-xl-11 {
        grid-column-start: 11
    }
}

@media (min-width: 1400px) {
    .grid .g-col-xxl-1 {
        grid-column:auto/span 1
    }

    .grid .g-col-xxl-2 {
        grid-column: auto/span 2
    }

    .grid .g-col-xxl-3 {
        grid-column: auto/span 3
    }

    .grid .g-col-xxl-4 {
        grid-column: auto/span 4
    }

    .grid .g-col-xxl-5 {
        grid-column: auto/span 5
    }

    .grid .g-col-xxl-6 {
        grid-column: auto/span 6
    }

    .grid .g-col-xxl-7 {
        grid-column: auto/span 7
    }

    .grid .g-col-xxl-8 {
        grid-column: auto/span 8
    }

    .grid .g-col-xxl-9 {
        grid-column: auto/span 9
    }

    .grid .g-col-xxl-10 {
        grid-column: auto/span 10
    }

    .grid .g-col-xxl-11 {
        grid-column: auto/span 11
    }

    .grid .g-col-xxl-12 {
        grid-column: auto/span 12
    }

    .grid .g-start-xxl-1 {
        grid-column-start: 1
    }

    .grid .g-start-xxl-2 {
        grid-column-start: 2
    }

    .grid .g-start-xxl-3 {
        grid-column-start: 3
    }

    .grid .g-start-xxl-4 {
        grid-column-start: 4
    }

    .grid .g-start-xxl-5 {
        grid-column-start: 5
    }

    .grid .g-start-xxl-6 {
        grid-column-start: 6
    }

    .grid .g-start-xxl-7 {
        grid-column-start: 7
    }

    .grid .g-start-xxl-8 {
        grid-column-start: 8
    }

    .grid .g-start-xxl-9 {
        grid-column-start: 9
    }

    .grid .g-start-xxl-10 {
        grid-column-start: 10
    }

    .grid .g-start-xxl-11 {
        grid-column-start: 11
    }
}