.grid-wrap {
    display: grid;
    grid-gap: var(--grid-spacing, 10px);
    margin: var(--grid-spacing, 10px) auto;
}

.grid-wrap.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-wrap.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-wrap.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid-wrap.grid-5 {
    grid-template-columns: repeat(5, 1fr);
}

.grid-wrap.grid-1-3 {
    grid-template-columns: 1fr 3fr;
}

.grid-wrap.grid-3-1 {
    grid-template-columns: 3fr 1fr;
}

.grid-wrap.grid-1-2 {
    grid-template-columns: 1fr 2fr;
}

.grid-wrap.grid-2-1 {
    grid-template-columns: 2fr 1fr;
}

@media (min-width: 993px) {
    .grid-wrap.grid-2[data-class*=half-grid] {
        max-width: calc(50% - (var(--grid-spacing, 10px) / 2));
    }
}

@media (min-width: 993px) {
    .grid-wrap.grid-2[data-class*=half-grid] {
        max-width: calc(50% - (var(--grid-spacing, 10px) / 2));
    }
}

@media (max-width: 992px) {
    .bg-color-inner {
        max-width: 768px;
    }

    .grid-wrap.grid-4,
    .grid-wrap.grid-5,
    .grid-wrap.grid-1-3,
    .grid-wrap.grid-3-1 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {

    .grid-wrap.grid-2:not(.half-grid),
    .grid-wrap.grid-3,
    .grid-wrap.grid-1-3,
    .grid-wrap.grid-3-1 {
        grid-template-columns: 1fr;
    }

    .grid-wrap.grid-4 {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 576px) {

    .grid-wrap.grid-2,
    .grid-wrap.grid-4 {
        grid-template-columns: 1fr;
    }
}