/*********************/
/*    01. Header     */
/*********************/
header {
    background: url(../imgs/xsgl_banner_bg_lg.png) center center / cover no-repeat, rgb(43, 88, 249);
}
header .header_content {
	padding: 11.875rem 0 8.75rem;
	display: flex;
	align-items: center;
    color: #ffffff;
}
header .txt_box{
	display: flex;
	flex-direction: column;
}
header .txt_box h1 {
    font-size: 2.25rem;
    line-height: 2.25rem;
    font-weight: 700;
    margin-bottom: 20px;
}
header .txt_box .des{
	font-size: 1.5rem;
	line-height: 2.25rem;
}
header .btn_box{
	display: flex;
	margin-top: 3rem;
}
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: 9.2rem;
	left: 4.8rem;
}

/*********************/
/*   02. functions   */
/*********************/
.functions{
	padding: 6rem 0 6.75rem;
}
.functions .container > .tit{
	font-size: 2.25rem;
	line-height: 2.25rem;
	font-weight: 600;
	color: #1f212f;
	text-align: center;
	margin-bottom: 3.75rem;
}
.functions .row > div{
	padding: 0 10px;
}
.functions .row > div .top{
	background: #96d5f1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 3.75rem 0;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	font-size: 1rem;
	line-height: 1rem;
	color: #fff;
	box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.1);
}
.functions .row > div:nth-child(2) .top{
	background: #f3c08e;
}
.functions .row > div:nth-child(3) .top{
	background: #7bc376;
}
.functions .row > div:nth-child(4) .top{
	background: #e99ab6;
}
.functions .row > div .top > .tit{
	font-size: 1.5rem;
	line-height: 1.5rem;
}
.functions .row > div .line{
	width: 24px;
    height: 2px;
    background: #fff;
    margin: 14px 0;
}
.functions .row > div .btm{
	padding: 20px;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
	box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.1);
	min-height: 10rem;
	font-size: 14px;
	line-height: 24px;
}

/*********************/
/*     03. rules     */
/*********************/
.rules{
	padding: 6.5rem 0;
	background-color: #f8fbff;
}
.rules .container > .tit{
	font-size: 1.5rem;
	line-height: 1.5rem;
	font-weight: 600;
	margin-bottom: 3rem;
	text-align: center;
}
.rules .top{
	display: flex;
	/*justify-content: safe center;*/
	margin-left: 10px;
	align-items: center;
	margin-bottom: 3rem;
}
.rules font{
	display: block;
	padding: 15px 20px;
	background-color: rgba(0, 78, 225, 1.0);
	border-radius: 10px;
	min-width: 106px;
	text-align: center;
	font-size: 16px;
	line-height: 16px;
	color: #fff;
}
/* 尖括号 */
.rules .arrow{
  width: 16px;
  height: 16px;
  transform: rotate(45deg);
  right: 0px;
}
.rules .arrow.lt{
	transform: rotate(-135deg);
  	margin: 0 1rem 0 1.4rem;
}
.rules .arrow.rt{
	transform: rotate(45deg);
	margin: 0 1.4rem 0 1rem;
}
.rules .arrow.c1{
	border-top: 3px solid rgba(0, 78, 225, 1.0);
  	border-right: 3px solid rgba(0, 78, 225, 1.0);
}
.rules .arrow.c2{
	border-top: 3px solid rgba(0, 78, 225, .3);
  	border-right: 3px solid rgba(0, 78, 225, .3);
}

.rules .btm{
	display: flex;
	/*justify-content: center;*/
}
.rules .btm > div{
	min-width: 106px;
	min-height: 350px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border-radius: 15px;
	margin: 0 10px;
	font-size: 1rem;
	line-height: 3rem;
}
.rules .btm > div.w_180{
	min-width: 180px;
	background-color: #e1edff;
	border: 1px solid blue;
}
.rules .btm > div.w_170{
	min-width: 170px;
	background-color: #e1edff;
	border: 1px solid blue;
}
.rules .btm > div.w_180 > .tit{
	font-size: 1.5rem;
	line-height: 1.5rem;
	color: #004ee1;
	margin-bottom: 20px;
}
.rules .btm > div.w_180 > .des{
	padding: 10px 30px;
	margin: 5px 0;
	background-color: #fff;
	border-radius: 10px;
	font-size: 14px;
	line-height: 14px;
	color: #000;
}
.rules .btm > div .line{
	width: 100%;
	height: 4px;
    background: #000;
    margin: 50px 0;
}
.rules .btm > a{
	text-decoration: none;
	min-width: 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #000;
}
/* 三角形 */
.rules .triangle{
	width: 0;
	height: 0;
	margin: 10px 0;
}
.rules .triangle.lt{
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-right: 15px solid #77a4ee;
}
.rules .triangle.rt{
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 15px solid #77a4ee;
}

