.clearfix::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.pos-r {
    position: relative;
}
.overflow-hidden {
    overflow: hidden;
}
.hidden {
    display: none !important;
}
/* text-overflow */
.title-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
/* IE用行高和高度去製造文本溢出 */
/* .title-ie {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 24px !important;
    height: 48px;
} */
.title-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.title-3 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
/* bg */
.bg-white {
    background-color: #fff !important;
}
/* padding margin */
.pt-8 {
    padding-top: 8px !important;
}
.pt-16 {
    padding-top: 16px !important;
}
.pt-24 {
    padding-top: 24px !important;
}
.pt-32 {
    padding-top: 32px !important;
}
.pt-40 {
    padding-top: 40px !important;
}
.pt-48 {
    padding-top: 48px !important;
}
.pt-80 {
    padding-top: 80px !important;
}
.pb-8 {
    padding-bottom: 8px !important;
}
.pb-16 {
    padding-bottom: 16px !important;
}
.pb-24 {
    padding-bottom: 24px !important;
}
.pb-32 {
    padding-bottom: 32px !important;
}
.pb-40 {
    padding-bottom: 40px !important;
}
.pb-48 {
    padding-bottom: 48px !important;
}
.pb-80 {
    padding-bottom: 80px !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mt-8 {
    margin-top: 8px !important;
}
.mt-16 {
    margin-top: 16px !important;
}
.mt-24 {
    margin-top: 24px !important;
}
.mt-32 {
    margin-top: 32px !important;
}
.mb-8 {
    margin-bottom: 8px !important;
}
.mb-16 {
    margin-bottom: 16px !important;
}
.mb-24 {
    margin-bottom: 24px !important;
}
.mb-32 {
    margin-bottom: 32px !important;
}
.mb-48 {
    margin-bottom: 48px !important;
}
/* font-weight */
.font-weight-3 {
    font-weight: 300 !important;
}
.font-weight-4 {
    font-weight: 400 !important;
}
.font-weight-5 {
    font-weight: 500 !important;
}
.font-weight-6 {
    font-weight: 600 !important;
}
.font-weight-7 {
    font-weight: 700 !important;
}
.font-weight-8 {
    font-weight: 800 !important;
}
.font-weight-9 {
    font-weight: 900 !important;
}
/* display */
.d-flex {
    display: flex !important;
}
.d-block {
    display: block !important;
}
.d-flex.justify-content-center {
    justify-content: center !important;
}
.d-flex.justify-content-between {
    justify-content: space-between !important;
}
.d-flex.align-items-center {
    align-items: center !important;
}
.d-flex.d-flex.align-items-end {
    align-items: flex-end !important;
}