/* normalize.css v8.0.1 */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b, strong {
    font-weight: bolder
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    vertical-align: middle;
    border-style: none
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

/* -------------- default -------------- */
html {
    -webkit-tap-highlight-color: transparent;
}

ol, ul, li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

a {
    text-decoration: none;
    transition: all .23s ease;
}

a:hover {
    -webkit-tap-highlight-color: transparent;
}

a:active {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

figure, p, h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

input {
    box-sizing: border-box;
    border: 0;
    outline: none;
    padding: 0;
}

input[type='text'], input[type='number'], input[type='password'], input[type='reset'], input[type='submit'], input[type='button'], input[type='tel'], button, textarea {
    -webkit-appearance: none;
    outline: none;
}

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
    -webkit-transition-delay: 9999s;
    -webkit-transition: color 9999s ease-out, background-color 9999s ease-out;
}

em, i {
    font-style: normal;
}

sub {
    bottom: -0.05em;
}
/* -------------- object-fit-utool -------------- */ /* -------------- before using need the ofi.js -------------- */
.OF-fill {
    object-fit: fill;
    font-family: 'object-fit: fill';
}

.OF-contain {
    object-fit: contain;
    font-family: 'object-fit: contain';
}

.OF-cover {
    object-fit: cover;
    font-family: 'object-fit: cover';
}

.OF-cover-op {
    object-fit: cover;
    object-position: center 80%;
    font-family: 'object-fit: cover; object-position: center 80%';
}

.OF-none {
    object-fit: none;
    font-family: 'object-fit: none';
}

.OF-scaleDown {
    object-fit: scale-down;
    font-family: 'object-fit: scale-down';
}

/* -------------- 布局 -------------- */ /* ------ 容器 ------ */
.w-full, .w100, .img {
    width: 100%;
}

.h-full, .h100 {
    height: 100%;
}

.w-screen, .w-100vw {
    width: 100vw;
}

.h-screen, .h-100vh {
    height: 100vh;
}

.w-0 {
    width: 0;
}

.h-0 {
    height: 0;
}

.box-sizing, .box-border {
    box-sizing: border-box;
}

.white-round-shadow-box {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
}

/* ------ Display ------ */
.block {
    display: block;
}

.inline {
    display: inline;
}

.inline-block {
    display: inline-block;
}

.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
}

.inline-grid {
    display: inline-grid;
}

.d-n, .hidden {
    display: none;
}

/* ------ 浮动 ------ */
.float-left, .fl {
    float: left
}

.float-right, .fr {
    float: right
}

.float-none {
    font: none;
}

.ovh {
    overflow: hidden;
}

/* ------ 清除浮动 ------ */
.clearfix:after {
    display: block;
    clear: both;
    content: "";
    visibility: hidden;
    height: 0;
}

.clearfix {
    zoom: 1;
}

/* ------ 溢出 ------ */
.ovh, .overflow-hidden {
    overflow: hidden;
}

.overflow-scroll {
    overflow: scroll;
}

