html {
  font-size: 16px;
}

html,
body {
  min-width: 320px;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 1.4;
  background: #fff;
  color: #333;
}

body,
html,
div,
dl,
dt,
dd,
ul,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
th,
td,
a,
img,
span,
button {
  margin: 0;
  padding: 0;
  font-family: "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC",
    "WenQuanYi Micro Hei", sans-serif;
}

button {
  outline: none;
}

ul,
ol,
dl,
li,
dt,
dd {
  list-style: none;
  border: 0;
}

input,
textarea {
  -webkit-tap-highlight-color: rgba(111, 111, 111, 0);
}

input[type="search"] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #bbb;
  font-weight: normal;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #bbb;
  font-weight: normal;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #bbb;
  font-weight: normal;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #bbb;
  font-weight: normal;
}

textarea {
  resize: none;
  -webkit-appearance: none;
  outline: none;
}

.clearfix:after {
  display: block;
  clear: both;
  height: 0px;
  overflow: hidden;
  content: "";
}
.clearfix {
  *zoom: 1;
}

/* img {max-width: 100%; } */

a {
  text-decoration: none;
  -webkit-user-select: none;
  -moz-user-focus: none;
  -moz-user-select: none;
  color: inherit;
  font-size: inherit;
}

a:hover,
a:active,
a:visited,
a:link,
a:focus {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  outline: none;
  background: none;
  text-decoration: none;
}

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

.line2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.line4 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

::-webkit-scrollbar {
  display: none;
}

.fadeIn {
  -webkit-animation: fadeIn 0.8s ease-in both;
  animation: fadeIn 0.8s ease-in both;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media screen and (min-width: 375px) {
  html {
    /* iPhone6的375px尺寸作为16px基准，414px正好18px大小, 600 20px */
    font-size: calc(100% + 2 * (100vw - 375px) / 39);
    font-size: calc(16px + 2 * (100vw - 375px) / 39);
  }
}

@media screen and (min-width: 414px) {
  html {
    /* 414px-1000px每100像素宽字体增加1px(18px-22px) */
    font-size: calc(112.5% + 4 * (100vw - 414px) / 586);
    font-size: calc(18px + 4 * (100vw - 414px) / 586);
  }
}

@media screen and (min-width: 600px) {
  html {
    /* 600px-1000px每100像素宽字体增加1px(20px-24px) */
    font-size: calc(125% + 4 * (100vw - 600px) / 400);
    font-size: calc(20px + 4 * (100vw - 600px) / 400);
  }
}

@media screen and (min-width: 1000px) {
  html {
    /* 1000px往后是每100像素0.5px增加 */
    font-size: calc(137.5% + 6 * (100vw - 1000px) / 1000);
    font-size: calc(22px + 6 * (100vw - 1000px) / 1000);
  }
}

/*弹性布局*/
.flex {
    display: -webkit-box;
    display:    -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display:         flex;
    display:         box;
    display:         flex;
    -webkit-flex-direction: row;
       -moz-flex-direction: row;
        -ms-flex-direction: row;
         -o-flex-direction: row;
            flex-direction: row;
    -webkit-box-orient: horizontal;
    flex-wrap: wrap;
}
.nowrap {
    flex-wrap: nowrap;
}
.flex1 {
    flex: 1;
    min-width: 0;
}
.alignS {
    align-items: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
       -moz-align-items: stretch;
        -ms-align-items: stretch;
         -o-align-items: stretch;
}
.alignC {
    align-items: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-align-items: center;
        -ms-align-items: center;
         -o-align-items: center;
}
.alignE {
    align-items: flex-end;
    -webkit-box-align: flex-end;
    -webkit-align-items: flex-end;
       -moz-align-items: flex-end;
        -ms-align-items: flex-end;
         -o-align-items: flex-end;
}
.alignL {
    align-items: flex-start;
    -webkit-box-align: flex-start;
    -webkit-align-items: flex-start;
       -moz-align-items: flex-start;
        -ms-align-items: flex-start;
         -o-align-items: flex-start;
}
.flexV {
    -webkit-flex-direction: column;
       -moz-flex-direction: column;
        -ms-flex-direction: column;
         -o-flex-direction: column;
            flex-direction: column;
    -webkit-box-orient: vertical;
}
.flexSa {
    justify-content: space-around;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-around;
       -moz-justify-content: space-around;
        -ms-justify-content: space-around;
         -o-justify-content: space-around;
}
.flexC {
    justify-content: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
       -moz-justify-content: center;
        -ms-justify-content: center;
         -o-justify-content: center;
}
.flexSb {
    justify-content: space-between;
    -webkit-justify-content: space-between;
       -moz-justify-content: space-between;
        -ms-justify-content: space-between;
         -o-justify-content: space-between;
}
.flexS {
    justify-content: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
       -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
         -o-justify-content: flex-start;
}
.flexE {
    justify-content: flex-end;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
       -moz-justify-content: flex-end;
        -ms-justify-content: flex-end;
         -o-justify-content: flex-end;
}