.btn-close,
.subnav a,
.banner-dots li button::before,
.header .tools .link,
.header .sidernav .topnav,
.header .sidernav .location,
.header .btn-menu,
.dropdown-menu>li>.subItem::before,
.dropdown-menu>li>.subItem a,
.dropdown-menu .level-subnav,
.dropdown-menu .level-subnav ul li a::before,
.dropdown-menu .level-subnav ul li a span,
.slick-controls .slick-dots li button,
.news-hot .news-hot--pic .img-box::after,
.news-hot .news-hot--pic .img-box img,
.comm-list .img-box::after,
.comm-list .img-box img,
.btn-playvideo::after,
.mode-wrap .mode-shape,
.team-list .img-box .mask,
.team-list .img-box img,
.pop-detail .btn-skipPrev,
.team-detail .btn-skip,
.masonry .shape,
.masonry .rect,
.news-grid figure .mask,
.news-grid figure img,
.rela-list .item-box h2,
.rela-list .item-box h2::before,
.rela-list .item-box h2 span,
.panaging a,
.facilties .mod-desc .shape,
.courses-list .item-box::before,
.courses-list .item-box .btn-skip,
.p-circle .page-desc,
.mode-coope .img-box::after,
.inter-mode .img-box::after,
.part-list figure>img,
.resea-mode .img-box>img,
.resea-mode .img-box .shape,
.resea-mode .btn-skip,
.resear-list .img-box>img,
.resear-list .img-box .shape,
.resear-list .btn-skip,
.scient-mode .nav-tabs a i,
.scient-mode .nav-tabs a span,
.campus-item .shape,
.dw-list .img-box .mask,
.dw-list figcaption span,
.dw-list figcaption span::after,
.recruit-mode .mode-shape,
.recruit-list .drag-filter,
.footer .share a,
.footer .share img,
.footer .btn-backtop,
.btn-visit::before,
.btn-visit::after,
.common-form .group-control input+label,
.layer-toast h3::after,
.news-item__img::before,
.news-item__img img,
.icr-pager>a,
.faculty-item__img::before {
    transition: all 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940)
}

.black {
    color: #000
}

.black40 {
    color: rgba(0, 0, 0, 0.4)
}

.white {
    color: #fff
}

.cyanblue {
    color: #2BB7B3
}

.yellow {
    color: #ED6C00
}

