html {
    font-size: 62.5%;
}

.grid {
    width: 100%;
    display: block;
    padding: 0;
}

.grid.wide {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 1rem;
}

.grid.wide_x {
    max-width: 1600px;
    margin: 0 auto;
}

.grid.wide_x_p {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 1rem;
}

.res--grid14--template {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
}

.res--grid--template {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.res--grid10--template {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
}

.res--span--1 {
    grid-column: span 1;
}

.res--span--2 {
    grid-column: span 2;
}

.res--span--3 {
    grid-column: span 3;
}

.res--span--4 {
    grid-column: span 4;
}

.res--span--5 {
    grid-column: span 5;
}

.res--span--6 {
    grid-column: span 6;
}

.res--span--7 {
    grid-column: span 7;
}

.res--span--8 {
    grid-column: span 8;
}

.res--span--9 {
    grid-column: span 9;
}

.res--span--10 {
    grid-column: span 10;
}

.res--span--11 {
    grid-column: span 11;
}

.res--span--12 {
    grid-column: span 12;
}

.gap5 {
    gap: 5px
}

.gap10 {
    gap: 10px
}

.gap15 {
    gap: 15px
}

.gap20 {
    gap: 20px
}

.gap25 {
    gap: 25px
}

.gap30 {
    gap: 30px
}

.gap35 {
    gap: 35px
}

.gap40 {
    gap: 40px
}

.gap45 {
    gap: 45px
}

.gap50 {
    gap: 50px
}

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

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

.col0 {
    padding-left: 0px;
    padding-right: 0px;
}

.c-0 {
    display: none;
}

.c-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.c-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.c-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.c-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.c-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.c-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.c-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.c-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.c-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.c-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}

.c-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}

.c-12 {
    flex: 0 0 100%;
    max-width: 100%;
}


/* >= Tablet */

