.grid {
    display: flex;
    flex-wrap: wrap;
}
.fixed_grid {
    display: flex;
    flex-wrap: wrap;
}

.grid-nogutter {
    margin-right: 0;
    margin-left: 0;
    margin-top: 0;
}

.col {
    flex-grow: 1;
    flex-basis: 0;
    padding: .2rem;
}

.col-fixed {
    flex: 0 0 auto;
    padding: .2rem;
}

.fixed_grid .col-1 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(8.3333% - .4rem);
}

.fixed_grid .col-2 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(16.6667% - .4rem);
}

.fixed_grid .col-3 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(25% - .4rem);
}

.fixed_grid .col-4 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(33.3333% - .4rem);
}

.fixed_grid .col-5 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(41.6667% - .4rem);
}

.fixed_grid .col-6 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(50% - .4rem);
}

.fixed_grid .col-7 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(58.3333% - .4rem);
}

.fixed_grid .col-8 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(66.6667% - .4rem);
}

.fixed_grid .col-9 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(75% - .4rem);
}

.fixed_grid .col-10 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(83.3333% - .4rem);
}

.fixed_grid .col-11 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(91.6667% - .4rem);
}

.fixed_grid .col-12 {
    flex: 0 0 auto;
    padding: .2rem;
    width: calc(100% - .4rem);
}

.fixed_grid .col-offset-0 {
    margin-left: 0;
}

.fixed_grid .col-offset-1 {
    margin-left: 8.3333%;
}

.fixed_grid .col-offset-2 {
    margin-left: 16.6667%;
}

.fixed_grid .col-offset-3 {
    margin-left: 25%;
}

.fixed_grid .col-offset-4 {
    margin-left: 33.3333%;
}

.fixed_grid .col-offset-5 {
    margin-left: 41.6667%;
}

.fixed_grid .col-offset-6 {
    margin-left: 50%;
}

.fixed_grid .col-offset-7 {
    margin-left: 58.3333%;
}

.fixed_grid .col-offset-8 {
    margin-left: 66.6667%;
}

.fixed_grid .col-offset-9 {
    margin-left: 75%;
}

.fixed_grid .col-offset-10 {
    margin-left: 83.3333%;
}

.fixed_grid .col-offset-11 {
    margin-left: 91.6667%;
}

.fixed_grid .col-offset-12 {
    margin-left: 100%;
}

@media screen and (min-device-width: 500px) {
    .grid .col-1 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(8.3333% - .4rem);
    }

    .grid .col-2 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(16.6667% - .4rem);
    }

    .grid .col-3 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(25% - .4rem);
    }

    .grid .col-4 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(33.3333% - .4rem);
    }

    .grid .col-5 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(41.6667% - .4rem);
    }

    .grid .col-6 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(50% - .4rem);
    }

    .grid .col-7 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(58.3333% - .4rem);
    }

    .grid .col-8 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(66.6667% - .4rem);
    }

    .grid .col-9 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(75% - .4rem);
    }

    .grid .col-10 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(83.3333% - .4rem);
    }

    .grid .col-11 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(91.6667% - .4rem);
    }

    .grid .col-12 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-offset-0 {
        margin-left: 0;
    }

    .grid .col-offset-1 {
        margin-left: 8.3333%;
    }

    .grid .col-offset-2 {
        margin-left: 16.6667%;
    }

    .grid .col-offset-3 {
        margin-left: 25%;
    }

    .grid .col-offset-4 {
        margin-left: 33.3333%;
    }

    .grid .col-offset-5 {
        margin-left: 41.6667%;
    }

    .grid .col-offset-6 {
        margin-left: 50%;
    }

    .grid .col-offset-7 {
        margin-left: 58.3333%;
    }

    .grid .col-offset-8 {
        margin-left: 66.6667%;
    }

    .grid .col-offset-9 {
        margin-left: 75%;
    }

    .grid .col-offset-10 {
        margin-left: 83.3333%;
    }

    .grid .col-offset-11 {
        margin-left: 91.6667%;
    }

    .grid .col-offset-12 {
        margin-left: 100%;
    }
}

@media screen and (max-device-width: 499px) {
    .grid .col-1 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(16.6667% - .4rem);
    }

    .grid .col-2 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(33.3333% - .4rem);
    }

    .grid .col-3 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(50% - .4rem);
    }

    .grid .col-4 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(66.6667% - .4rem);
    }

    .grid .col-5 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(83.3333% - .4rem);
    }

    .grid .col-6 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-7 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-8 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-9 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-10 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-11 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-12 {
        flex: 0 0 auto;
        padding: .2rem;
        width: calc(100% - .4rem);
    }

    .grid .col-offset-0 {
        margin-left: 0;
    }

    .grid .col-offset-1 {
        margin-left: 16.6667%;
    }

    .grid .col-offset-2 {
        margin-left: 33.3333%;
    }

    .grid .col-offset-3 {
        margin-left: 50%;
    }

    .grid .col-offset-4 {
        margin-left: 66.6667%;
    }

    .grid .col-offset-5 {
        margin-left: 83.3333%;
    }

    .grid .col-offset-6 {
        margin-left: 100%;
    }

    .grid .col-offset-7 {
        margin-left: 100%;
    }

    .grid .col-offset-8 {
        margin-left: 100%;
    }

    .grid .col-offset-9 {
        margin-left: 100%;
    }

    .grid .col-offset-10 {
        margin-left: 100%;
    }

    .grid .col-offset-11 {
        margin-left: 100%;
    }

    .grid .col-offset-12 {
        margin-left: 100%;
    }
}
