*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	-webkit-tap-highlight-color:transparent;
}

:root{
	--primary:#2146a7;
	--background:#eceaea;
	--dark:#333;
	--light:#666;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: rgb(239, 239, 239);
    border-radius: 2px;
}

::-webkit-scrollbar-thumb {
    background: #bfbfbf;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #666;
}

::-webkit-scrollbar-corner {
    background: #179a16;
}

body{
	height: 100vh;
	overflow-x: hidden;
	font-family: 'Microsoft-YaHei','微软雅黑',Arial, Helvetica, sans-serif;
	background-color: #fff;
}

body.lock{
	overflow: hidden;
}

input[type=button],
input[type=submit],
input[type=reset],
button{
	-webkit-appearance: none;
	appearance: none;
}

img{
	border:none;
	max-width: 100%;
}

a{
	color:inherit;
	text-decoration: none;
}

.inner{
	width:100%;
	max-width: 1600px;
	padding:0 20px;
	margin:0 auto;
	height: inherit;
}

.icon{
	width: 1em;
	height: 1em;
	fill: currentColor;
	overflow: hidden;
	vertical-align: -0.15em;
}

.flex{
	display: flex;
}

.loading{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.3);
	display: flex;
	justify-content: center;
	align-items: center;
}

.loading img{
	width: 40px;
	animation-name: example;
	animation-iteration-count: infinite;
	animation-duration: 5s;
}

@keyframes example {
	from {transform: rotate(0deg);}
	to {transform: rotate(360deg);}
}

@keyframes zoomIn {
	from{
		opacity: 0;
		transform:scale(0.6);
	}
	to{
		opacity: 1;
		transform:scale(1);
	}
}

@keyframes fadeIn {
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}

header{
	padding:30px 0;
}

header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header h1{
	color:var(--primary);
	font-size: 32px;
	line-height: 1.25;
	height: 40px;
}

header h1 a{
	display: block;
	width: 100%;
	height: 100%;
}

header h1 a img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

header nav>ul{
	display: inline-flex;
}

header nav>ul>li{
	position: relative;
	background-color: #fff;
}

header nav>ul>li + li::before{
	content: "";
	width:1px;
	height: 20px;
	position: absolute;
	left: 0;
	top:50%;
	transform: translateY(-50%);
	background-color: #999;
}

header nav>ul>li:hover>a{
	color:var(--primary);
}

header nav>ul>li:hover ul{
	display: block;
	animation: zoomIn 0.3s ease;
}

header nav>ul>li a{
	color:var(--light);
	display: block;
	max-width: 17em;
	min-width: 120px;
	padding:0 20px;
	line-height: 35px;
	text-align: center;
}

header nav>ul>li ul{
	display: none;
	position: absolute;
	z-index: 2;
	background-color: #fff;
	border:1px solid #ccc;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

header nav>ul>li ul li a{
	overflow: hidden;
	text-overflow:ellipsis;
	white-space: nowrap;
	display: block;
	padding:0 15px;
	text-align: left;
}

header nav>ul>li ul li a:hover{
	background-color: var(--background);
}

header #menu{
	display: none;
	color:var(--light);
	cursor: pointer;
}

aside{
	position: fixed;
	top:0;
	left:-100%;
	width:70vw;
	height: 100vh;
	z-index: 9;
	background-color: rgba(255, 255, 255, 0.9);
	transition: left 0.3s ease;
	padding:15px;
}

aside.active{
	left:0
}

aside>ul{
	height: calc(100% - 40px);
	overflow-y: auto;
}

aside>ul::-webkit-scrollbar{
	display: none;
}

aside>ul>li{
	border-bottom: 1px solid #d2cece;
}

aside li{
	position: relative;
	padding-left: 10px;
}

aside li a{
	line-height: 40px;
	display: block;
	overflow: hidden;
	text-overflow:ellipsis;
	white-space: nowrap;
}

aside li a + .arrow{
	position: absolute;
	right:0;
	top: 0;
	width:35px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.3s ease;
}

aside li a + .arrow.active{
	transform: rotate(180deg);
}

