* {
    margin: 0;
    padding: 0;
    outline: none;
    max-width: 100vw;
    overflow-x: hidden;
}

a {
    text-decoration: none;
}

li {
    list-style-type: none;
}

/* 宽高 */
.vw {
    width: 100vw;
}

.vh {
    height: 100vh;
}

.w_100 {
    width: 100%;
}

.h_100 {
    height: 100%;
}

/* 背景颜色 */
.bg_white {
    background: white !important;
}

.bg_black {
    background: black !important;
}

/* 文字颜色 */
.text_white {
    color: white !important;
}

.text_black {
    color: black !important;
}

.text_333 {
    color: #333333 !important;
}

/* 定位 */
.pr {
    position: relative;
}

.pa {
    position: absolute;
}

.pf {
    position: fixed;
}

/* 文字对齐 */
.tl {
    text-align: left;
}

.tc {
    text-align: center;
}

.tr {
    text-align: right;
}

/* 弹性布局 */
.df {
    display: flex;
}

.dn {
    display: none;
}

.db {
    display: block;
}

.hide {
    overflow: hidden;
}

.flex {
    flex: 1;
}

.ac {
    align-items: center;
}

.js {
    justify-content: space-between;
}

.jc {
    justify-content: center;
}

/* 内外边距 */
.auto {
    margin: 0 auto;
}

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.m15 {
    margin: 15px;
}

.m20 {
    margin: 20px;
}

.m_t_5 {
    margin-top: 5px;
}

.m_b_5 {
    margin-bottom: 5px;
}

.m_l_5 {
    margin-left: 5px;
}

.m_r_5 {
    margin-right: 5px;
}

.m_tb_5 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.m_lr_5 {
    margin-left: 5px;
    margin-right: 5px;
}

.m_t_10 {
    margin-top: 10px;
}

.m_b_10 {
    margin-bottom: 10px;
}

.m_l_10 {
    margin-left: 10px;
}

.m_r_10 {
    margin-right: 10px;
}

.m_tb_10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.m_lr_10 {
    margin-left: 10px;
    margin-right: 10px;
}

.m_t_20 {
    margin-top: 20px;
}

.m_b_20 {
    margin-bottom: 20px;
}

.m_l_20 {
    margin-left: 20px;
}

.m_r_20 {
    margin-right: 20px;
}

.m_tb_20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.m_lr_20 {
    margin-left: 20px;
    margin-right: 20px;
}

/* 内边距 */

.p5 {
    padding: 5px;
}

.p10 {
    padding: 10px;
}

.p15 {
    padding: 15px;
}

.p20 {
    padding: 20px;
}

.p_lr_20 {
    padding: 0 20px;
}

/* 阴影 */
.shadow {
    box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
}

.light_shadow {
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}

/* 文字大小 */
.f10 {
    font-size: 10px;
}

.f12 {
    font-size: 12px;
}

.f14 {
    font-size: 14px;
}

.f16 {
    font-size: 16px;
}

.f18 {
    font-size: 18px;
}

.f20 {
    font-size: 20px;
}

.f22 {
    font-size: 22px;
}

.f24 {
    font-size: 24px;
}

.f26 {
    font-size: 26px;
}

.f28 {
    font-size: 28px;
}

.f30 {
    font-size: 30px;
}