.overflow-visible {
    overflow: visible;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-y-auto {
    overflow-y: auto;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

.overflow-y-hidden {
    overflow-y: hidden;
}

.overflow-x-visible {
    overflow-x: visible;
}

.overflow-y-visible {
    overflow-y: visible;
}

.overflow-x-scroll {
    overflow-x: scroll;
}

.overflow-y-scroll {
    overflow-y: scroll;
}

/* ------ 定位 ------ */
.static {
    position: static
}

.fixed {
    position: fixed
}

.por, .relative {
    position: relative
}

.poa, .absolute {
    position: absolute
}

.sticky {
    position: sticky
}

/* ------ Z-Index ------ */
.z--1 {
    z-index: -1;
}

.z-0 {
    z-index: 0;
}

.z-1 {
    z-index: 1;
}

.z-9 {
    z-index: 9;
}

.z-99 {
    z-index: 99;
}

.z-auto {
    z-index: auto;
}

/* -------------- 弹性布局 -------------- */
.fc {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-space-x-center-y {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.flex-ct-x {
    display: flex;
    justify-content: center;
}

.flex-ct-y {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.flex-row {
    flex-direction: row;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-col {
    flex-direction: column;
}

.flex-col-reverse {
    flex-direction: column-reverse;
}

.flex-no-wrap {
    flex-wrap: nowrap;
}

.f-w, .flex-w, .flex-wrap {
    flex-wrap: wrap;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

.items-stretch {
    align-items: stretch;
}

.items-start {
    align-items: flex-start;
}

.a-c, .items-center {
    align-items: center;
}

.items-end {
    align-items: flex-end;
}

.items-baseline {
    align-items: baseline;
}

.content-start {
    align-content: flex-start;
}

.content-center {
    align-content: center;
}

.content-end {
    align-content: flex-end;
}

.content-between {
    align-content: space-between;
}

.content-around {
    align-content: space-around;
}

.justify-start {
    justify-content: flex-start;
}

.j-c, .justify-center {
    justify-content: center;
}

.j-e, .justify-end {
    justify-content: flex-end;
}

.j-s, .j-b, .justify-between {
    justify-content: space-between;
}

.j-a, .justify-around {
    justify-content: space-around;
}

.order-first {
    order: -9999;
}

.order-last {
    order: 9999;
}

.order-none {
    order: 0;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.flex-initial {
    flex: 0 1 auto;
}

.flex-1 {
    flex: 1 1 0%;
}

.flex-auto {
    flex: 1 1 auto;
}

.flex-none {
    flex: none;
}

/* -------------- 边距 -------------- */
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.padding-top-0, .pt-0, .pt0 {
    padding-top: 0 !important;
}

.padding-right-0, .pr-0, .pr0 {
    padding-right: 0 !important;
}

.padding-bottom-0, .pb-0, .pb0 {
    padding-bottom: 0 !important;
}

.padding-left-0, .pl-0, .pl0 {
    padding-left: 0 !important;
}

.margin-top-0, .mt-0, .mt0 {
    margin-top: 0 !important;
}

.margin-bottom-0, .mb-0, .mb0 {
    margin-bottom: 0 !important;
}

.margin-left-0, .ml-0, .ml0 {
    margin-left: 0 !important;
}

.margin-right-0, .mr-0, .mr0 {
    margin-right: 0 !important;
}

.p-5, .padding-5 {
    padding: 5px;
}

.p-10, .padding-10 {
    padding: 10px;
}

.p-15, .padding-15 {
    padding: 15px;
}

.p-20, .padding-20 {
    padding: 20px;
}

.p-25, .padding-25 {
    padding: 25px;
}

.p-30, .padding-30 {
    padding: 30px;
}

.p-35, .padding-35 {
    padding: 35px;
}

.p-40, .padding-40 {
    padding: 40px;
}

.p-45, .padding-45 {
    padding: 45px;
}

.p-50, .padding-50 {
    padding: 50px;
}

.p-55, .padding-55 {
    padding: 55px;
}

.p-60, .padding-60 {
    padding: 60px;
}

.p-65, .padding-65 {
    padding: 65px;
}

.p-70, .padding-70 {
    padding: 70px;
}

.pt-5, .padding-top-5 {
    padding-top: 5px;
}

.pt-10, .padding-top-10 {
    padding-top: 10px;
}

.pt-15, .padding-top-15 {
    padding-top: 15px;
}

.pt-20, .padding-top-20 {
    padding-top: 20px;
}

.pt-25, .padding-top-25 {
    padding-top: 25px;
}

.pt-30, .padding-top-30 {
    padding-top: 30px;
}

.pt-35, .padding-top-35 {
    padding-top: 35px;
}

.pt-40, .padding-top-40 {
    padding-top: 40px;
}

.pt-45, .padding-top-45 {
    padding-top: 45px;
}

.pt-50, .padding-top-50 {
    padding-top: 50px;
}

.pt-55, .padding-top-55 {
    padding-top: 55px;
}

.pt-60, .padding-top-60 {
    padding-top: 60px;
}

.pt-65, .padding-top-65 {
    padding-top: 65px;
}

.pt-70, .padding-top-70 {
    padding-top: 70px;
}

.pt-75, .padding-top-75 {
    padding-top: 75px;
}

.pt-80, .padding-top-80 {
    padding-top: 80px;
}

.pt-85, .padding-top-85 {
    padding-top: 85px;
}

.pb-5, .padding-bottom-5 {
    padding-bottom: 5px;
}

.pb-10, .padding-bottom-10 {
    padding-bottom: 10px;
}

.pb-15, .padding-bottom-15 {
    padding-bottom: 15px;
}

.pb-20, .padding-bottom-20 {
    padding-bottom: 20px;
}

.pb-25, .padding-bottom-25 {
    padding-bottom: 25px;
}

.pb-30, .padding-bottom-30 {
    padding-bottom: 30px;
}

.pb-35, .padding-bottom-35 {
    padding-bottom: 35px;
}

.pb-40, .padding-bottom-40 {
    padding-bottom: 40px;
}

.pb-45, .padding-bottom-45 {
    padding-bottom: 45px;
}

.pb-50, .padding-bottom-50 {
    padding-bottom: 50px;
}

.pb-55, .padding-bottom-55 {
    padding-bottom: 55px;
}

.pb-60, .padding-bottom-60 {
    padding-bottom: 60px;
}

.pb-65, .padding-bottom-65 {
    padding-bottom: 65px;
}

.pb-70, .padding-bottom-70 {
    padding-bottom: 70px;
}

.pb-75, .padding-bottom-75 {
    padding-bottom: 75px;
}

.pb-80, .padding-bottom-80 {
    padding-bottom: 80px;
}

.pb-85, .padding-bottom-85 {
    padding-bottom: 85px;
}

.pl-5, .padding-left-5 {
    padding-left: 5px;
}

.pl-10, .padding-left-10 {
    padding-left: 10px;
}

.pl-15, .padding-left-15 {
    padding-left: 15px;
}

.pl-20, .padding-left-20 {
    padding-left: 20px;
}

.pl-25, .padding-left-25 {
    padding-left: 25px;
}

.pl-30, .padding-left-30 {
    padding-left: 30px;
}

.pl-35, .padding-left-35 {
    padding-left: 35px;
}

.pl-40, .padding-left-40 {
    padding-left: 40px;
}

.pl-45, .padding-left-45 {
    padding-left: 45px;
}

.pl-50, .padding-left-50 {
    padding-left: 50px;
}

.pl-55, .padding-left-55 {
    padding-left: 55px;
}

.pl-60, .padding-left-60 {
    padding-left: 60px;
}

.pl-65, .padding-left-65 {
    padding-left: 65px;
}

.pl-70, .padding-left-70 {
    padding-left: 70px;
}

.pl-75, .padding-left-75 {
    padding-left: 75px;
}

.pl-80, .padding-left-80 {
    padding-left: 80px;
}

.pl-85, .padding-left-85 {
    padding-left: 85px;
}

.pr-5, .padding-right-5 {
    padding-right: 5px;
}

.pr-10, .padding-right-10 {
    padding-right: 10px;
}

.pr-15, .padding-right-15 {
    padding-right: 15px;
}

.pr-20, .padding-right-20 {
    padding-right: 20px;
}

.pr-25, .padding-right-25 {
    padding-right: 25px;
}

.pr-30, .padding-right-30 {
    padding-right: 30px;
}

.pr-35, .padding-right-35 {
    padding-right: 35px;
}

.pr-40, .padding-right-40 {
    padding-right: 40px;
}

.pr-45, .padding-right-45 {
    padding-right: 45px;
}

.pr-50, .padding-right-50 {
    padding-right: 50px;
}

.pr-55, .padding-right-55 {
    padding-right: 55px;
}

.pr-60, .padding-right-60 {
    padding-right: 60px;
}

.pr-65, .padding-right-65 {
    padding-right: 65px;
}

.pr-70, .padding-right-70 {
    padding-right: 70px;
}

.pr-75, .padding-right-75 {
    padding-right: 75px;
}

.pr-80, .padding-right-80 {
    padding-right: 80px;
}

.pr-85, .padding-right-85 {
    padding-right: 85px;
}

.m-5, .margin-5 {
    margin: 5px;
}

.m-10, .margin-10 {
    margin: 10px;
}

.m-15, .margin-15 {
    margin: 15px;
}

.m-20, .margin-20 {
    margin: 20px;
}

.m-25, .margin-25 {
    margin: 25px;
}

.m-30, .margin-30 {
    margin: 30px;
}

.m-35, .margin-35 {
    margin: 35px;
}

.m-40, .margin-40 {
    margin: 40px;
}

.m-45, .margin-45 {
    margin: 45px;
}

.m-50, .margin-50 {
    margin: 50px;
}

.m-55, .margin-55 {
    margin: 55px;
}

.m-60, .margin-60 {
    margin: 60px;
}

.m-65, .margin-65 {
    margin: 65px;
}

.m-70, .margin-70 {
    margin: 70px;
}

.mt-5, .margin-top-5 {
    margin-top: 5px;
}

.mt-10, .margin-top-10 {
    margin-top: 10px;
}

.mt-15, .margin-top-15 {
    margin-top: 15px;
}

.mt-20, .margin-top-20 {
    margin-top: 20px;
}

.mt-25, .margin-top-25 {
    margin-top: 25px;
}

.mt-30, .margin-top-30 {
    margin-top: 30px;
}

.mt-35, .margin-top-35 {
    margin-top: 35px;
}

.mt-40, .margin-top-40 {
    margin-top: 40px;
}

.mt-45, .margin-top-45 {
    margin-top: 45px;
}

.mt-50, .margin-top-50 {
    margin-top: 50px;
}

.mt-55, .margin-top-55 {
    margin-top: 55px;
}

.mt-60, .margin-top-60 {
    margin-top: 60px;
}

.mt-65, .margin-top-65 {
    margin-top: 65px;
}

.mt-70, .margin-top-70 {
    margin-top: 70px;
}

.mt-75, .margin-top-75 {
    margin-top: 75px;
}

.mt-80, .margin-top-80 {
    margin-top: 80px;
}

.mt-85, .margin-top-85 {
    margin-top: 85px;
}

.mb-5, .margin-bottom-5 {
    margin-bottom: 5px;
}

.mb-10, .margin-bottom-10 {
    margin-bottom: 10px;
}

.mb-15, .margin-bottom-15 {
    margin-bottom: 15px;
}

.mb-20, .margin-bottom-20 {
    margin-bottom: 20px;
}

.mb-25, .margin-bottom-25 {
    margin-bottom: 25px;
}

.mb-30, .margin-bottom-30 {
    margin-bottom: 30px;
}

.mb-35, .margin-bottom-35 {
    margin-bottom: 35px;
}

.mb-40, .margin-bottom-40 {
    margin-bottom: 40px;
}

.mb-45, .margin-bottom-45 {
    margin-bottom: 45px;
}

.mb-50, .margin-bottom-50 {
    margin-bottom: 50px;
}

.mb-55, .margin-bottom-55 {
    margin-bottom: 55px;
}

.mb-60, .margin-bottom-60 {
    margin-bottom: 60px;
}

.mb-65, .margin-bottom-65 {
    margin-bottom: 65px;
}

.mb-70, .margin-bottom-70 {
    margin-bottom: 70px;
}

.mb-75, .margin-bottom-75 {
    margin-bottom: 75px;
}

.mb-80, .margin-bottom-80 {
    margin-bottom: 80px;
}

.mb-85, .margin-bottom-85 {
    margin-bottom: 85px;
}

.ml-5, .margin-left-5 {
    margin-left: 5px;
}

.ml-10, .margin-left-10 {
    margin-left: 10px;
}

.ml-15, .margin-left-15 {
    margin-left: 15px;
}

.ml-20, .margin-left-20 {
    margin-left: 20px;
}

.ml-25, .margin-left-25 {
    margin-left: 25px;
}

.ml-30, .margin-left-30 {
    margin-left: 30px;
}

.ml-35, .margin-left-35 {
    margin-left: 35px;
}

.ml-40, .margin-left-40 {
    margin-left: 40px;
}

.ml-45, .margin-left-45 {
    margin-left: 45px;
}

.ml-50, .margin-left-50 {
    margin-left: 50px;
}

.ml-55, .margin-left-55 {
    margin-left: 55px;
}

.ml-60, .margin-left-60 {
    margin-left: 60px;
}

.ml-65, .margin-left-65 {
    margin-left: 65px;
}

.ml-70, .margin-left-70 {
    margin-left: 70px;
}

.ml-75, .margin-left-75 {
    margin-left: 75px;
}

.ml-80, .margin-left-80 {
    margin-left: 80px;
}

.ml-85, .margin-left-85 {
    margin-left: 85px;
}

.mr-5, .margin-right-5 {
    margin-right: 5px;
}

.mr-10, .margin-right-10 {
    margin-right: 10px;
}

.mr-15, .margin-right-15 {
    margin-right: 15px;
}

.mr-20, .margin-right-20 {
    margin-right: 20px;
}

.mr-25, .margin-right-25 {
    margin-right: 25px;
}

.mr-30, .margin-right-30 {
    margin-right: 30px;
}

.mr-35, .margin-right-35 {
    margin-right: 35px;
}

.mr-40, .margin-right-40 {
    margin-right: 40px;
}

.mr-45, .margin-right-45 {
    margin-right: 45px;
}

.mr-50, .margin-right-50 {
    margin-right: 50px;
}

.mr-55, .margin-right-55 {
    margin-right: 55px;
}

.mr-60, .margin-right-60 {
    margin-right: 60px;
}

.mr-65, .margin-right-65 {
    margin-right: 65px;
}

.mr-70, .margin-right-70 {
    margin-right: 70px;
}

.mr-75, .margin-right-75 {
    margin-right: 75px;
}

.mr-80, .margin-right-80 {
    margin-right: 80px;
}

.mr-85, .margin-right-85 {
    margin-right: 85px;
}

.padding-primary {
    padding: 33px 27px;
}

.padding-small {
    padding: 26px 27px;
}

.padding-xsmall {
    padding: 23px 27px;
}

/* -------------- 字体 -------------- */ /* ------ 字体大小 ------ */
.fz-12, .font-size-12 {
    font-size: 12px;
}

.fz-13, .font-size-13 {
    font-size: 13px;
}

.fz-14, .font-size-14 {
    font-size: 14px;
}

.fz-15, .font-size-15 {
    font-size: 15px;
}

.fz-16, .font-size-16 {
    font-size: 16px;
}

.fz-17, .font-size-17 {
    font-size: 17px;
}

.fz-18, .font-size-18 {
    font-size: 18px;
}

.fz-19, .font-size-19 {
    font-size: 19px;
}

.fz-20, .font-size-20 {
    font-size: 20px;
}

.fz-21, .font-size-21 {
    font-size: 21px;
}

.fz-22, .font-size-22 {
    font-size: 22px;
}

.fz-23, .font-size-23 {
    font-size: 23px;
}

.fz-24, .font-size-24 {
    font-size: 24px;
}

.fz-25, .font-size-25 {
    font-size: 25px;
}

.fz-26, .font-size-26 {
    font-size: 26px;
}

.fz-27, .font-size-27 {
    font-size: 27px;
}

.fz-28, .font-size-28 {
    font-size: 28px;
}

.fz-29, .font-size-29 {
    font-size: 29px;
}

.fz-30, .font-size-30 {
    font-size: 30px;
}

.fz-31, .font-size-31 {
    font-size: 31px;
}

.fz-32, .font-size-32 {
    font-size: 32px;
}

.fz-33, .font-size-33 {
    font-size: 33px;
}

.fz-34, .font-size-34 {
    font-size: 34px;
}

.fz-35, .font-size-35 {
    font-size: 35px;
}

.fz-36, .font-size-36 {
    font-size: 36px;
}

.fz-37, .font-size-37 {
    font-size: 37px;
}

.fz-38, .font-size-38 {
    font-size: 38px;
}

.fz-40, .font-size-40 {
    font-size: 40px;
}

.fz-42, .font-size-42 {
    font-size: 42px;
}

/* 字体粗细 */
.text-bold, .font-weight-bold {
    font-weight: bold;
}

/* 字体样式 */
.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

/* 行高 */
.lh-14 {
    line-height: 14px;
}

.lh-15 {
    line-height: 15px;
}

.lh-16 {
    line-height: 16px;
}

.lh-17 {
    line-height: 17px;
}

.lh-18 {
    line-height: 18px;
}

.lh-19 {
    line-height: 19px;
}

.lh-20 {
    line-height: 20px;
}

.lh-21 {
    line-height: 21px;
}

.lh-22 {
    line-height: 22px;
}

.lh-23 {
    line-height: 23px;
}

.lh-24 {
    line-height: 24px;
}

.lh-25 {
    line-height: 25px;
}

.lh-26 {
    line-height: 26px;
}

.lh-28 {
    line-height: 28px;
}

.lh-30 {
    line-height: 30px;
}

.lh-32 {
    line-height: 32px;
}

/* 文本装饰 */
.underline {
    text-decoration: underline;
}

.line-through {
    text-decoration: line-through;
}

.no-underline {
    text-decoration: none;
}

/* 字体颜色 */
.color-white, .text-white {
    color: #fff;
}

.color-black, .text-black {
    color: #000;
}

.color-313131 {
    color: #313131;
}

.color-7d7d7d {
    color: #7d7d7d;
}

.color-666 {
    color: #666666;
}

.color-777 {
    color: #777777;
}

.color-888 {
    color: #888888;
}

.color-999 {
    color: #999999;
}

.color-b5b5b5 {
    color: #b5b5b5;
}

.color-a0a0a0 {
    color: #a0a0a0;
}

/* 文本对齐 */
.tac, .t-c, .text-center {
    text-align: center;
}

.t-l, .text-left {
    text-align: left;
}

.t-r, .text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-align-justify {
    text-align-last: justify;
}

/* 垂直对齐 */
.align-baseline {
    vertical-align: baseline;
}

.align-top {
    vertical-align: top;
}

.align-middle {
    vertical-align: middle;
}

.align-bottom {
    vertical-align: bottom;
}

.align-text-top {
    vertical-align: text-top;
}

.align-text-bottom {
    vertical-align: text-bottom;
}

/* 文本溢出 */
.truncate, .addDot {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

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

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

.text-ov-5 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.text-ov-6 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
}

/* 背景 */
.bg-white {
    background-color: #fff;
}

.bg-black {
    background-color: #000;
}

/* 边框圆角 */
.radius-5, .border-radius-5 {
    border-radius: 5px;
    overflow: hidden;
}

.radius-10, .border-radius-10 {
    border-radius: 10px;
    overflow: hidden;
}

.radius-50, .border-radius-50 {
    border-radius: 50%;
    overflow: hidden;
}

.no-radius {
    border-radius: 0;
}

.no-radius-top {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.no-radius-bottom {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.no-radius-left {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.no-radius-right {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* 边框 */
.b-t-line, .border-line-top {
    border-top: 1px solid #e5e5e5;
}

.b-b-line, .border-line-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.b-l-line, .border-line-left {
    border-left: 1px solid #e5e5e5;
}

.b-r-line, .border-line-right {
    border-right: 1px solid #e5e5e5;
}

.no-border-line {
    border: 0;
}

.border-line-top.no-line {
    border-top: 0;
}

.border-line-bottom.no-line {
    border-bottom: 0;
}

.border-line-left.no-line {
    border-left: 0;
}

.border-line-right.no-line {
    border-right: 0;
}

/* 默认阴影 */
.box-shadow {
    box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
}

/* 用户选择 */
.select-none {
    user-select: none;
}

.select-text {
    user-select: text;
}

.select-all {
    user-select: all;
}

.select-auto {
    user-select: auto;
}

/* 光标效果 */
.cursor-auto {
    cursor: auto;
}

.cursor-default {
    cursor: default;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-wait {
    cursor: wait;
}

.cursor-text {
    cursor: text;
}

.cursor-move {
    cursor: move;
}

.cursor-not-allowed {
    cursor: not-allowed;
}

/* 媒体查询 -- 小于xx分辨率时响应 */ /* xl */
@media screen and (min-width: 1170px) {
    .p-y-5-xl {
        padding-top: 5.2rem;
        padding-bottom: 5.2rem;
    }

    .pt-5-xl {
        padding-top: 5.2rem;
    }

    .pb-5-xl {
        padding-bottom: 5.2rem;
    }

    .p-y-4-xl {
        padding-top: 4.666rem;
        padding-bottom: 4.666rem;
    }

    .pt-4-xl {
        padding-top: 4.666rem;
    }

    .pb-4-xl {
        padding-bottom: 4.666rem;
    }

    .p-y-3-xl {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .pt-3-xl {
        padding-top: 3.2rem;
    }

    .pb-3-xl {
        padding-bottom: 3.2rem;
    }

    .p-y-2-xl {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .pt-2-xl {
        padding-top: 2.6rem;
    }

    .pb-2-xl {
        padding-bottom: 2.6rem;
    }

    .p-y-1-xl {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .pt-1-xl {
        padding-top: 1.8rem;
    }

    .pb-1-xl {
        padding-bottom: 1.8rem;
    }

    .hide-xl {
        display: none;
    }

    .show-xl {
        display: block;
    }
}

/* lg */
@media screen and (max-width: 1170px) {
    .p-y-5-lg {
        padding-top: 5.2rem;
        padding-bottom: 5.2rem;
    }

    .pt-5-lg {
        padding-top: 5.2rem;
    }

    .pb-5-lg {
        padding-bottom: 5.2rem;
    }

    .p-y-4-lg {
        padding-top: 4.666rem;
        padding-bottom: 4.666rem;
    }

    .pt-4-lg {
        padding-top: 4.666rem;
    }

    .pb-4-lg {
        padding-bottom: 4.666rem;
    }

    .p-y-3-lg {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .pt-3-lg {
        padding-top: 3.2rem;
    }

    .pb-3-lg {
        padding-bottom: 3.2rem;
    }

    .p-y-2-lg {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .pt-2-lg {
        padding-top: 2.6rem;
    }

    .pb-2-lg {
        padding-bottom: 2.6rem;
    }

    .p-y-1-lg {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .pt-1-lg {
        padding-top: 1.8rem;
    }

    .pb-1-lg {
        padding-bottom: 1.8rem;
    }

    .hide-lg {
        display: none;
    }

    .show-lg {
        display: block;
    }
}

/* md */
@media screen and (max-width: 970px) {
    .p-y-5-md {
        padding-top: 5.2rem;
        padding-bottom: 5.2rem;
    }

    .pt-5-md {
        padding-top: 5.2rem;
    }

    .pb-5-md {
        padding-bottom: 5.2rem;
    }

    .p-y-4-md {
        padding-top: 4.2rem;
        padding-bottom: 4.2rem;
    }

    .pt-4-md {
        padding-top: 4.2rem;
    }

    .pb-4-md {
        padding-bottom: 4.2rem;
    }

    .p-y-3-md {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .pt-3-md {
        padding-top: 3.2rem;
    }

    .pb-3-md {
        padding-bottom: 3.2rem;
    }

    .p-y-2-md {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .pt-2-md {
        padding-top: 2.6rem;
    }

    .pb-2-md {
        padding-bottom: 2.6rem;
    }

    .p-y-1-md {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .pt-1-md {
        padding-top: 1.8rem;
    }

    .pb-1-md {
        padding-bottom: 1.8rem;
    }

    .hide-md {
        display: none;
    }

    .show-md {
        display: block;
    }
}

/* sm */
@media screen and (max-width: 750px) {
    .p-y-5-sm {
        padding-top: 5.2rem;
        padding-bottom: 5.2rem;
    }

    .pt-5-sm {
        padding-top: 5.2rem;
    }

    .pb-5-sm {
        padding-bottom: 5.2rem;
    }

    .p-y-4-sm {
        padding-top: 4.2rem;
        padding-bottom: 4.2rem;
    }

    .pt-4-sm {
        padding-top: 4.2rem;
    }

    .pb-4-sm {
        padding-bottom: 4.2rem;
    }

    .p-y-3-sm {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .pt-3-sm {
        padding-top: 3.2rem;
    }

    .pb-3-sm {
        padding-bottom: 3.2rem;
    }

    .p-y-2-sm {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .pt-2-sm {
        padding-top: 2.6rem;
    }

    .pb-2-sm {
        padding-bottom: 2.6rem;
    }

    .p-y-1-sm {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .pt-1-sm {
        padding-top: 1.8rem;
    }

    .pb-1-sm {
        padding-bottom: 1.8rem;
    }

    .hide-sm {
        display: none;
    }

    .show-sm {
        display: block;
    }
}

/* xs */
@media screen and (max-width: 375px) {
    .p-y-3-xs {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .pt-3-xs {
        padding-top: 3.2rem;
    }

    .pb-3-xs {
        padding-bottom: 3.2rem;
    }

    .p-y-2-xs {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .pt-2-xs {
        padding-top: 2.6rem;
    }

    .pb-2-xs {
        padding-bottom: 2.6rem;
    }

    .p-y-1-xs {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

    .pt-1-xs {
        padding-top: 1.8rem;
    }

    .pb-1-xs {
        padding-bottom: 1.8rem;
    }

    .show-xs {
        display: block;
    }

    .hide-xs {
        display: none;
    }
}

/* 布局 */
.col {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (min-width: 1170px) {
    .xl-col-4 > * {
        width: 23.334%;
        margin-right: 2.222%;
        margin-bottom: 2.222%;
    }

    .xl-col-4 > *:nth-child(4n) {
        margin-right: 0;
    }

    .xl-col-3 > * {
        width: 31.667%;
        margin-right: 2.5%;
        margin-bottom: 2.5%;
    }

    .xl-col-3 > *:nth-child(3n) {
        margin-right: 0;
    }

    .xl-col-2 {
        justify-content: space-between;
    }

    .xl-col-2 > * {
        width: 48.6%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 1170px) {
    .lg-col-4 > * {
        width: 23.334%;
        margin-right: 2.222%;
        margin-bottom: 2.222%;
    }

    .lg-col-4 > *:nth-child(4n) {
        margin-right: 0;
    }

    .lg-col-3 > * {
        width: 31.667%;
        margin-right: 2.5%;
        margin-bottom: 2.5%;
    }

    .lg-col-3 > *:nth-child(3n) {
        margin-right: 0;
    }

    .lg-col-2 {
        justify-content: space-between;
    }

    .lg-col-2 > * {
        width: 48.6%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 970px) {
    .md-col-3 > * {
        width: 31.6667%;
        margin-right: 2.5%;
        margin-bottom: 2.5%;
    }

    .md-col-3 > *:nth-child(3n) {
        margin-right: 0;
    }

    .md-col-2 {
        justify-content: space-between;
    }

    .md-col-2 > * {
        width: 48.6%;
        margin-bottom: 2.8%;
        margin-right: 0;
        margin-left: 0;
    }

    .md-col-1 > * {
        margin-right: 0;
        margin-left: 0;
        width: 100%;
    }
}

@media screen and (max-width: 750px) {
    .sm-col-3 > * {
        width: 31.667%;
        margin-right: 2.5%;
        margin-bottom: 2.5%;
    }

    .sm-col-3 > *:nth-child(3n) {
        margin-right: 0;
    }

    .sm-col-2 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .sm-col-2 > * {
        width: 48.6%;
        margin-bottom: 2.8%;
        margin-right: 0;
        margin-left: 0;
    }

    .sm-col-1 > * {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

@media screen and (max-width: 375px) {
    .xs-col-2 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .xs-col-2 > * {
        width: 48.6%;
        margin-bottom: 2.8%;
    }

    .xs-col-1 > * {
        width: 100%;
        margin-bottom: 2.8%;
    }
}

/* 图片超出隐藏 */
.pic-wrap {
    display: block;
    position: relative;
    height: 0;
    width: 100%;
    overflow: hidden;
}

.pic-wrap img {
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    -ms-object-fit: cover;
    object-fit: cover;
    transition: all .22s;
    display: block;
}

.pic-wrap:hover img {
    transform: scale(1.04);
}

/* Other */
.owl-carousel {
    touch-action: pan-y;
}