/* 边框 */
.rounded {
    border-radius: .25rem;
}

.circle {
    border-radius: 50%
}

/* flex */
.d-flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-column {
    flex-direction: column;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

.align-items-center {
    align-items: center;
}

.flex-fill {
    flex: 1 1 auto;
}

/* font */
.font-weight-bold {
    font-weight: bold;
}

/* color */
.text-primary {
    color: #007bff;
}

.text-success {
    color: #28a745;
}

.text-info {
    color: #17a2b8;
}

.text-warning {
    color: #ffc107;
}

.text-danger {
    color: #dc3545;
}

.text-secondary {
    color: #6c757d;
}

.text-dark {
    color: #343a40;
}

.text-light {
    color: #f8f9fa;
}

.text-white {
    color: #fff;
}

.text-orange {
    color: orange;
}

.text-brown {
    color: #8B4513;
}

.bg-primary {
    background-color: #007bff;
}

.bg-success {
    background-color: #28a745;
}

.bg-info {
    background-color: #17a2b8;
}

.bg-warning {
    background-color: #ffc107;
}

.bg-danger {
    background-color: #dc3545;
}

.bg-secondary {
    background-color: #6c757d;
}

.bg-dark {
    background-color: #343a40;
}

.bg-light {
    background-color: #f8f9fa;
}

.bg-white {
    background-color: #fff;
}

/* padding */
.p-1 {
    padding: .25rem;
}

.p-2 {
    padding: .5rem;
}

.p-3 {
    padding: .75rem;
}

.p-4 {
    padding: 1rem;
}

.p-5 {
    padding: 1.25rem;
}

.p-6 {
    padding: 1.5rem;
}

.p-7 {
    padding: 1.75rem;
}

.p-8 {
    padding: 2rem;
}

.pt-1 {
    padding-top: .25rem;
}

.pt-2 {
    padding-top: .5rem;
}

.pt-3 {
    padding-top: .75rem;
}

.pt-4 {
    padding-top: 1rem;
}

.pt-5 {
    padding-top: 1.25rem;
}

.pt-6 {
    padding-top: 1.5rem;
}

.pt-7 {
    padding-top: 1.75rem;
}

.pt-8 {
    padding-top: 2rem;
}

.pr-1 {
    padding-right: .25rem;
}

.pr-2 {
    padding-right: .5rem;
}

.pr-3 {
    padding-right: .75rem;
}

.pr-4 {
    padding-right: 1rem;
}

.pr-5 {
    padding-right: 1.25rem;
}

.pr-6 {
    padding-right: 1.5rem;
}

.pr-7 {
    padding-right: 1.75rem;
}

.pr-8 {
    padding-right: 2rem;
}

.pb-1 {
    padding-bottom: .25rem;
}

.pb-2 {
    padding-bottom: .5rem;
}

.pb-3 {
    padding-bottom: .75rem;
}

.pb-4 {
    padding-bottom: 1rem;
}

.pb-5 {
    padding-bottom: 1.25rem;
}

.pb-6 {
    padding-bottom: 1.5rem;
}

.pb-7 {
    padding-bottom: 1.75rem;
}

.pb-8 {
    padding-bottom: 2rem;
}

.pl-1 {
    padding-left: .25rem;
}

.pl-2 {
    padding-left: .5rem;
}

.pl-3 {
    padding-left: .75rem;
}

.pl-4 {
    padding-left: 1rem;
}

.pl-5 {
    padding-left: 1.25rem;
}

.pl-6 {
    padding-left: 1.5rem;
}

.pl-7 {
    padding-left: 1.75rem;
}

.pl-8 {
    padding-left: 2rem;
}

/* margin */
.m-1 {
    margin: .25rem;
}

.m-2 {
    margin: .5rem;
}

.m-3 {
    margin: .75rem;
}

.m-4 {
    margin: 1rem;
}

.m-5 {
    margin: 1.25rem;
}

.m-6 {
    margin: 1.5rem;
}

.m-7 {
    margin: 1.75rem;
}

.m-8 {
    margin: 2rem;
}

.mt-1 {
    margin-top: .25rem;
}

.mt-2 {
    margin-top: .5rem;
}

.mt-3 {
    margin-top: .75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-7 {
    margin-top: 1.75rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mr-1 {
    margin-right: .25rem;
}

.mr-2 {
    margin-right: .5rem;
}

.mr-3 {
    margin-right: .75rem;
}

.mr-4 {
    margin-right: 1rem;
}

.mr-5 {
    margin-right: 1.25rem;
}

.mr-6 {
    margin-right: 1.5rem;
}

.mr-7 {
    margin-right: 1.75rem;
}

.mr-8 {
    margin-right: 2rem;
}

.mb-1 {
    margin-bottom: .25rem;
}

.mb-2 {
    margin-bottom: .5rem;
}

.mb-3 {
    margin-bottom: .75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-7 {
    margin-bottom: 1.75rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.ml-1 {
    margin-left: .25rem;
}

.ml-2 {
    margin-left: .5rem;
}

.ml-3 {
    margin-left: .75rem;
}

.ml-4 {
    margin-left: 1rem;
}

.ml-5 {
    margin-left: 1.25rem;
}

.ml-6 {
    margin-left: 1.5rem;
}

.ml-7 {
    margin-left: 1.75rem;
}

.ml-8 {
    margin-left: 2rem;
}

.ml-auto,
.mx-auto {
    margin-left: auto;
}

.mr-auto,
.mx-auto {
    margin-right: auto;
}

/* width */
.w-25 {
    width: 25%;
}

.w-50 {
    width: 50%;
}

.w-75 {
    width: 75%;
}

.w-100 {
    width: 100%;
}

.mw-100 {
    max-width: 100%;
}

/* height */
.h-25 {
    height: 25%;
}

.h-50 {
    height: 50%;
}

.h-75 {
    height: 75%;
}

.h-100 {
    height: 100%;
}

.mh-100 {
    max-height: 100%;
}