@media (min-width: 740px) {
    .row {
        margin-left: -8px;
        margin-right: -8px;
    }
    .col {
        padding-left: 8px;
        padding-right: 8px;
    }
    .m-0 {
        display: none;
    }
    .m-1,
    .m-2,
    .m-2-4,
    .m-3,
    .m-4,
    .m-5,
    .m-6,
    .m-7,
    .m-8,
    .m-9,
    .m-10,
    .m-11,
    .m-12 {
        display: block;
    }
    .m-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .m-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .m-2-4 {
        flex: 0 0 20%;
        max-width: 20%;
    }
    .m-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .m-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .m-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .m-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .m-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .m-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .m-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .m-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .m-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .m-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* PC medium resolution > */

@media (min-width: 1113px) {
    .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    .col {
        padding-left: 10px;
        padding-right: 10px;
    }
    .l-0 {
        display: none;
    }
    .l-1,
    .l-2,
    .l-2-4,
    .l-3,
    .l-4,
    .l-5,
    .l-6,
    .l-7,
    .l-8,
    .l-9,
    .l-10,
    .l-11,
    .l-12 {
        display: block;
    }
    .l-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .l-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .l-2-4 {
        flex: 0 0 20%;
        max-width: 20%;
    }
    .l-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .l-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .l-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .l-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .l-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .l-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .l-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .l-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .l-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .l-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* Tablet - PC low resolution */

@media (min-width: 740px) and (max-width: 1023px) {
    .wide {
        width: 100%;
    }
}


/* > PC low resolution */

@media (min-width: 1024px) and (max-width: 1239px) {
    .wide {
        width: 100%;
    }
    .wide .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    .wide .col {
        padding-left: 10px;
        padding-right: 10px;
    }
    .wide .l-0 {
        display: none;
    }
    .wide .l-1,
    .wide .l-2,
    .wide .l-2-4,
    .wide .l-3,
    .wide .l-4,
    .wide .l-5,
    .wide .l-6,
    .wide .l-7,
    .wide .l-8,
    .wide .l-9,
    .wide .l-10,
    .wide .l-11,
    .wide .l-12 {
        display: block;
    }
    .wide .l-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }
    .wide .l-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .wide .l-2-4 {
        flex: 0 0 20%;
        max-width: 20%;
    }
    .wide .l-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .wide .l-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .wide .l-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .wide .l-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .wide .l-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .wide .l-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .wide .l-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    .wide .l-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .wide .l-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .wide .l-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* =========table grid========== */

.d-grid {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: grid !important;
}

.g-l-1 {
    grid-template-columns: repeat(1, 1fr);
}

.g-l-2 {
    grid-template-columns: repeat(2, 1fr);
}

.g-l-3 {
    grid-template-columns: repeat(3, 1fr);
}

.g-l-4 {
    grid-template-columns: repeat(4, 1fr);
}

.g-l-5 {
    grid-template-columns: repeat(5, 1fr);
}

.g-l-6 {
    grid-template-columns: repeat(6, 1fr);
}

.g-l-7 {
    grid-template-columns: repeat(7, 1fr);
}

.g-l-8 {
    grid-template-columns: repeat(8, 1fr);
}

.g-l-9 {
    grid-template-columns: repeat(9, 1fr);
}

.g-l-10 {
    grid-template-columns: repeat(10, 1fr);
}

@media (max-width:1023.5px) {
    .g-m-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .g-m-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .g-m-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .g-m-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .g-m-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .g-m-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .g-m-7 {
        grid-template-columns: repeat(7, 1fr);
    }
    .g-m-8 {
        grid-template-columns: repeat(8, 1fr);
    }
    .g-m-9 {
        grid-template-columns: repeat(9, 1fr);
    }
    .g-m-10 {
        grid-template-columns: repeat(10, 1fr);
    }
}

@media (max-width:739.5px) {
    .g-c-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .g-c-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .g-c-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .g-c-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .g-c-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .g-c-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .g-c-7 {
        grid-template-columns: repeat(7, 1fr);
    }
    .g-c-8 {
        grid-template-columns: repeat(8, 1fr);
    }
    .g-c-9 {
        grid-template-columns: repeat(9, 1fr);
    }
    .g-c-10 {
        grid-template-columns: repeat(10, 1fr);
    }
}

.g5-l {
    grid-gap: 5px;
}

.g10-l {
    grid-gap: 10px;
}

.g15-l {
    grid-gap: 15px;
}

.g20-l {
    grid-gap: 20px;
}

.g25-l {
    grid-gap: 25px;
}

.g30-l {
    grid-gap: 30px;
}

.g35-l {
    grid-gap: 35px;
}

.g40-l {
    grid-gap: 40px;
}

.g45-l {
    grid-gap: 45px;
}

.g50-l {
    grid-gap: 50px;
}

@media (max-width:1023.5px) {
    .g5-m {
        grid-gap: 5px;
    }
    .g10-m {
        grid-gap: 10px;
    }
    .g15-m {
        grid-gap: 15px;
    }
    .g20-m {
        grid-gap: 20px;
    }
    .g25-m {
        grid-gap: 25px;
    }
    .g30-m {
        grid-gap: 30px;
    }
    .g35-m {
        grid-gap: 35px;
    }
    .g40-m {
        grid-gap: 40px;
    }
    .g45-m {
        grid-gap: 45px;
    }
    .g50-m {
        grid-gap: 50px;
    }
}

@media (max-width:739.5px) {
    .g5-c {
        grid-gap: 5px;
    }
    .g10-c {
        grid-gap: 10px;
    }
    .g15-c {
        grid-gap: 15px;
    }
    .g20-c {
        grid-gap: 20px;
    }
    .g25-c {
        grid-gap: 25px;
    }
    .g30-c {
        grid-gap: 30px;
    }
    .g35-c {
        grid-gap: 35px;
    }
    .g40-c {
        grid-gap: 40px;
    }
    .g45-c {
        grid-gap: 45px;
    }
    .g50-c {
        grid-gap: 50px;
    }
}