aside li ul{
	display: none;
}

aside .language{
	height: 40px;
	display: flex;
	align-items: center;
}

.mask{
	position: fixed;
	z-index: 8;
	left:0;
	top:0;
	right:0;
	bottom:0;
	width:100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.35);
	animation: fadeIn 0.5s ease;
}

header + main{
	min-height: calc(100vh - 358px);
}

.banner{
	background-color: var(--background);
	--swiper-navigation-color: var(--primary);
}

.banner img {
	display: block;
	width:100%;
	max-height: 565px;
	object-fit: cover;
}

.location{
	padding:45px 0;
	color:var(--dark);
}

.location a:hover{
	color: var(--primary);
}

footer{
	background-color: #4d4d4d;
	padding-top: 30px;
	padding-bottom: 100px;
	color: #fff;
}

.footer-whatsapp{
    position: fixed;
    right: 25px;
    bottom: 35px;
    background: var(--primary);
    color: #fff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-size: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
}

footer h2{
	font-size: 26px;
	font-weight: normal;
}

footer p{
	margin-top: 10px;
}

/* 首页 */
.index .banner .inner{
	flex-direction: row-reverse;
}

.index .introduction{
	padding:50px 0 100px 0;
	text-align: center;
}

.index .introduction h5{
	font-weight: normal;
	font-size: 20px;
	color:var(--light);
}

.index .introduction h2{
	margin-top: 15px;
	color: var(--dark);
}

.index .introduction ul{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-column-gap: 8vw;
	margin-top: 40px;
}

.index .introduction li{
	overflow: hidden;
}

.index .introduction li img{
	display: block;
	margin:auto;
	max-width: 100%;
}

.index .introduction li h4{
	font-size: 22px;
	margin-top: 15px;
	color: var(--dark);
	overflow: hidden;
	text-overflow:ellipsis;
	white-space: nowrap;
}

