*{
    padding:0;
    margin:0;
}
ul,li{
    list-style: none;
}
a{
    text-decoration: none;
    color:#333;
}
input{
    border:none;
    outline: none;
    background: none;
}
textarea{
    border:none;
    outline: none;
    background: none;
}
button{
    border:none;
    outline: none;
    background: none;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.full-a{
    width:100%;
    height:100%;
    display: block;
}
.relative{
    position: relative;
}
.text-center{
    text-align: center;
}
.pointer{
    cursor: pointer;
}
.transition{
    transition: all 0.4s ease;
}

.line1{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.line2{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow: hidden;
}
.line3{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* 图片居中 */
.img-center{
    position: relative;
}
.img-center img{
    position: absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
}
.cover-img img{
    object-fit: cover;
}



@keyframes pulsate {
    0% { box-shadow: 0px 0px 8px 5px rgba(20, 101, 239,1); }
    25% { box-shadow: 0px 0px 9px 5px rgba(20, 101, 239,0.9); }
    50% { box-shadow: 0px 0px 10px 5px rgba(20, 101, 239,0.8); }
    75% { box-shadow: 0px 0px 9px 5px rgba(20, 101, 239,0.9); }
    100% { box-shadow: 0px 0px 8px 5px rgba(20, 101, 239,1); }
}

@keyframes lunbo {
    0% {
        background-position:0 bottom
    }
    100% {
        background-position:200% bottom
    }
}
