/* Default Value */
.grid {
    display: block;
    width: 100%;
    padding: 0;
}

.grid.wide {
    max-width: 1200px;
    margin: 0 auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px;
}

.col {
    padding-left: 4px;
    padding-right: 4px;
}

/* Use this class when you don't want any gutter  */
.row.no-gutters {
    margin-left: 0;
    margin-right: 0;
}

.row.no-gutters .col {
    padding-left: 0;
    padding-right: 0;
}

/* Collum */
/* c mean collum and this prefix class using for mobile */
/* m mean medium and this prefix class using for table  */
/* l mean large and this prefix class using for PC */


/* Mobile Grid  */
.c-0 {
    display: none;
}

.c-1 {
    --width: calc((100% / 12) * 1);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-2 {
    --width: calc((100% / 12) * 2);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-3 {
    --width: calc((100% / 12) * 3);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-4 {
    --width: calc((100% / 12) * 4);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-5 {
    --width: calc((100% / 12) * 5);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-6 {
    --width: calc((100% / 12) * 6);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-7 {
    --width: calc((100% / 12) * 7);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-8 {
    --width: calc((100% / 12) * 8);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-9 {
    --width: calc((100% / 12) * 9);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-10 {
    --width: calc((100% / 12) * 10);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-11 {
    --width: calc((100% / 12) * 11);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

.c-12 {
    --width: calc((100% / 12) * 12);
    flex: 0 0 var(--width);
    max-width: var(--width);
}

/* offset option  */

.c-o-1 {
    --width: calc((100% / 12) * 1);
    margin-left: var(--width);
}

.c-o-2 {
    --width: calc((100% / 12) * 2);
    margin-left: var(--width);
}

.c-o-3 {
    --width: calc((100% / 12) * 3);
    margin-left: var(--width);
}

.c-o-4 {
    --width: calc((100% / 12) * 4);
    margin-left: var(--width);
}

.c-o-5 {
    --width: calc((100% / 12) * 5);
    margin-left: var(--width);
}

.c-o-6 {
    --width: calc((100% / 12) * 6);
    margin-left: var(--width);
}

.c-o-7 {
    --width: calc((100% / 12) * 7);
    margin-left: var(--width);
}

.c-o-8 {
    --width: calc((100% / 12) * 8);
    margin-left: var(--width);
}

.c-o-9 {
    --width: calc((100% / 12) * 9);
    margin-left: var(--width);
}

.c-o-10 {
    --width: calc((100% / 12) * 10);
    margin-left: var(--width);
}

.c-o-11 {
    --width: calc((100% / 12) * 11);
    margin-left: var(--width);
}

/* Tablet Grid */
@media (min-width: 740px) {
    .row {
        margin-left: -8px;
        margin-right: -8px;
    }

    .col {
        padding-left: 8px;
        padding-right: 8px;
    }

    .m-0 {
        display: none;
    }

    .m-1 {
        --width: calc((100% / 12) * 1);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-2 {
        --width: calc((100% / 12) * 2);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-3 {
        --width: calc((100% / 12) * 3);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-4 {
        --width: calc((100% / 12) * 4);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-5 {
        --width: calc((100% / 12) * 5);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-6 {
        --width: calc((100% / 12) * 6);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-7 {
        --width: calc((100% / 12) * 7);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-8 {
        --width: calc((100% / 12) * 8);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-9 {
        --width: calc((100% / 12) * 9);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-10 {
        --width: calc((100% / 12) * 10);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-11 {
        --width: calc((100% / 12) * 11);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .m-12 {
        --width: calc((100% / 12) * 12);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }


    /* offset option  */

    .m-o-1 {
        --width: calc((100% / 12) * 1);
        margin-left: var(--width);
    }

    .m-o-2 {
        --width: calc((100% / 12) * 2);
        margin-left: var(--width);
    }

    .m-o-3 {
        --width: calc((100% / 12) * 3);
        margin-left: var(--width);
    }

    .m-o-4 {
        --width: calc((100% / 12) * 4);
        margin-left: var(--width);
    }

    .m-o-5 {
        --width: calc((100% / 12) * 5);
        margin-left: var(--width);
    }

    .m-o-6 {
        --width: calc((100% / 12) * 6);
        margin-left: var(--width);
    }

    .m-o-7 {
        --width: calc((100% / 12) * 7);
        margin-left: var(--width);
    }

    .m-o-8 {
        --width: calc((100% / 12) * 8);
        margin-left: var(--width);
    }

    .m-o-9 {
        --width: calc((100% / 12) * 9);
        margin-left: var(--width);
    }

    .m-o-10 {
        --width: calc((100% / 12) * 10);
        margin-left: var(--width);
    }

    .m-o-11 {
        --width: calc((100% / 12) * 11);
        margin-left: var(--width);
    }
}

/*  PC Low Res > */
@media (min-width: 1113px) {
    .row {
        margin-left: -12px;
        margin-right: -12px;
    }

    /* small gutter  */
    .row.sm-gutter {
        margin-left: -5px;
        margin-right: -5px;
    }

    .col {
        padding-left: 12px;
        padding-right: 12px;
    }

    .row.sm-gutter .col {
        padding-left: 5px;
        padding-right: 5px;
    }

    .l-0 {
        display: none;
    }

    .l-1 {
        --width: calc((100% / 12) * 1);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-2 {
        --width: calc((100% / 12) * 2);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-2-4 {
        --width: 20%;
        /* calc((100% / 12) * 2.4) */
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-3 {
        --width: calc((100% / 12) * 3);
        flex: 0 0 25%;
        max-width: 25%;
        display: block;
    }

    .l-4 {
        --width: calc((100% / 12) * 4);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-5 {
        --width: calc((100% / 12) * 5);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-6 {
        --width: calc((100% / 12) * 6);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-7 {
        --width: calc((100% / 12) * 7);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-8 {
        --width: calc((100% / 12) * 8);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-9 {
        --width: calc((100% / 12) * 9);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-10 {
        --width: calc((100% / 12) * 10);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-11 {
        --width: calc((100% / 12) * 11);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .l-12 {
        --width: calc((100% / 12) * 12);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }


    /* offset option  */

    .l-o-1 {
        --width: calc((100% / 12) * 1);
        margin-left: var(--width);
    }

    .l-o-2 {
        --width: calc((100% / 12) * 2);
        margin-left: var(--width);
    }

    .l-o-3 {
        --width: calc((100% / 12) * 3);
        margin-left: var(--width);
    }

    .l-o-4 {
        --width: calc((100% / 12) * 4);
        margin-left: var(--width);
    }

    .l-o-5 {
        --width: calc((100% / 12) * 5);
        margin-left: var(--width);
    }

    .l-o-6 {
        --width: calc((100% / 12) * 6);
        margin-left: var(--width);
    }

    .l-o-7 {
        --width: calc((100% / 12) * 7);
        margin-left: var(--width);
    }

    .l-o-8 {
        --width: calc((100% / 12) * 8);
        margin-left: var(--width);
    }

    .l-o-9 {
        --width: calc((100% / 12) * 9);
        margin-left: var(--width);
    }

    .l-o-10 {
        --width: calc((100% / 12) * 10);
        margin-left: var(--width);
    }

    .l-o-11 {
        --width: calc((100% / 12) * 11);
        margin-left: var(--width);
    }
}

/* PC low Res - PC High Res Grid*/
@media (min-width: 1024px) and (max-width: 1239px) {
    .wide {
        width: 984px;
    }

    .wide .row {
        margin-left: -12px;
        margin-right: -12px;
    }

    /* small gutter  */
    .wide .row.sm-gutter {
        margin-left: -5px;
        margin-right: -5px;
    }

    .wide .col {
        padding-left: 12px;
        padding-right: 12px;
    }

    .wide .row.sm-gutter .col {
        padding-left: 5px;
        padding-right: 5px;
    }

    .wide .l-0 {
        display: none;
    }

    .wide .l-1 {
        --width: calc((100% / 12) * 1);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-2 {
        --width: calc((100% / 12) * 2);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-2-4 {
        --width: 20%;
        /* calc((100% / 12) * 2.4) */
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-3 {
        --width: calc((100% / 12) * 3);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-4 {
        --width: calc((100% / 12) * 4);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-5 {
        --width: calc((100% / 12) * 5);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-6 {
        --width: calc((100% / 12) * 6);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-7 {
        --width: calc((100% / 12) * 7);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-8 {
        --width: calc((100% / 12) * 8);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-9 {
        --width: calc((100% / 12) * 9);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-10 {
        --width: calc((100% / 12) * 10);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-11 {
        --width: calc((100% / 12) * 11);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }

    .wide .l-12 {
        --width: calc((100% / 12) * 12);
        flex: 0 0 var(--width);
        max-width: var(--width);
        display: block;
    }


    /* offset option  */

    .wide .l-o-1 {
        --width: calc((100% / 12) * 1);
        margin-left: var(--width);
    }

    .wide .l-o-2 {
        --width: calc((100% / 12) * 2);
        margin-left: var(--width);
    }

    .wide .l-o-3 {
        --width: calc((100% / 12) * 3);
        margin-left: var(--width);
    }

    .wide .l-o-4 {
        --width: calc((100% / 12) * 4);
        margin-left: var(--width);
    }

    .wide .l-o-5 {
        --width: calc((100% / 12) * 5);
        margin-left: var(--width);
    }

    .wide .l-o-6 {
        --width: calc((100% / 12) * 6);
        margin-left: var(--width);
    }

    .wide .l-o-7 {
        --width: calc((100% / 12) * 7);
        margin-left: var(--width);
    }

    .wide .l-o-8 {
        --width: calc((100% / 12) * 8);
        margin-left: var(--width);
    }

    .wide .l-o-9 {
        --width: calc((100% / 12) * 9);
        margin-left: var(--width);
    }

    .wide .l-o-10 {
        --width: calc((100% / 12) * 10);
        margin-left: var(--width);
    }

    .wide .l-o-11 {
        --width: calc((100% / 12) * 11);
        margin-left: var(--width);
    }
}

/* Tablet - PC low Res */
@media (min-width: 740px) and (max-width: 1023px) {
    .wide {
        width: 644px;
    }
}