.index .introduction li h4 + p{
	margin-top: 25px;
	color:var(--light);
	line-height: 1.6;
	height: 3.2em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.index .goods{
	padding:50px 0 100px 0;
	background-color: var(--background);
}

.index .goods h2{
	color: var(--dark);
	text-align: center;
}

.index .goods ul{
	display: grid;
	grid-column-gap: 5vw;
	grid-template-columns: repeat(3,1fr);
	margin-top: 60px;
}

.index .goods li{
	overflow: hidden;
	background-color: #fff;
	border-radius: 8px;
	padding:20px;
	min-height: 300px;
}

.index .goods li .title{
	display: flex;
	align-items: flex-end;
}

.index .goods li .title img{
	width:60px;
	height: 60px;
}

.index .goods li .title img + h4{
	font-size: 20px;
	margin-left: 20px;
	color: var(--dark);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.index .goods li p{
	color:var(--light);
	line-height: 1.6;
	margin-top: 25px;
	text-align: justify;
}

.index .use{
	padding:50px 0 100px 0;
	text-align: center;
	color:var(--dark);
}

.index .use ul{
	display: inline-flex;
	margin-top: 35px;
}

.index .use li{
	padding:0 2vw;
}

.index .use li img{
	display: block;
	margin:auto;
}

.index .use li p{
	margin-top: 15px;
	font-size: 17px;
}

.index .use ul + p{
	margin-top: 30px;
	font-size: 20px;
}

.index .advertisement{
	background-color: var(--background);
	padding:70px 0;
}

.index .advertisement .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.index .advertisement h2{
	color:var(--dark);
}

.index .advertisement p{
	color:var(--light);
	margin-top: 10px;
}

.index .advertisement .button{
	display: inline-flex;
	font-size: 22px;
	font-weight: bold;
	color:#fff;
	background-color: var(--primary);
	padding:0 20px;
	line-height: 40px;
	border-radius: 10px;
}

.contact .map{
	padding:50px 0;
}

.contact .map h2{
	text-align: center;
	color: var(--dark);
}

.contact .map #map{
	margin-top: 50px;
	height: 500px;
}

.contact .infomation{
	margin-top: 40px;
}

.contact .infomation p{
	color:var(--dark);
	line-height: 2;
}

.about .wrapper{
	padding:50px 0;
}

.about .wrapper h2 {
	text-align: center;
	color: var(--dark);
}

.about .wrapper .richtext{
	margin-top: 40px;
}

.service .wrapper>ul>li .inner{
	display: flex;
	justify-content: space-between;
	padding-top: 50px;
	padding-bottom: 30px;
}

.service .wrapper .inner>h1{
	margin: 40px 0;
	text-align: center;
}
.service .wrapper>ul>li .image{
	padding: 20px 0;
}
.service .wrapper>ul>li:nth-child(even){
	background-color: #f5f5f5;
}

/*.service .wrapper>ul>li:first-child .inner{
	padding-top: 0;
}*/

.service .wrapper>ul>li:nth-child(even) .inner{
	flex-direction: row-reverse;
	padding-bottom: 0;
}

.service .wrapper>ul>li:nth-child(even) .inner .button{
	margin-left: auto;
}

.service .wrapper>ul>li:nth-child(even) .inner .text{
	padding-bottom: 30px;
}

.service .wrapper>ul>li .text,
.service .wrapper>ul>li .image{
	flex:1;
}

.service .wrapper>ul>li .text{
	display: flex;
	padding: 20px;
	flex-direction: column;
}

.service .wrapper>ul>li .text h2{
	color:var(--dark);
}

.service .wrapper>ul>li .text p{
	color:var(--light);
	line-height: 1.6;
	margin-top: 30px;
	flex: 1;
	text-align: justify;
}

.service .wrapper>ul>li .text .button{
	display: flex;
	justify-content: center;
	width: 110px;
	font-size: 18px;
	font-weight: bold;
	color:#fff;
	background-color: var(--primary);
	border-radius: 6px;
	line-height: 35px;
	margin-top: 20px;
}

.service .wrapper>ul>li .image{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.service .wrapper>ul>li:nth-child(even) .image{
	justify-content: flex-start;

}

.service .wrapper>ul>li .image .swiper-container{
	max-width: 450px;
}

.service .wrapper>ul>li .image img{
	display: block;
	max-width: 450px;
	height: auto;
	max-height: 450px;
	object-fit: contain;
}

.service .wrapper>ul>li .image .swiper-container img{
	max-width: 100%;
	height: 450px;
	max-height: auto;
}

.service .scene{
	padding:70px 0;
	text-align: center;
	color: var(--dark)
}

.service .scene ul{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-column-gap: 5vw;
	margin-top: 30px;
}

.service .scene li{
	overflow: hidden;
}

.service .scene li .image{
	border-radius: 50%;
	overflow: hidden;
	width:100%;
	max-width: 280px;
	margin:0 auto;
}

.service .scene li img{
	display: block;
	width:100%;
	height: 100%;
	object-fit: cover;
}

.service .scene li h3{
	margin-top: 10px;
	overflow: hidden;
	text-overflow:ellipsis;
	white-space: nowrap;
}

.service .scene li p{
	color:var(--light);
	margin-top: 15px;
}

.case>div>h4{
	text-align: center;
	font-size: 2.8vw;
	line-height: 3;
}
.case>div .category{
	margin: 15px;
}
.case>div .category .select{
	color: white;
	background-color: #2146A7;
	border: 1px solid #2146A7;
}
.case>div .category a{
	display: inline-block;
	padding: 5px 20px;
	margin: 3px 5px;
	font-size: 13px;
	color: #2146A7;
	border: 1px solid #2146A7;
	border-radius: 4px;
	text-align: center;
}

.case>div .img-box{
	max-width: 1600px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.case>div .img-box .img{
	/* margin: 2vw; */
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 20px;
}
.case>div .img-box .img img{
	cursor:pointer;
	width: 20vw;
	max-width: 320px;
	height: 15vw;
	max-height: 240px;
	object-fit: contain;
	border-radius: 5px;
}
.case>div .img-box .img .title{
	display: grid;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	/* font-size: 1.5vw; */
	width: 20vw;
	max-width: 320px;
	height: 40px;
	text-align: center;
	word-break:break-all;
}

.dialog{
	position:fixed;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: 3;
	width:95%;
	max-width: 300px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	overflow: hidden;
	animation: showDialog 0.5s ease;
}
.dialog .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    background: var(--primary);
    padding: 12px 15px;
}
.dialog .title p{
	max-width: calc(100% - 60px);
	color:#fff;
	/* .text-ellipsis(); */
}
.dialog .title svg{
	color:#fff;
	cursor: pointer;
}
.dialog .content{
	padding:20px 15px;
	color:#666;
}
.dialog + .mask{
	position: fixed;
	top:0;
	left:0;
	right:0;
	bottom: 0;
	z-index: 2;
	background: rgba(0,0,0,0.6);
	animation: showMask 0.5s ease;
}

@keyframes showDialog {
	from {transform: translate(-50%,-50%) scale(0)}
	to {transform: translate(-50%,-50%) scale(1)}
}

@keyframes showMask {
	from {opacity: 0}
	to {opacity: 1}
}

@media screen and (max-width: 1024px){
	.inner{
		max-width: 100%;
	}

	header{
		padding:10px 0;
	}

	header h1{
		font-size: 28px;
	}

	header nav{
		display: none;
	}

	header #menu{
		display: block;
		font-size: 28px;
	}

	.index .goods ul{
		grid-column-gap:3vw;
	}

	.richtext img{
		display: block;
		float: unset !important;
		margin:auto;
		height: auto;
	}
}

@media screen and (max-width: 768px){
	.inner{
		padding: 0 10px;
	}

	.location{
		padding:15px 0;
	}

	footer{
		padding:20px 0;
	}

	footer h2{
		font-size: 19px;
	}

	footer p{
		font-size: 14px;
		text-align: justify;
		word-break: break-all;
	}

	/* 首页 */
	.index .introduction{
		padding:35px 0;
	}

	.index .introduction ul{
		grid-template-columns:1fr;
	}

	.index .introduction li + li{
		margin-top: 20px;
	}

	.index .introduction li h4{
		margin-top: 5px;
	}

	.index .introduction li h4 + p{
		margin-top: 5px;
		height: auto;
		display: block;
	}

	.index .goods{
		padding:35px 0;
	}

	.index .goods ul{
		margin-top: 35px;
		grid-template-columns:1fr;
	}

	.index .goods li{
		min-height: 0;
	}

	.index .goods li + li{
		margin-top: 15px;
	}

	.index .use{
		padding: 35px 0;
	}

	.index .use ul{
		flex-wrap: wrap;
	}

	.index .use ul li{
		width: 50%;
		padding:20px;
	}

	.index .advertisement{
		padding:35px 0
	}

	.index .advertisement .inner{
		flex-wrap: wrap;
	}

	.index .advertisement h2{
		font-size: 20px;
	}

	.index .advertisement .button{
		margin-top: 20px;
		font-size: 17px;
	}

	.service .wrapper>ul>li .image .swiper-container{
		max-width: 100%;
		max-height: none;
		margin:auto;
	}

	.service .wrapper>ul>li .inner{
		/* flex-wrap: wrap; */
		display: block;
	}

	.service .wrapper>ul>li .text,
	.service .wrapper>ul>li .image{
		flex:0 0 100%;
	}

	.service .wrapper>ul>li .image{
		margin-top: 20px;
	}

	.service .wrapper>ul>li .image img{
		max-width: 100%;
		max-height: none;
		margin:auto;
	}

	.service .wrapper>ul>li .text p{
		margin-top: 10px;
	}

	.service .scene{
		padding:35px 0;
	}

	.service .scene ul{
		grid-template-columns:1fr;
	}

	.service .scene li + li{
		margin-top: 20px;
	}

	.service .scene li p{
		margin-top: 5px;
	}

	.service .scene li .image{
		width:200px;
	}
	.case>div .img-box{
		grid-template-columns: 1fr 1fr;
	}
	.case>div .img-box .img img{
		width: 40vw;
		height: 30vw;
	}
}




