.icon-hover {
    cursor: pointer;
}
.icon-hover .icon-default,
.icon-hover:hover .icon-active {
    display: inline-block;
}
.icon-hover .icon-active,
.icon-hover:hover .icon-default {
    display: none;
}
.limit-width {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}
.a-link {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}
i[class^="icon-"] {
    display: inline-block;
}
/* banner */
.banner {
    height: 660px;
    background: url(../bm/lb1.jpg) no-repeat center;
    position: relative;
}
.banner-wrap {
    padding-top: 114px;
}
.banner-t1 {
    font-size: 18px;
    font-family: MicrosoftYaHei;
    color: #ffffff;
    line-height: 24px;
}
.banner-title {
    font-size: 70px;
    font-family: ZYWenYiHei;
    color: #ffffff;
    line-height: 91px;
    letter-spacing: 2px;
    text-shadow: -4px 0px 0px #66ffff, 4px 0px 0px #ff32a0;
}
.banner-des {
    font-size: 14px;
    font-family: ArmstrongRegular;
    color: #ffffff;
    line-height: 18px;
    letter-spacing: 4px;
    margin-top: -2px;
    opacity: 0.17;
}
.banner-d-list {
    display: flex;
    align-items: center;
    margin-top: 36px;
}
.banner-d-item {
    font-size: 20px;
    font-family: MicrosoftYaHei;
    color: #ffffff;
    line-height: 27px;
    display: flex;
    align-items: center;
}
.banner-d-item + .banner-d-item::before {
    content: "";
    display: block;
    width: 1px;
    height: 11px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    margin: 0 22px;
}
.banner-btns {
    margin-top: 70px;
    display: flex;
}
.banner-btn {
    width: 180px;
    height: 46px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.39);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: background 0.3s;

    font-size: 14px;
    font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
    font-weight: bold;
    color: #e62129;
    line-height: 19px;
}
.banner-btn i {
    margin-left: 8px;
}
.banner-btn + .banner-btn {
    background: #e51f13;
    border-color: #e51f13;
    font-size: 14px;
    font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
    font-weight: bold;
    color: #ffffff;
    line-height: 19px;
    margin-left: 14px;
}
.banner-btn:hover {
    background: #fff2f3;
}
.banner-btn + .banner-btn:hover {
    background: #d9180c;
}
.banner-b-list {
    margin-top: 126px;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
}
.banner-b-list ul {
    display: flex;
    padding: 32px 0;
}
.banner-b-item {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
    color: #ffffff;
    line-height: 24px;
    letter-spacing: 1px;
    transition: transform 0.3s;
}
.banner-b-item + .banner-b-item {
    margin-left: 101px;
}
.banner-b-item i {
    margin-right: 13px;
}
.banner-b-item span {
    font-weight: bold;
}
.banner-b-item:hover {
    transform: translateY(-4px);
}
.prog {
    background: url(../image/prog_bg.png) no-repeat center;
    height: 870px;
}
.prog-wrap {
    padding-top: 80px;
}
.prog-title {
    font-size: 50px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 67px;
    text-align: center;
}
.prog-title span {
    color: #e32523;
    font-weight: bold;
}
.prog-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #999999;
    line-height: 21px;
    text-align: center;
    margin-top: 4px;
}
.prog-list {
    min-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 50px;
}
.prog-item {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 421px;
    height: 270px;
    background: #ffffff;
    padding: 40px;
    margin-bottom: 8px;
    transition: background 0.3s;
}
.prog-num {
    font-size: 26px;
    font-family: DIN-Bold, DIN;
    font-weight: bold;
    color: #e0dde9;
    line-height: 31px;
    transition: all 0.3s;
}
.prog-fill {
    flex: 1;
}
.prog-item-title {
    font-size: 24px;
    font-family: MicrosoftYaHeiSemibold;
    color: #050f3f;
    line-height: 32px;
}
.prog-item-des {
    font-size: 14px;
    font-family: MicrosoftYaHei;
    color: #787c9c;
    margin-top: 13px;
    margin-bottom: 6px;
    transition: margin-bottom 0.3s;
}
.prog-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 46px;
    background: #e51f13;
    opacity: 0;
    transition: all 0.3s;

    font-size: 14px;
    font-family: MicrosoftYaHeiSemibold;
    color: #ffffff;
    line-height: 19px;
}
.prog-btn:hover {
    background: #d9180c;
}
.prog-btn i {
    margin-left: 9px;
}
.prog-cover {
    position: absolute;
    right: 30px;
    top: 25px;
    width: 131px;
    height: 138px;
}
.prog-cover img {
    position: absolute;
    left: 0;
    top: 0;
}
.prog-ani,
.prog-cover img:nth-child(3),
.prog-item:hover .prog-cover img:nth-child(2) {
    opacity: 0;
}
.prog-item:hover {
    background: linear-gradient(162deg, #1e2360 0%, #04092e 100%);
}
.prog-item:hover .prog-num {
    color: white;
    opacity: 0.2;
}
.prog-item:hover .prog-item-title {
    color: #ffffff;
}
.prog-item:hover .prog-item-des {
    margin-bottom: 35px;
}
.prog-item:hover .prog-btn,
.prog-item:hover .prog-cover img:nth-child(3) {
    opacity: 1;
}
.prog-item:hover .prog-cover .prog-ani {
    opacity: 1;
    animation: progRotate 2.8s linear infinite;
}
@keyframes progRotate {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
.settle {
    background: url(../image/settle_bg.png) no-repeat center;
    height: 970px;
}
.settle-wrap {
    padding-top: 80px;
    overflow: hidden;
    height: 100%;
    position: relative;
}
.settle-wrap::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 376px;
    width: 100%;
    border: 1px dashed #d1d7eb;
}
.settle-title {
    font-size: 50px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 67px;
    text-align: center;
}
.settle-title span {
    color: #e32523;
    font-weight: bold;
}
.settle-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #999999;
    line-height: 21px;
    margin-top: 4px;
    text-align: center;
}
.settle-list {
    margin-top: 59px;
}
.settle-list .swiper-container {
    overflow: visible;
}
.settle-list .swiper-slide {
    width: 426.83px;
}
.settle-item {
    width: 100%;
	background-color:#E3DEFD;
	width: 427px;
	height: 280px;
    padding: 70px 40px 73px;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all 0.3s;
}
.settle-top {
    position: absolute;
    top: 0;
    left: 40px;
    display: flex;
    opacity: 1;
    transition: opacity 0.3s;
}
.settle-dh {
    width: 35.93px;
    height: 35.88px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #5952f7;
}
.settle-head {
    margin-top: -25px;
}
.settle-item-title {
    font-size: 24px;
    font-family: MicrosoftYaHeiSemibold;
    color: #050f3f;
    line-height: 32px;
    transition: color 0.3s;
}
.settle-item-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #737789;
    line-height: 25px;
    margin-top: 12px;
    flex: 1;
    transition: color 0.3s;
}
.icon-arrow_red_big {
    margin-top: 5px;
}
.settle-btn {
    position: absolute;
    left: 40px;
    bottom: 70px;
    width: 160px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.39);

    font-size: 14px;
    font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
    font-weight: bold;
    color: #e62129;
    line-height: 19px;

    opacity: 0;
    transition: all 0.3s;
}
.settle-btn:hover {
    background: #fff2f3;
}
.settle-btn i {
    margin-left: 6px;
}
.settle-cover {
    position: absolute;
    top: 37px;
    right: 53px;
}
.settle-bottom {
    position: absolute;
    left: 50%;
    top: calc(100% + 50px);
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.settle-circle {
    width: 25px;
    height: 25px;
    opacity: 0.8;
    border: 1px solid #e2e5f2;
    margin-bottom: 12px;
    border-radius: 100%;
    transform: all 0.3s;
}
.settle-circle::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    margin: 50%;
    transform: translate(-50%, -50%);
    background: #828aac;
    border-radius: 100%;
    transform: background 0.3s;
}
.settle-num {
    font-size: 20px;
    font-family: DIN-Medium, DIN;
    font-weight: 500;
    color: #828aac;
    line-height: 24px;
    transform: color 0.3s;
}
.settle-item:hover {
    padding-top: 56px;
    background-image: url(../image/settle_item_bg_active.png);
}
.settle-item:hover .settle-top {
    opacity: 0;
}
.settle-item:hover .settle-item-title,
.settle-item:hover .settle-item-des {
    color: white;
}
.settle-item:hover .settle-btn {
    opacity: 1;
}
.settle-item:hover .settle-circle {
    border-color: #e32523;
}
.settle-item:hover .settle-num {
    color: #050f3f;
}
.settle-item:hover .settle-circle::before {
    background: #e32523;
}
.dock {
    background: #202147;
    height: 885px;
	margin-top: -100px;
    text-align: center;
}
.dock-wrap {
    width: 1280px;
    display: inline-block;
    text-align: left;
}
.dock-title {
    font-size: 50px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 67px;
    margin-top: -142px;
    text-align: center;
}
.dock-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #999999;
    line-height: 21px;
    text-align: center;
}
.dock-arrow {
    margin-top: 32px;
    text-align: center;
}
.dock-list {
    padding-top: 121px;
    position: relative;
}
.dock-list .swiper-container {
    height: 314px;
}
.dock-list .swiper-slide:not(.swiper-slide-active) {
    opacity: 0 !important;
}
.dock-item {
    display: flex;
    justify-content: space-between;
}
.dock-left {
    padding-top: 195px;
}
.dock-item-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #ffffff;
    line-height: 30px;
    opacity: 0.6;
}
.dock-tl {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.dock-tl-top {
    display: flex;
}
.dock-tl-icon {
    padding-top: 11px;
}
.dock-tl-info {
    margin-left: 11px;
    display: flex;
    flex-direction: column;
}
.dock-tl-title {
    font-size: 34px;
    font-family: MicrosoftYaHeiSemibold;
    color: #ffffff;
    line-height: 46px;
}
.dock-tl-des {
    font-size: 16px;
    font-family: DIN-Regular, DIN;
    font-weight: 400;
    color: #ffffff;
    line-height: 20px;
    letter-spacing: 1px;
    opacity: 0.32;
    margin-top: 2px;
}
.dock-tabs {
    display: flex;
    padding: 5px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 26px;
    backdrop-filter: blur(7px);
    margin-top: 46px;
}
.dock-tab-item {
    width: 154px;
    padding: 10px 0;
    font-size: 16px;
    font-family: MicrosoftYaHeiSemibold;
    color: #ffffff;
    line-height: 21px;
    text-align: center;
    border-radius: 20px;
    transition: background 0.3s;
    cursor: pointer;
}
.dock-tab-item:hover,
.dock-tab-item.active {
    background: #1a59f2;
}
.dock-prev,
.dock-next {
    position: absolute;
    top: 231px;
    z-index: 1;
}
.dock-prev {
    left: -106px;
}
.dock-next {
    right: -106px;
}
.dock-prev i:last-child,
.dock-next i:first-child {
    transform: rotateY(180deg);
}
.dock-service {
    margin-top: 94px;
}
.dock-st {
    display: flex;
}
.dock-st-left {
    padding-top: 11px;
}
.dock-st-right {
    margin-left: 11px;
    display: flex;
    flex-direction: column;
}
.dock-st-title {
    font-size: 34px;
    font-family: MicrosoftYaHeiSemibold;
    color: #ffffff;
    line-height: 46px;
}
.dock-st-des {
    font-size: 16px;
    font-family: DIN-Regular, DIN;
    font-weight: 400;
    color: #ffffff;
    line-height: 20px;
    letter-spacing: 1px;
    opacity: 0.32;
}
.dock-service-list {
    margin-top: 44px;
    display: flex;
}
.dock-service-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 0;
    flex: 1;
    height: 115px;
    background: rgba(255, 255, 255, 0);
    border: 1px solid #40486b;
    backdrop-filter: blur(18px);
}
.dock-service-item:hover .dock-sitem-left,
.dock-service-item:hover .dock-service-info {
    transform: translateY(-4px);
}
.dock-sitem-left {
    transition: transform 0.3s;
}
.dock-service-info {
    display: flex;
    flex-direction: column;
    margin-left: 12px;
    transition: transform 0.3s;
}
.dock-service-title {
    font-size: 16px;
    font-family: MicrosoftYaHeiSemibold;
    color: #ffffff;
    line-height: 21px;
}
.dock-service-des {
    font-size: 10px;
    font-family: ArialMT;
    color: #ffffff;
    line-height: 11px;
    margin-top: 5px;
    opacity: 0.3;
}
.shot {
    height: 802px;
    background: #f0f4fd;
}
.shot-wrap {
    padding-top: 80px;
}
.shot-title {
    text-align: center;
    font-size: 50px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 67px;
}
.shot-des {
    text-align: center;
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #999999;
    line-height: 21px;
    margin-top: 4px;
}
.shot-list {
    margin-top: 50px;
}
.shot-list .swiper-container {
    padding-bottom: 80px;
}
.shot-list .swiper-container .swiper-scrollbar {
    width: 100%;
    height: 4px;
    left: 0;
    bottom: 18px;
    background: #d0d8ea;
    border-radius: 1px;
}
.shot-list .swiper-container .swiper-scrollbar-drag {
    height: 4px;
    background: #e62129;
    border-radius: 1px;
}
.shot-list .swiper-container .swiper-scrollbar-drag::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: url(../image/css_sprites2.png) -396px -282px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.shot-list .swiper-slide {
    width: 306px;
}
.shot-item {
    width: 100%;
    height: 400px;
    position: relative;
}
.shot-cover {
    width: 100%;
}
.shot-info {
    position: absolute;
    bottom: 48px;
    left: 0;
    right: 0;
    padding: 0 30px 0 47px;
    display: flex;
    flex-direction: column;
    transition: bottom 0.3s;
}
.shot-item-title {
    font-size: 22px;
    font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
    font-weight: bold;
    color: #ffffff;
    line-height: 30px;
    margin-top: 30px;
}
.shot-item-des {
    font-size: 12px;
    font-family: PingFangSC-Medium, PingFang SC;
    font-weight: 500;
    color: #ffffff;
    line-height: 20px;
    opacity: 0.7;
    margin-top: 6px;
}
.shot-item-des.shot-zh {
    display: none;
}
.shot-btn {
    width: 180px;
    height: 0;
    overflow: hidden;
    background: #ffffff;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 22px;
    position: relative;
    transition: all 0.3s;

    font-size: 14px;
    font-family: MicrosoftYaHeiSemibold;
    color: #e62129;
    line-height: 19px;
}
.shot-btn i {
    margin-left: 9px;
}
.shot-btn:hover {
    background: #fff2f3;
}
.shot-item:hover .shot-info {
    bottom: 40px;
}
.shot-item:hover .shot-item-des.shot-zh {
    display: block;
}
.shot-item:hover .shot-item-des.shot-en {
    display: none;
}
.shot-item:hover .shot-btn {
    height: 40px;
}
.ser {
    height: 536px;
    background: #ffffff;
}
.ser-wrap {
    padding-top: 80px;
}
.ser-title {
    font-size: 50px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 67px;
    text-align: center;
}
.ser-des {
    font-size: 16px;
    font-family: MicrosoftYaHei;
    color: #666666;
    line-height: 21px;
    margin-top: 4px;
    text-align: center;
}
.ser-list-r {
    position: relative;
    margin-top: 50px;
}
.ser-list-r::before {
    content: "";
    display: block;
    position: absolute;
    left: 74px;
    right: 74px;
    top: 133px;
    opacity: 0.1;
    border: 1px solid #8c93a1;
}
.ser-list {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
.ser-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ser-item i {
    transition: transform 0.3s;
}
.ser-num {
    margin-top: 40px;
    padding: 0 9px;
    background-color: white;
}
.ser-item-title {
    font-size: 20px;
    font-family: MicrosoftYaHeiSemibold;
    color: #333333;
    line-height: 27px;
    margin-top: 20px;
}
.ser-item-des {
    font-size: 14px;
    font-family: DIN-Medium, DIN;
    font-weight: 500;
    color: #c2c2c2;
    line-height: 17px;
    margin-top: 4px;
}
.ser-item:hover i:first-child {
    transform: translateY(-4px);
}
