/***************************/
/*        1. Header        */
/***************************/
header {
    background: url(../imgs/index_banner_bg_lg.png) center center / cover no-repeat, rgb(43, 88, 249);
}
header .header_content {
	padding: 12.5rem 0 8.125rem;
	display: flex;
	align-items: center;
    color: #ffffff;
}
header .txt_box{
	display: flex;
	flex-direction: column;
}
header .txt_box h1 {
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 700;
    margin-bottom: 3rem;
}
header .txt_box .des{
	font-size: 2.25rem;
	line-height: 3rem;
}
header .txt_box .des > span{
    color: #ffd543;
}
header .txt_box .sub_des{
	font-size: 1.5rem;
	line-height: 2.25rem;
	margin-bottom: 3rem;
}
header .txt_box .sub_des > span{
    color: #ffd543;
}
header .btn_box{
	display: flex;
}
header .btn_box > a{
    display: block;
    cursor: pointer;
    text-align: center;
    width: 10rem;
    height: 3rem;
    font-size: 1rem;
    line-height: 3rem;
    font-weight: normal;
    border: 1px solid #fff;
    border-radius: 10px;
    box-sizing: border-box;
    margin-right: 2rem;
}
header .btn_box > a:first-child{
    background: #fff;
    border: none;
    color: #0047db;
}
header .row > div:nth-child(2){
	position: relative;
}
header .row > div:nth-child(2) > img:nth-child(2){
	position: absolute;
	top: 10rem;
	left: 21rem;
}

