.clearfix::after {
    content: '';
    display: block;
    clear: both;
}

/* 解决塌陷问题1 */
.clearcollapse::before {
    content: '';
    display: table;
}

/* 解决塌陷问题2 */
.pt1 {
    padding-top: 1px;
}

.textellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.valign::before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 0;
    height: 100%;
    visibility: hidden;
    pointer-events: none;
}

.w1200 {
    position: relative;
    margin: 0 auto;
    width: 1200px;
    height: 100%;
}

.bg {
    margin: 0 auto;
    max-width: 1920px;
    min-width: 1200px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.pr {
    position: relative;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

[hidden],
.hidden {
    display: none !important;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pt60 {
    padding-top: 60px;
}
