html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
input,
textarea,
video {
    margin: 0;
    padding: 0;
    border: 0;
  font-family:Arial,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,"sans-serif";
    vertical-align: baseline;
    background: transparent;
    /*在移动端特殊的设置*/
    /*清除点击高亮效果*/
    -webkit-tap-highlight-color: transparent;
    /*设置所有的盒子的宽度以边框开始计算*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor:pointer;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
img{
  display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a{
 text-decoration: none;
}
em ,i{ font-style: normal; }
strong,b{
    font-weight: normal;
}
.fl{
    float: left;
}
.fr{
    float: right;
}
.clearfix:after,
.clearfix:before{
    content: "";
    height: 0;
    display: block;
    clear: both;
}
/*连续英文、数字换行*/
.wordbreak { word-break: break-all; word-wrap: break-word; }
/*单行文字超出显示省略号*/
.ellipsis{overflow: hidden; text-overflow: ellipsis; white-space:nowrap;}
.two_ellipsis{
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

input,textarea,button{
  border:none;
  outline:none;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {/* WebKit browsers */
	color:#d3d3d3;
}
input:-moz-placeholder, textarea:-moz-placeholder {/* Mozilla Firefox 4 to 18 */
	color:#d3d3d3;
}
input::-moz-placeholder, textarea::-moz-placeholder {/* Mozilla Firefox 19+ */
	color:#d3d3d3;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {/* Internet Explorer 10+ */
	color:#d3d3d3;
}

/* 边框变粗兼容 */
.bd {
  border: 1px solid #EBEBEB;
}

.bdt {
  border-top: 1px solid #EBEBEB;
}

.bdb {
  border-bottom: 1px solid #EBEBEB;
}

.bdl {
  border-left: 1px solid #EBEBEB;
}

.bdr {
  border-right: 1px solid #EBEBEB;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .bd {
      border: 0.5px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
  .bd {
      border: 0.333333px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .bdt {
      border-top: 0.5px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
  .bdt {
      border-top: 0.333333px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .bdr {
      border-right: 0.5px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
  .bdr {
      border-right: 0.333333px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .bdb {
      border-bottom: 0.5px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
  .bdb {
      border-bottom: 0.333333px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .bdl {
      border-left: 0.5px solid #EBEBEB
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 3) {
  .bdl {
      border-left: 0.333333px solid #EBEBEB
  }
}



/* 流式布局 */
.flex{
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}


/* (一)容器的属性 */
/* ================flex-direction属性决定主轴的方向（即项目的排列方向）。 */
/* row（默认值）：主轴为水平方向，起点在左端。 */
.direction-row{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row ;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-direction: row ;
  flex-direction: row ;
}

/* 主轴为水平方向，起点在右端。 */
.direction-row-reverse{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -moz-box-orient: horizontal;
  -moz-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* 主轴为垂直方向，起点在上沿。 */
.direction-column{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* 轴为垂直方向，起点在下沿。 */
.direction-column-reverse{
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -moz-box-orient: vertical;
  -moz-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

/* =========================flex-wrap属性 ，默认情况下，项目都排在一条线（又称"轴线"）上*/

/* nowrap（默认）：不换行。 */
.flex-nowrap{
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

/* wrap：换行，第一行在上方。 */
.flex-wrap{
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
/* wrap-reverse：换行，第一行在下方 */
.wrap-reverse{
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

/* flex-flow属性是flex-direction属性和flex-wrap属性的简写形式，默认值为row nowrap。 */
.row-nowrap{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row nowrap;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
}
.row-wrap{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.row-wrap-reverse{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap-reverse;
  -moz-box-orient: horizontal;
  -moz-box-direction: normal;
  -ms-flex-flow: row wrap-reverse;
  flex-flow: row wrap-reverse;
}

.column-wrap{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column wrap;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-flow: column wrap;
  flex-flow: column wrap;
}
.column-nowrap{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
}
.column-wrap-reverse{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column wrap-reverse;
  -moz-box-orient: vertical;
  -moz-box-direction: normal;
  -ms-flex-flow: column wrap-reverse;
  flex-flow: column wrap-reverse;
}
/* justify-content属性定义了项目在主轴上的对齐方式。 */
.flex-start{
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -moz-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.flex-center{
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flex-end{
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -moz-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.flex-between{
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-around{
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/*==================== align-items属性定义项目在交叉轴上如何对齐。 */
/* 交叉轴的起点对齐。 */
.flex-align-start{
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -moz-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
/* 交叉轴的中点对齐。 */
.flex-align-center{
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
/* 交叉轴的终点对齐。 */
.flex-align-end{
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -moz-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
/* 项目的第一行文字的基线对齐。 */
.flex-align-baseline{
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -moz-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}
/* stretch（默认值）：如果项目未设置高度或设为auto，将占满整个容器的高度。 */
.flex-align-stretch{
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -moz-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/* ==========align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线，该属性不起作用。 */


/* 与交叉轴的起点对齐 */
.align-content-start {
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

/* 与交叉轴的终点对齐。 */
.align-content-end {
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}


/* 与交叉轴的中点对齐。 */
.align-content-center {
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
}

/* space-between：与交叉轴两端对齐，轴线之间的间隔平均分布。 */
.align-content-between {
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
}

/* space-around：每根轴线两侧的间隔都相等。所以，轴线之间的间隔比轴线与边框的间隔大一倍。 */
.align-content-around {
  -webkit-align-content: space-around;
  -ms-flex-line-pack: distribute;
  align-content: space-around;
}

/* stretch（默认值）：轴线占满整个交叉轴。 */
.align-content-stretch {
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}




/* 二、项目的属性 */

/* order属性定义项目的排列顺序。数值越小，排列越靠前，默认为0。 */
/* flex-grow属性定义项目的放大比例，默认为0，即如果存在剩余空间，也不放大。 */
/* flex-shrink属性定义了项目的缩小比例，默认为1，即如果空间不足，该项目将缩小。 */
/* flex-basis属性定义了在分配多余空间之前，项目占据的主轴空间（main size）。浏览器根据这个属性，
计算主轴是否有多余空间。它的默认值为auto，即项目的本来大小。 */
/* flex属性是flex-grow, flex-shrink 和 flex-basis的简写，默认值为0 1 auto。后两个属性可选。 */





/* align-self属性允许单个项目有与其他项目不一样的对齐方式，可覆盖align-items属性。
默认值为auto
表示继承父元素的align-items属性，如果没有父元素，则等同于stretch。
align-self: auto | flex-start | flex-end | center | baseline | stretch;
*/

.align-self-start{
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}


.align-self-end{
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}
.align-self-center{
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.align-self-baseline{
  -webkit-align-self: baseline;
  -ms-flex-item-align: baseline;
  align-self: baseline;
}

.align-self-stretch{
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.flex-1{
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.flex-2{
  -webkit-box-flex: 2;
  -webkit-flex: 2;
  -moz-box-flex: 2;
  -ms-flex: 2;
  flex: 2;
}
.flex-3{
  -webkit-box-flex: 3;
  -webkit-flex: 3;
  -moz-box-flex: 3;
  -ms-flex: 3;
  flex: 3;
}
.flex-4{
  -webkit-box-flex: 4;
  -webkit-flex: 4;
  -moz-box-flex: 4;
  -ms-flex: 4;
  flex: 4;
}
.flex-5{
  -webkit-box-flex: 5;
  -webkit-flex: 5;
  -moz-box-flex: 5;
  -ms-flex: 5;
  flex: 5;
}
.flex-noShrink{
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
/* 定位 */

.pos-r {
  position: relative;
}

.pos-a {
  position: absolute;
}

.pos-f {
  position: fixed;
}

.pos-x-center {
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}

.pos-y-center {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.pos-center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