/*********************/
/*    04. com_box    */
/*********************/
.com_box .row{
    display: flex;
    align-items: center;
}
.com_box .tit{
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 600;
    color: #1150db;
    margin-bottom: 2rem;
}
.com_box .item {
	background-color: #f1f8ff;
	padding: 1.25rem 1.5rem;
	margin: 8px 0;
	display: flex;
	align-items: center;
	font-size: 1rem;
	line-height: 1.5rem;
}
.com_box .item > img{
	margin-right: 1.5rem;
}
.com_box .item .sub_tit{
	color: #1150db;
	margin-bottom: 1rem;
}
.com_box .button{
	margin-top: 2rem;
}
.com_box .button > a{
    display: inline-block;
    padding: .875rem 2.75rem;
    border-radius: 10px;
    font-size: 0.875rem;
    margin: 0 3rem 0 0;
}
.com_box .button > a:first-child{
    background: #046CFF linear-gradient(269deg, #00ACFF 0%, #046CFF 100%);
    color: #ffffff;
}
.com_box .button > a:last-child{
    border: 1px solid #046CFF;
    box-sizing: border-box;
    color: #046CFF;
}
.com_box .com_pic > img:nth-child(1){
	position: relative;
}
.com_box .com_pic.s1_pic > img:nth-child(2){
	position: absolute;
	top: 12.5rem;
	left: 13rem;
}
.com_box .com_pic.s2_pic > img:nth-child(2){
	position: absolute;
	top: 8.875rem;
	left: 10.625rem;
}
.com_box .com_pic.s3_pic > img:nth-child(2){
	position: absolute;
	top: 13.125rem;
	left: 1rem;
}
.com_box .com_pic.s4_pic > img:nth-child(2){
	position: absolute;
	top: .5rem;
	left: 4.75rem;
}
/*end of com_box*/
.s1{
	padding: 7.5rem 0 4.5rem;
}
.s2{
	padding: 6rem 0;
	background-color: #f8fbff;
}
.s3{
	padding: 6rem 0 9rem;
}
.s4{
	padding: 4.5rem 0 8rem;
	background-color: #f8fbff;
}

/*********************/
/*     05. bottom    */
/*********************/
.bottom{
    background: url(../imgs/xsgl_bottom_bg.jpg) center center no-repeat;
    background-size: cover;
    padding: 8rem 0 5rem;
}
.bottom .container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.bottom .txt{
    font-size: 1.875rem;
    line-height: 1.875rem;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 3.5rem;
}
.bottom .button > a{
    display: inline-block;
    padding: 14px 3rem;
    border-radius: 10px;
    font-size: 14px;
    margin: 0 1.25rem;
}
.bottom .button > a:first-child{
    background: #046CFF linear-gradient(180deg, #ffffff 60%, #b8ddff 100%);
    color: #2373f9;
}
.bottom .button > a:last-child{
    border: 1px solid #ffffff;
    box-sizing: border-box;
    color: #ffffff;
}

/*****************************/
/*     . Media Queries     */
/*****************************/
@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;
	}
}
@media (max-width: 768px) {
	/* header */
	header {
	    background: url(../imgs/xsgl_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;
	}	

	/* rules */
	.rules .container > .tit{
		font-size: 1.875rem;
		line-height: 1.875rem;
	}

	/* functions */
	.functions{
		padding: 6rem 0 0 0;
	}
	.functions .row > div{
		margin: 10px 0;
	}
	.functions .container > .tit{
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.functions .row > div .top > .tit{
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.functions .row > div .top{
		font-size: 1rem;
		line-height: 1rem;
	}
	.functions .row > div .btm{
		min-height: 11.25rem;
	}
	/* com_box */
	.com_box .tit{
		font-size: 1.875rem;
		line-height: 1.875rem;
		text-align: center;
		margin: 3.6rem 0 3rem;
	}
	.com_box .row{
		flex-direction: column;
		align-items: center;
	}
	.com_box .item{
		font-size: 14px;
		line-height: 24px;
	}
	.com_box .item .sub_tit{
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
}
@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 .btn_box > a{
	    width: 15rem;
	    height: 5rem;
	    font-size: 2rem;
	    line-height: 5rem;
	    margin-right: 4rem;
	}

    /* functions */
    .functions{
		padding: 6rem 0 4rem;
		letter-spacing: normal;
	}
	.functions .container > .tit{
		width: 70%;
		word-break: break-all;
		font-size: 2.5rem;
		line-height: 4rem;
		color: #1f212f;
		text-align: center;
		/*margin-bottom: 3.75rem;*/
		margin: 0 auto 3.75rem;
	}
	.functions .row > div .top{
		padding: 2.5rem 0;
		font-size: 1.75rem;
		line-height: 1.75rem;
	}
	.functions .row > div .top > .tit{
		font-size: 2.25rem;
		line-height: 2.25rem;
	}
    .functions .row > div{
    	margin: 15px 0;
    }
    .functions .row > div .btm{
		min-height: 26rem;
		font-size: 14px;
		line-height: 24px;
	}
	/* rules */
	.rules .container > .tit{
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
    /* com_box */
    .com_box .row{
        flex-direction: column;
        justify-content: center;
    }
    .com_box .pic{
        width: 80%;
    }
    .com_box .txt img{
    	width: 4rem;
    }
    .com_box .tit{
        margin: 4rem 0;
        font-size: 2.5rem;
        line-height: 2.5rem;
        text-align: center;
    }
    .com_box .item {
		padding: 20px;
		margin: 0;
		font-size: 14px;
		line-height: 20px;
	}
	.com_box .item .sub_tit{
		font-size: 16px;
		line-height: 16px;
		color: #1150db;
		margin-bottom: 15px;
	}
	.com_box .item > img{
		margin-right: 2.5rem;
	}
}
@media (max-width: 414px) {
	header .txt_box .des{
		font-size: 2rem;
		line-height: 3rem;
	}
}
@media (max-width: 375px) {
	html{
        font-size: 8px;
    }
    .functions .container > .tit{
    	width: 80%;
    }
    .functions .row > div .top{
		padding: 2.5rem 0;
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.functions .row > div .btm{
		padding: 20px 10px;
	}
}