.gray {
    color: #999
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.25;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0;
    font-family: "Source Han Sans CN", "PingFang SC", "Microsoft YaHei", "STSong", "SimSun", Arial, sans-serif
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    text-decoration: none
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img {
    max-width: 100%;
    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
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

input:focus,
button:focus {
    outline: none
}

fieldset {
    padding: 0.35em 0.75em 0.625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

figure {
    display: block;
    width: 100%;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-margin-end: 0;
    margin-inline-end: 0;
    margin: 0
}

dl {
    -webkit-margin-before: 0px;
    margin-block-start: 0px;
    -webkit-margin-after: 0px;
    margin-block-end: 0px;
    -webkit-margin-start: 0px;
    margin-inline-start: 0px;
    -webkit-margin-end: 0px;
    margin-inline-end: 0px
}

dd {
    -webkit-margin-start: 0;
    margin-inline-start: 0
}

textarea {
    overflow: auto
}

textarea:focus {
    outline: none
}

[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
}

ul {
    margin: 0;
    padding: 0
}

ul,
li {
    list-style: none
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

* {
    -webkit-tap-highlight-color: transparent
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear {
    display: none
}


.d-none {
    display: none
}

.d-block {
    display: block
}

.fl {
    float: left;
}

.fr {
    float: right;
}

/*清除浮动*/
.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
    /*IE/7/6*/
}

.wow {
    visibility: hidden
}

.no-cssanimations .wow {
    visibility: visible
}

.mt-10 {
    margin-top: 10px
}

.mt-20 {
    margin-top: 20px
}

.mt-30 {
    margin-top: 30px
}

.mt-40 {
    margin-top: 40px
}

.mt-50 {
    margin-top: 50px
}

.mt-60 {
    margin-top: 60px
}

.mt-70 {
    margin-top: 70px
}

.mt-80 {
    margin-top: 80px
}

.mt-90 {
    margin-top: 90px
}

.mt-100 {
    margin-top: 100px
}

.mt-110 {
    margin-top: 110px
}

.mt-120 {
    margin-top: 120px
}

.mt-130 {
    margin-top: 130px
}

.mt-140 {
    margin-top: 140px
}

.mt-160 {
    margin-top: 160px
}

.mt-180 {
    margin-top: 180px
}

.mt-200 {
    margin-top: 200px
}

.pt-20 {
    padding-top: 20px
}

.pt-40 {
    padding-top: 40px
}

.pt-50 {
    padding-top: 50px
}

.pt-60 {
    padding-top: 60px
}

.pt-70 {
    padding-top: 70px
}

.pt-80 {
    padding-top: 80px
}

.pt-90 {
    padding-top: 90px
}

.pt-100 {
    padding-top: 100px
}

.pt-110 {
    padding-top: 110px
}

.pt-120 {
    padding-top: 120px
}

.pt-130 {
    padding-top: 130px
}

.pt-140 {
    padding-top: 140px
}

.pt-150 {
    padding-top: 150px
}

.pt-160 {
    padding-top: 160px
}

.pt-180 {
    padding-top: 180px
}

.pt-200 {
    padding-top: 200px
}

.pt-220 {
    padding-top: 220px
}

.pt-260 {
    padding-top: 260px
}

.pt-300 {
    padding-top: 300px
}

@media (max-width: 1680px) and (min-width: 1025px) {
    .pt-260 {
        padding-top: 220px
    }
}

@media (max-width: 1440px) and (min-width: 1025px) {
    .pt-260 {
        padding-top: 190px
    }
}

@media (max-width: 1024px) {
    .mt-30 {
        margin-top: 3em;
    }

    .mt-40 {
        margin-top: 20px
    }

    .mt-60 {
        margin-top: 30px
    }

    .mt-70 {
        margin-top: 35px
    }

    .mt-80 {
        margin-top: 40px
    }

    .mt-90 {
        margin-top: 45px
    }

    .mt-100 {
        margin-top: 50px
    }

    .mt-110 {
        margin-top: 55px
    }

    .mt-120 {
        margin-top: 60px
    }

    .mt-140 {
        margin-top: 70px
    }

    .mt-160 {
        margin-top: 80px
    }

    .mt-200 {
        margin-top: 100px
    }

    .pt-50 {
        padding-top: 6.66667vw
    }

    .pt-60 {
        padding-top: 8vw
    }

    .pt-70 {
        padding-top: 9.33333vw
    }

    .pt-80 {
        padding-top: 10.66667vw
    }

    .pt-90 {
        padding-top: 12vw
    }

    .pt-100 {
        padding-top: 13.33333vw
    }

    .pt-110 {
        padding-top: 14.66667vw
    }

    .pt-120 {
        padding-top: 16vw
    }

    .pt-130 {
        padding-top: 17.33333vw
    }

    .pt-140 {
        padding-top: 18.66667vw
    }

    .pt-150 {
        padding-top: 20vw
    }

    .pt-160 {
        padding-top: 21.33333vw
    }

    .pt-200 {
        padding-top: 26.66667vw
    }

    .pt-none {
        padding-top: 0
    }
}

.text-right {
    text-align: right
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}


.container-fluid {
    position: relative;
    padding-left: 100px;
    padding-right: 100px
}

@media only screen and (max-width: 1680px) {
    .container-fluid {
        padding-left: 4.55729vw;
        padding-right: 4.55729vw
    }
}

@media only screen and (max-width: 1440px) {
    .container-fluid {
        padding-left: 5.20833vw;
        padding-right: 5.20833vw
    }
}

@media only screen and (max-width: 1024px) {
    .container-fluid {
        padding-left: 7.11111vw;
        padding-right: 7.11111vw
    }
}

@media only screen and (max-width: 768px) {
    .container-fluid {
        padding-left: 5.33333vw;
        padding-right: 5.33333vw
    }
}

/* 文字hover效果 */
.c-play--circles {
    position: relative
}

.c-play--circles svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 110%;
    width: 100%;
    transform: translate(-50%, -50%)
}

.c-play--circles path {
    fill: none;
    stroke: #fff;
    stroke-dasharray: 530;
    stroke-width: 1
}

.c-play--circles path {
    stroke-dashoffset: 530;
    animation-fill-mode: forwards
}



.c-play--circles:hover path,
.c-play--circles.has path,
.c-play--circles.active path {
    animation: pathFill 1.2s ease;
    animation-fill-mode: forwards
}

@keyframes pathFill {
    to {
        stroke-dashoffset: 0
    }
}

.turn-box {
    position: relative;
}

.turn-box .turn-img {
    position: relative;
}

.turn-box .turn-img img {
    position: relative;
    z-index: 1;
    transition: all 0.5s;
    width: 100%;
}

.turn-box:not(.turn-active):hover .turn-img::before {
    transform: rotate(2deg);
}

.turn-box:not(.turn-active):hover .turn-img img {
    transform: rotate(-2deg);
}

.turn-box.turn-active .turn-img::before {
    transform: rotate(-2deg);
}


.turn-box .turn-img::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ff0099;
    transition: all 0.5s;
}

.pagination-box {
    text-align: center;
    padding-bottom: 20px;
}

.pagination-btn {
    background-color: #fff;
    color: #ff4286;
    border-radius: 5px;
}

.pagination-current {
    background-color: #ff4286;
    color: #fff;
}

.dialogSwiper {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgb(15 14 14 / 68%);
    z-index: 99999999;
}

.dialogVideo video {
    width: 100%;
    margin: 0 auto;
    max-height: 700px;
}

.dialogSwiper .dialogBox,
.dialogSwiper .dialogVideo {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.5s;
    box-sizing: border-box;
    padding: 2em;
    border-radius: 10px;
    background-color: #fff;

}


.dialogSwiper .swiper-container .swiper-slide {
    text-align: center;
    box-sizing: border-box;
}

.dialogSwiper .swiper-container .swiper-slide .img {
    margin: 0 auto;
    width: 80%;
    text-align: center;

}

.dialogSwiper .swiper-container .swiper-slide img {
    max-width: 100%;
    max-height: 600px;

}

.dialogSwiper .swiper-container .swiper-slide h3 {
    font-size: 20px;
    text-align: center;
    margin: 20px 0;
}

.dialogSwiper .swiper-container .swiper-slide .des {
    width: 80%;
    line-height: 25px;
    margin: 0 auto;
}

.dialogSwiper .dialog-close {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 30px;
    cursor: pointer;
    transition: all .3s;
    z-index: 99;
}

.dialogSwiper .dialog-close img {
    width: 100%;
}

.dialogSwiper .dialog-close:hover {
    transform: scale(1.3);
}

.backTop {
    position: fixed;
    bottom: 26vh;
    right: 30px;
    width: 90px;
    height: 90px;
    cursor: pointer;
    cursor: pointer;
    z-index: 999999;
    opacity: 0.6;
    display: none;
}

.backTop:hover {
    opacity: 1;
}

.backTop img {
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .turn-box .turn-img::before {
        display: none;
    }

    .pagination-box {
        padding-top: 20px;
    }

    .dialogSwiper .dialogBox,
    .dialogSwiper .dialogVideo {
        width: 90%;
        padding: 1em;
    }

    .dialogSwiper .dialog-close {
        top: -50px;
    }

    .backTop {
        position: fixed;
        bottom: 26vh;
        right: 30px;
        width: 60px;
        height: 60px;
        cursor: pointer;
        cursor: pointer;
        z-index: 999999;
        opacity: 0.6;
        display: none;
    }
}



.swiper-button-next:after,
.swiper-button-prev:after {
    content: '';
}

.swiper-button-next,
.swiper-button-prev {
    width: 50px;
    height: 100px;
}

.swiper-button-next {
    background-image: url(../img/next1.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.swiper-button-prev {
    background-image: url(../img/prev1.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled {
    background-image: url(../img/next2.svg);
}

.swiper-button-prev.swiper-button-disabled {
    background-image: url(../img/prev2.svg);
}

.swiper-button-next {
    right: 0;
}

.swiper-button-prev {
    left: 0;
}