/***************************/
/*           2.s1          */
/***************************/
.s1{
	background: url(../imgs/index_s1_bg.png) center bottom / cover no-repeat;
	padding: 6rem 0 ;
}
.s1 .content{
	padding: 48px 32px;
	color: #fff;
	border-radius: 15px;
	display: flex;
	flex-direction: column;
}
.s1 .content>.tit{
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 600;
}
.s1 .content>.line{
	width: 3rem;
	height: 3px;
	background-color: #fff;
	margin: 1rem 0 2.5rem;
}
.s1 .content>.des{
	font-size: 1rem;
	line-height: 1.5rem;
}
.s1 .row>div:nth-child(1)>.content{
	background: url(../imgs/index_s1_bg1.png) center right / cover no-repeat rgb(243, 128, 80);
}
.s1 .row>div:nth-child(2)>.content{
	background: url(../imgs/index_s1_bg2.png) center right / cover no-repeat rgb(98, 69, 231);
}
.s1 .row>div:nth-child(3)>.content{
	background: url(../imgs/index_s1_bg3.png) center right / cover no-repeat rgb(74, 141, 242);
}
.s1 .row>div:nth-child(4)>.content{
	background: url(../imgs/index_s1_bg4.png) center right / cover no-repeat rgb(27, 175, 167);
}
.s1 .content:hover{
	transform: scale(1.1);
	box-shadow: 1px 1px 4px 0 rgba(0,0,0,.5), inset 1px 1px 2px 0 hsla(0,0%,100%,.4);
}
.s1 .btm{
	margin-top: 6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.s1 .btm>.tit{
    font-size: 2.25rem;
    font-size: 2.25rem;
    color: #1f212f;
}
.s1 .btm>.line{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1.25rem 0;
}
.s1 .btm>.line > div{
    width: 6rem;
    height: 1px;
    background-color: #005ee4;
}
.s1 .btm>.line > div:nth-child(2){
    width: 5rem;
    height: .5rem;
}
.s1 .btm>.des{
    text-align: center;
    width: 80%;
    font-size: 1.125rem;
    line-height: 1.5rem;
    color: #7e7e7e;
}

/***************************/
/*      3.swiper_box       */
/***************************/
.swiper_box{
    display: flex;
    align-items: center;
}
.swiper_box .sc_rt .swiper-wrapper{
	display: flex;
	align-items: center;
}
.swiper_box .sc_lt .swiper-slide>div{
    position: relative;
    padding: 16px 24px;
    text-align: left;
    font-size: 14px;
    line-height: 24px;
    color: #999;
    border-left: 1px solid #eee;
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
    border-bottom: 1px solid transparent;
    margin: 10px 0;
}
.swiper_box .sc_lt .swiper-slide>div>.tit{
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
}
.swiper_box .sc_lt .swiper-slide>div.active{
    box-sizing: border-box;
    border: 1px solid #eee;
    box-shadow: 1px 1px 4px 0 rgba(0,0,0,.2), inset 1px 1px 2px 0 hsla(0,0%,100%,.1);
    background: linear-gradient(90deg, rgba(4, 108, 255, 0.08) 0%, rgba(4, 108, 255, 0.01) 100%);
}
.swiper_box .box_animate{
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 0%;
    background-color: #007aff;
    animation: border_lt 5s linear;
}
@keyframes border_lt{
    0%{
        height: 0%;
    }
    100%{
        height: 100%;
    }
}
@media (max-width: 768px){
    .swiper-pagination{
        position: relative;
        display: flex;
        justify-content: center;
    }
    .swiper-pagination-bullet{
        margin: 0 5px;
    }
    .swiper_box{
        flex-direction: column;
        justify-content: center;
    }
    .swiper_box .sc_lt .swiper-slide>div{
        text-align: center;
        border: none;
    }
    .swiper_box .sc_rt{
        margin: 30px 0;
    }
    .swiper_box .sc_rt .swiper-slide>img{
        width: 80%;
    }
}
@media (max-width: 540px){
	html{
		font-size: 8px;
	}
    .swiper_box .sc_lt .swiper-slide>div{
       padding: 15px 0;
    }
    .swiper_box .sc_rt{
        margin: 0 0 2.5rem 0;
    }
    .swiper_box .sc_rt .swiper-slide>img{
        width: 100%;
    }
    .swiper_box .sc_lt .swiper-slide>div>.des{
    	text-align: left;
    }
}

/***************************/
/*       4.s2/s3/s4        */
/***************************/
.s2, .s3, .s4{
	padding: 6rem 0;
}
.s2>.container>.tit, .s3>.container>.tit, .s4>.container>.tit{
	margin-bottom: 3rem;
	font-size: 2rem;
	line-height: 2rem;
	font-weight: 600;
	text-align: center;
}
.s3{
	background-color: #f7f8fa;
}

/**************************/
/*        5. case         */
/**************************/
.case{
    background: url(../imgs/index_s5j1_lg.jpg) center center no-repeat;
    background-size: cover;
    padding-bottom: 5rem;
}
#caseList .swiper-slide{
    /*padding: 300px 140px 100px;*/
    padding: 6rem 6rem 0;
    height: 21.875rem;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    font-size: .875rem;
    line-height: 1.25rem;
}
#caseList .swiper-pagination-custom ul{
    margin-left: 0;
    position: relative;
    top: -12.5rem;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#caseList .swiper-pagination-custom li{
    height: 3rem;
    font-size: 1rem;
    line-height: 3rem;
    color: #fff;
    flex: 1;
    text-align: center;
    border: 2px solid rgba(255, 255, 255, 0.5);
    box-sizing: border-box;
}
#caseList .swiper-pagination-custom li:nth-child(n+2){
    border-left: none;
}
#caseList .swiper-pagination-custom li.on{
    background: linear-gradient(269deg, #00ACFF 0%, #046CFF 100%);
}
.case .bottom{
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #ffffff;
}
.case .bottom .txt{
    margin: 4rem 0 2rem;
    font-size: 1.875rem;
    line-height: 1.875rem;
    font-weight: 500;
}
.case .button > a{
    display: inline-block;
    padding: .875rem 2.875rem;
    border-radius: 10px;
    font-size: .875rem;
    margin: 0 1.25rem;
}
.case .button > a:first-child{
    background: #ffffff;
    color: #2054a2;
}
.case .button > a:last-child{
    border: 1px solid #ffffff;
    box-sizing: border-box;
    color: #ffffff;
}

