*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Thiết lập container */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
}

/* Thiết lập container full */
.container-full {
    padding: 0 var(--column-padding);
}

/* Thiết lập row */
.row {
    display: flex;
    margin-left: calc(0px - var(--column-padding));
    margin-right: calc(0px - var(--column-padding));
    flex-wrap: wrap;
}

.col-lg-1 {
    width: calc(1 / 12 * 100%);
    flex-basis: calc(1 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-2 {
    width: calc(2 / 12 * 100%);
    flex-basis: calc(2 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-3 {
    width: calc(3 / 12 * 100%);
    flex-basis: calc(3 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-4 {
    width: calc(4 / 12 * 100%);
    flex-basis: calc(4 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-5 {
    width: calc(5 / 12 * 100%);
    flex-basis: calc(5 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-6 {
    width: calc(6 / 12 * 100%);
    flex-basis: calc(6 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-7 {
    width: calc(7 / 12 * 100%);
    flex-basis: calc(7 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-8 {
    width: calc(8 / 12 * 100%);
    flex-basis: calc(8 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-9 {
    width: calc(9 / 12 * 100%);
    flex-basis: calc(9 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-10 {
    width: calc(10 / 12 * 100%);
    flex-basis: calc(10 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-11 {
    width: calc(11 / 12 * 100%);
    flex-basis: calc(11 / 12 * 100%);
    padding: 0 var(--column-padding);
}

.col-lg-12 {
    width: 100%;
    flex-basis: 100%;
    padding: 0 var(--column-padding);
}

/* Màn hình máy tính nhỏ  */
@media screen and (max-width: 1199px) {
    .container {
        padding: 0 var(--column-padding);
        max-width: 100%;
    }

    /* Tự động chuyển lg thành 1 cột */
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }

    .col-md-1 {
        width: calc(1 / 12 * 100%);
        flex-basis: calc(1 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-2 {
        width: calc(2 / 12 * 100%);
        flex-basis: calc(2 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-3 {
        width: calc(3 / 12 * 100%);
        flex-basis: calc(3 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-4 {
        width: calc(4 / 12 * 100%);
        flex-basis: calc(4 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-5 {
        width: calc(5 / 12 * 100%);
        flex-basis: calc(5 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-6 {
        width: calc(6 / 12 * 100%);
        flex-basis: calc(6 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-7 {
        width: calc(7 / 12 * 100%);
        flex-basis: calc(7 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-8 {
        width: calc(8 / 12 * 100%);
        flex-basis: calc(8 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-9 {
        width: calc(9 / 12 * 100%);
        flex-basis: calc(9 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-10 {
        width: calc(10 / 12 * 100%);
        flex-basis: calc(10 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-11 {
        width: calc(11 / 12 * 100%);
        flex-basis: calc(11 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-md-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }
}

/* Màn hình ipad, máy tính bảng */
@media screen and (max-width: 991px) {
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }

    .col-sm-1 {
        width: calc(1 / 12 * 100%);
        flex-basis: calc(1 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-2 {
        width: calc(2 / 12 * 100%);
        flex-basis: calc(2 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-3 {
        width: calc(3 / 12 * 100%);
        flex-basis: calc(3 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-4 {
        width: calc(4 / 12 * 100%);
        flex-basis: calc(4 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-5 {
        width: calc(5 / 12 * 100%);
        flex-basis: calc(5 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-6 {
        width: calc(6 / 12 * 100%);
        flex-basis: calc(6 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-7 {
        width: calc(7 / 12 * 100%);
        flex-basis: calc(7 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-8 {
        width: calc(8 / 12 * 100%);
        flex-basis: calc(8 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-9 {
        width: calc(9 / 12 * 100%);
        flex-basis: calc(9 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-10 {
        width: calc(10 / 12 * 100%);
        flex-basis: calc(10 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-11 {
        width: calc(11 / 12 * 100%);
        flex-basis: calc(11 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-sm-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }
}

/* Màn hình điện thoại */
@media screen and (max-width: 767px) {
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12,
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-sm-1,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }

    .col-xs-1 {
        width: calc(1 / 12 * 100%);
        flex-basis: calc(1 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-2 {
        width: calc(2 / 12 * 100%);
        flex-basis: calc(2 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-3 {
        width: calc(3 / 12 * 100%);
        flex-basis: calc(3 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-4 {
        width: calc(4 / 12 * 100%);
        flex-basis: calc(4 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-5 {
        width: calc(5 / 12 * 100%);
        flex-basis: calc(5 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-6 {
        width: calc(6 / 12 * 100%);
        flex-basis: calc(6 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-7 {
        width: calc(7 / 12 * 100%);
        flex-basis: calc(7 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-8 {
        width: calc(8 / 12 * 100%);
        flex-basis: calc(8 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-9 {
        width: calc(9 / 12 * 100%);
        flex-basis: calc(9 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-10 {
        width: calc(10 / 12 * 100%);
        flex-basis: calc(10 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-11 {
        width: calc(11 / 12 * 100%);
        flex-basis: calc(11 / 12 * 100%);
        padding: 0 var(--column-padding);
    }

    .col-xs-12 {
        width: 100%;
        flex-basis: 100%;
        padding: 0 var(--column-padding);
    }
}