/**************************/
/*        5. media        */
/**************************/
@media (max-width: 1024px){
	/* Header */
	header .txt_box h1 {
	    font-size: 2.25rem;
	    line-height: 2.25rem;
	    margin-bottom: 2rem;
	}
	header .txt_box .des{
		font-size: 1.5rem;
		line-height: 2.25rem;
	}
	header .txt_box .sub_des{
		font-size: 1.25rem;
		line-height: 2rem;
		margin-bottom: 2rem;
	}

	/* s1 */
	.s1 .content{
		padding: 48px 20px;
	}
}
@media (max-width: 768px){
	/* header */
	header {
	    background: url(../imgs/index_banner_bg_xs.png) center center / cover no-repeat, rgb(43, 88, 249);
	    height: 80vh;
	    display: flex;
	    padding-top: 70px;
	}
	header .header_content {
		padding: 0;
		flex-direction: column;
		justify-content: center;
		height: 100%;
	}
	header .header_content>div{
		flex: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	header .pic_box>img{
		max-width: 300px;
		height: auto;
	}
	header .txt_box{
		align-items: center;
	}
	/*header .pic_box{
		height: calc(100vh - 27.25rem - 46px);
		display: flex;
		justify-content: center;
		align-items: center;
	}
    header .pic_box > img{
    	max-width: 440px;
    }*/

    /* s1 */
    .s1{
    	padding: 3rem 0;
    }
	.s1 .content{
		margin: 15px 0;
	}
	.s1 .btm>.tit{
	    font-size: 1.875rem;
	    line-height: 1.875rem;
	}

	/* case */
    #caseList .swiper-slide{
        padding: 15rem 20px 0;
        height: 15rem;
        font-size: 1rem;
        line-height: 1.5rem;
        border: none;
    }
    #caseList .swiper-pagination-custom ul{
    	width: 100%;
        top: -8rem;
    }
}
@media (max-width: 540px){
	html{
        font-size: 8px;
    }

    /* header */
    header .txt_box h1 {
	    font-size: 3rem;
	    line-height: 3rem;
	    margin-bottom: 3rem;
	}
	header .txt_box .des{
		font-size: 2.5rem;
		line-height: 4rem;
	}
	header .txt_box .sub_des{
		font-size: 2rem;
		line-height: 2.5rem;
		margin-bottom: 3rem;
	}
	/*header .pic_box{
		height: calc(100vh - 33.5rem - 46px);
	}*/
    header .btn_box > a{
	    width: 15rem;
	    height: 5rem;
	    font-size: 2rem;
	    line-height: 5rem;
	    margin-right: 4rem;
	}

	/* s1 */
	.s1 .content{
		padding: 6rem 0;
		align-items: center;
	}
	.s1 .content>.tit{
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
	.s1 .content>.line{
		width: 5rem;
		margin: 2rem 0 4rem;
	}
	.s1 .content>.des{
		font-size: 1.75rem;
		line-height: 3rem;
	}
	.s1 .btm>.tit{
	    font-size: 3rem;
	    line-height: 3rem;
	}
	.s1 .btm>.line{
	    margin: 3rem 0;
	}
	.s1 .btm>.des{
		width: 90%;
	    font-size: 2rem;
	    line-height: 3rem;
	}

	/* s2-s3-s4 */
	.s2>.container>.tit, .s3>.container>.tit, .s4>.container>.tit{
	    width: 40%;
	    height: 48px;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    background-color: rgb(74, 141, 242);
	    margin-left: -20px;
		font-size: 2.5rem;
	    line-height: 2.5rem;
	    color: white;
	    border-top-right-radius: 15px;
	    border-bottom-right-radius: 15px;
	}

	/* case */
    #caseList .swiper-slide{
        padding: 18rem 10px 0;
        height: 30rem;
        font-size: 1.75rem;
        line-height: 2.5rem;
    }
    #caseList .swiper-pagination-custom ul{
        top: -18rem;
    }
    #caseList .swiper-pagination-custom li{
        height: 4rem;
        font-size: 1.75rem;
        line-height: 4rem;
    }
    /* end of case */
}
@media (max-width: 414px){
	header .pic_box > img{
    	max-width: 300px;
    }
}
@media (max-width: 375px){
	/* header */
	header .txt_box .sub_des{
		font-size: 14px;
		line-height: 20px;
	}
	header .pic_box > img{
    	max-width: 280px;
    }

    /* case */
    /*.case .container{
    	padding: 0;
    }*/
    #caseList .swiper-pagination-custom li{
    	font-size: 1.5rem;
    	font-size: 1.5rem;
    }
}
