-			
联系我们
-			
cooperative partner 
-			
-			
-				
-				
+		
+			
+				
智慧化解决方案
+				
利用物联网、大数据、人工智能等前沿技术,为不同场景提供一体化的智慧化解决方案
+				
+			
+			
+				
+					
+						

+					
+					
+						监控系统
+					
+					
+						基于AI与物联网的智能监控系统实时分析精准预警安全高效运行
+					
+					
+						
+							
+								

+							
+							
+								监控回溯
+							
+						
+						
+							
+								

+							
+							
+								人员轨迹
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						门禁系统
+					
+					
+						互联网智慧门禁:安全便捷,智能管理,远程控制
+					
+					
+						
+							
+								

+							
+							
+								人脸识别
+							
+						
+						
+							
+								

+							
+							
+								id卡
+							
+						
+						
+							
+								

+							
+							
+								蓝牙检测
+							
+						
+						
+							
+								

+							
+							
+								停车管理系统
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						充电系统
+					
+					
+						智慧物联"突出互联网+智能化核心物联网技术、云端管理、能效优化
+					
+					
+						
+							
+								

+							
+							
+								充电桩
+							
+						
+						
+							
+								

+							
+							
+								安全警告
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						水电收费系统
+					
+					
+						智慧水电云管家,实时计费自动缴费,高效管理无忧。
+					
+					
+						
+							
+								

+							
+							
+								物业缴费
+							
+						
+						
+							
+								

+							
+							
+								报修
+							
+						
+						
+							
+								

+							
+							
+								投诉处理
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						养老系统
+					
+					
+						智慧养老系统:AI监护+健康管理打造安全便捷银发生活。
+					
+					
+						
+							
+								

+							
+							
+								烟感警报
+							
+						
+						
+							
+								

+							
+							
+								摄像头人物摔倒提示
+							
+						
+						
+							
+								

+							
+							
+								防丢手环
+							
+						
+						
+							
+								

+							
+							
+								护理请求传感器
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						租房系统
+					
+					
+						智慧租房系统,实现线上托管自动化流程,或者提升用户体验
+					
+					
+						
+							
+								

+							
+							
+								托管出租
+							
+						
+					
+				
+				
+					
+						

+					
+					
+						更多方案联系我们
+					
+					
+						{{ mousindex != 7 ? '创新科技驱动的互联网智慧化解决方案,赋能企业数字化转型' :
+						'创新科技驱动的互联网智慧化解决方案,赋能企业数字化转型。高效便捷、精准赋能,覆盖多场景需求。定制化服务,助力降本增效。欢迎垂询,获取专属升级方案' }}
+					
+				
+			
+		
+		
+			
+				
+					
硬件基础设施建设
+					
提供从需求分析、方案设计、设备选型、综合布线到安装调试、环境监控的全流程服务
+				
+				
+					
+						
![]()
+						
需求分析与规划
+					
+				
 
 			 
 		 
 	
@@ -323,10 +583,10 @@
 import { Swiper, SwiperSlide } from 'swiper/vue'
 import { nextTick, ref } from 'vue'
 import 'swiper/css'
-import { Autoplay, Navigation, Pagination, Scrollbar, A11y, EffectCoverflow,EffectFade } from "swiper/modules";
+import { Autoplay, Navigation, Pagination, Scrollbar, A11y, EffectCoverflow, EffectFade } from "swiper/modules";
 import ScrollReveal from 'scrollreveal';
 import { NNumberAnimation } from 'naive-ui'
-let modules = [Autoplay, A11y, EffectCoverflow,EffectFade];
+let modules = [Autoplay, A11y, EffectCoverflow, EffectFade];
 
 import "swiper/css";
 import "swiper/css/navigation";
@@ -342,6 +602,422 @@ import { useI18n } from 'vue-i18n'
 import { useStore } from '~/store'
 const { locale } = useI18n()
 
+
+
+
+const mousindex = ref(1);
+
+const left1 = ref(0);
+const top1 = ref(0);
+
+const left2 = ref(310);
+const top2 = ref(0);
+
+const left3 = ref(620);
+const top3 = ref(0);
+
+const left4 = ref(930);
+const top4 = ref(0);
+
+const left5 = ref(310);
+const top5 = ref(230);
+
+const left6 = ref(620);
+const top6 = ref(230);
+
+const left7 = ref(930);
+const top7 = ref(230);
+
+const mous = (index: number, event: any) => {
+	mousindex.value = index;
+	const thisDiv = event.currentTarget;
+	if (index == 1) {
+		animateElement(document.querySelector('.box1'), {
+			height: 428,
+			left: 0,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box2'), {
+			height: 196,
+			left: 310,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box3'), {
+			height: 196,
+			left: 620,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box5'), {
+			height: 196,
+			left: 310,
+			top: 230
+		}, 200);
+		animateElement(document.querySelector('.box6'), {
+			height: 196,
+			left: 620,
+			top: 230
+		}, 200);
+	}
+	if (index == 2) {
+		const box2 = document.querySelector('.box2');
+		//获取当前鼠标位置
+		const leftValue = parseFloat(
+			window.getComputedStyle(box2).left ||
+			box2.style.left ||
+			box2.offsetLeft
+		);
+		console.log(leftValue);
+		if (leftValue == 310) {
+			animateElement(document.querySelector('.box1'), {
+				height: 196,
+				left: 0,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box2'), {
+				height: 428,
+				left: 310,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 620,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box5'), {
+				height: 196,
+				left: 0,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box6'), {
+				height: 196,
+				left: 620,
+				top: 230
+			}, 200);
+		} else {
+			animateElement(document.querySelector('.box1'), {
+				height: 196,
+				left: 310,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box2'), {
+				height: 428,
+				left: 0,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 620,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box5'), {
+				height: 196,
+				left: 310,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box6'), {
+				height: 196,
+				left: 620,
+				top: 230
+			}, 200);
+		}
+
+	}
+	if (index == 5) {
+		const box5 = document.querySelector('.box5');
+		//获取当前鼠标位置
+		const leftValue = parseFloat(
+			window.getComputedStyle(box5).left ||
+			box5.style.left ||
+			box5.offsetLeft
+		);
+		console.log(leftValue);
+		if (leftValue == 310) {
+
+			animateElement(document.querySelector('.box1'), {
+				height: 196,
+				left: 0,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box2'), {
+				height: 196,
+				left: 0,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box5'), {
+				height: 428,
+				left: 310,
+				top: 0
+			}, 200);
+		} else {
+			animateElement(document.querySelector('.box1'), {
+				height: 196,
+				left: 310,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box2'), {
+				height: 196,
+				left: 310,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box5'), {
+				height: 428,
+				left: 0,
+				top: 0
+			}, 200);
+		}
+
+	}
+	if (index == 3) {
+		animateElement(document.querySelector('.box1'), {
+			height: 196,
+			left: 0,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box2'), {
+			height: 196,
+			left: 310,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box3'), {
+			height: 428,
+			left: 620,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box4'), {
+			height: 196,
+			left: 930,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box5'), {
+			height: 196,
+			left: 0,
+			top: 230
+		}, 200);
+		animateElement(document.querySelector('.box6'), {
+			height: 196,
+			left: 310,
+			top: 230
+		}, 200);
+		animateElement(document.querySelector('.box7'), {
+			height: 196,
+			left: 930,
+			top: 230
+		}, 200);
+	}
+	if (index == 6) {
+		const box6 = document.querySelector('.box6');
+		//获取当前鼠标位置
+		const leftValue = parseFloat(
+			window.getComputedStyle(box6).left ||
+			box6.style.left ||
+			box6.offsetLeft
+		);
+		if (leftValue == 620) {
+			animateElement(document.querySelector('.box2'), {
+				height: 196,
+				left: 310,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 310,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box6'), {
+				height: 428,
+				left: 620,
+				top: 0
+			}, 200);
+		} else {
+			animateElement(document.querySelector('.box2'), {
+				height: 196,
+				left: 620,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 620,
+				top: 230
+			}, 200);
+			animateElement(document.querySelector('.box6'), {
+				height: 428,
+				left: 310,
+				top: 0
+			}, 200);
+		}
+		animateElement(document.querySelector('.box1'), {
+			height: 196,
+			left: 0,
+			top: 0
+		}, 200);
+
+		animateElement(document.querySelector('.box4'), {
+			height: 196,
+			left: 930,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box5'), {
+			height: 196,
+			left: 0,
+			top: 230
+		}, 200);
+
+
+	}
+	if (index == 4) {
+		const box4 = document.querySelector('.box4');
+		//获取当前鼠标位置
+		const leftValue = parseFloat(
+			window.getComputedStyle(box4).left ||
+			box4.style.left ||
+			box4.offsetLeft
+		);
+		console.log(leftValue);
+		if (leftValue == 930) {
+			animateElement(document.querySelector('.box4'), {
+				height: 428,
+				left: 930,
+				top: 0
+			}, 200);
+			animateElement(document.querySelector('.box7'), {
+				height: 192,
+				left: 620,
+				top: 230
+			}, 200);
+		}
+		animateElement(document.querySelector('.box1'), {
+			height: 196,
+			left: 0,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box2'), {
+			height: 196,
+			left: 310,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box3'), {
+			height: 196,
+			left: 620,
+			top: 0
+		}, 200);
+		animateElement(document.querySelector('.box5'), {
+			height: 196,
+			left: 0,
+			top: 230
+		}, 200);
+		animateElement(document.querySelector('.box6'), {
+			height: 192,
+			left: 310,
+			top: 230
+		}, 200);
+
+	}
+	if (index == 7) {
+		const box7 = document.querySelector('.box7');
+		//获取当前鼠标位置
+		const leftValue = parseFloat(
+			window.getComputedStyle(box7).left ||
+			box7.style.left ||
+			box7.offsetLeft
+		);
+		console.log(leftValue);
+		//在左侧
+		if (leftValue == 620) {
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 930,
+				top: 0
+			}, 100);
+			animateElement(document.querySelector('.box4'), {
+				height: 196,
+				left: 930,
+				top: 230
+			}, 100);
+			animateElement(document.querySelector('.box7'), {
+				height: 428,
+				left: 620,
+				top: 0
+			}, 100);
+		} else {
+			animateElement(document.querySelector('.box3'), {
+				height: 196,
+				left: 620,
+				top: 230
+			}, 100);
+			animateElement(document.querySelector('.box4'), {
+				height: 196,
+				left: 620,
+				top: 0
+			}, 100);
+			animateElement(document.querySelector('.box7'), {
+				height: 428,
+				left: 930,
+				top: 0
+			}, 100);
+		}
+		animateElement(document.querySelector('.box1'), {
+			height: 196,
+			left: 0,
+			top: 0
+		}, 100);
+		animateElement(document.querySelector('.box2'), {
+			height: 196,
+			left: 310,
+			top: 0
+		}, 100);
+
+		animateElement(document.querySelector('.box5'), {
+			height: 196,
+			left: 0,
+			top: 230
+		}, 100);
+		animateElement(document.querySelector('.box6'), {
+			height: 192,
+			left: 310,
+			top: 230
+		}, 100);
+
+	}
+}
+
+
+const animateElement = (element, target, duration) => {
+	let start = null;
+	const initialStyle = {
+		width: parseFloat(getComputedStyle(element).width),
+		height: parseFloat(getComputedStyle(element).height),
+		left: parseFloat(getComputedStyle(element).left),
+		top: parseFloat(getComputedStyle(element).top)
+	};
+	// 立即停止当前动画
+	if (element.animationFrame) cancelAnimationFrame(element.animationFrame);
+
+	const step = (timestamp) => {
+		if (!start) start = timestamp;
+		const progress = timestamp - start;
+		const ratio = Math.min(progress / duration, 1);
+
+		// 实时更新所有属性
+		element.style.width = (initialStyle.width + (target.width - initialStyle.width) * ratio) + 'px';
+		element.style.height = (initialStyle.height + (target.height - initialStyle.height) * ratio) + 'px';
+		element.style.left = (initialStyle.left + (target.left - initialStyle.left) * ratio) + 'px';
+		element.style.top = (initialStyle.top + (target.top - initialStyle.top) * ratio) + 'px';
+
+		if (progress < duration) {
+			element.animationFrame = requestAnimationFrame(step);
+		} else {
+			// 确保最终值精确 
+			element.style.width = target.width + 'px';
+			element.style.height = target.height + 'px';
+			element.style.left = target.left + 'px';
+			element.style.top = target.top + 'px';
+		}
+	}
+
+	element.animationFrame = requestAnimationFrame(step);
+
+}
+
 let newsSwiper: any = null
 const onSwiperNews = (swiper: any) => {
 	newsSwiper = swiper
@@ -356,100 +1032,21 @@ const swiperOptionsNews = {
 	speed: 500,
 	effect: 'fade',
 	loop: true,
-	modules: [EffectFade,Autoplay,Navigation],
+	modules: [EffectFade, Autoplay, Navigation],
 	navigation: {
 		nextEl: '#swipen_prev',
 		prevEl: '#swipen_next',
 	},
 }
 
-let vesSwiper: any = null
-const onSwiperExp = (swiper: any) => {
-	vesSwiper = swiper
-}
-const swiper_exp = ref();
-
 // 新闻数据
 onMounted(() => {
 	nextTick(() => {
 		animate()
 	})
 })
-const numberAnimationInstRef = ref()
-const numberAnimationInstRefKH = ref()
-const numberAnimationInstRefJS = ref()
-const numberAnimationInstRefHY = ref()
 const animate = () => {
 
-	const sr = ScrollReveal();
-	sr.reveal('.leftBox', {
-		origin: "left",
-		distance: "1000px",
-		duration: 1300,
-		delay: 100,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-	})
-	sr.reveal('.rightBox', {
-		origin: "right",
-		distance: "1000px",
-		duration: 1300,
-		delay: 100,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-	})
-	sr.reveal('.topBox', {
-		origin: "top",
-		distance: "1000px",
-		duration: 1300,
-		delay: 100,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-	})
-	sr.reveal('.bottomBox', {
-		origin: "bottom",
-		distance: "1000px",
-		duration: 1300,
-		delay: 100,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-	})
-	sr.reveal('.numberTopBox', {
-		origin: "top",
-		distance: "1000px",
-		duration: 1300,
-		delay: 100,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-		beforeReveal: function (el: any) {
-			numberAnimationInstRef.value.play()
-			numberAnimationInstRefKH.value.play()
-			numberAnimationInstRefJS.value.play()
-			numberAnimationInstRefHY.value.play()
-		},
-	})
-	sr.reveal('.topSj', {
-		origin: "bottom",
-		distance: "1000px",
-		duration: 1300,
-		delay: 5,
-		opacity: 0,
-		scale: 0.9,
-		reset: true,
-		mobile: true,
-		useDelay: 'always',
-		interval: 50,
-	})
 }
 
 
@@ -465,33 +1062,57 @@ const animate = () => {
 	transform: translate3d(0px, 0px, -507px) rotateX(0deg) rotateY(0deg) scale(1) !important;
 }
 
-.group_666 .swiper-slide img {
-  width: 100%;
-  height: 500px;
-  height: auto;
-  transition: 1s linear 2s;
-  transform: scale(1.1, 1.1);
+.service_023 {
+	background: url(/public/img/service_023.png) no-repeat center center;
+	width: 100%;
+	height: 100%;
+	background-size: 100%;
+	height: 645px;
 }
 
-.group_666 .swiper-slide-active img,
-.swiper-slide-duplicate-active img {
-  transition: 6s linear;
-  transform: scale(1, 1);
-}
-.bottom_imgs{
-	background: url(/public/img/qall.png);
-	width: 1230px;
-    height: 272px;
-    background-size: 100%;
-}
-.content_box{
-	background: url(/public/img/m1.png);;
-	width: 561px;height: 521px;
-	z-index: 1;
-	position: absolute;
-    right: -12px;
-    bottom: -13px;
-    background-size: 100%;
+.service_033 {
+	background: url(/public/img/service_033.png) no-repeat center center;
+	width: 100%;
+	height: 100%;
+	background-size: 100%;
+	height: 800px;
 }
 
+.service_bottom {
+	background: url('public/img/service_048.png') no-repeat center center;
+	background-size: 100%;
+	color: #ffffff !important;
+}
+
+.service_bottom_no {
+	background-color: #F8F8F8;
+
+}
+
+.service_051 {
+	background: url('public/img/service_051.png') no-repeat center center;
+	background-size: 100%;
+	color: #ffffff !important;
+	height: 640px;
+}
+
+.service-container {
+	display: grid;
+	grid-template-columns: repeat(3, 1fr);
+	/* 强制固定 3 列 */
+	gap: 20px;
+	max-width: 715px;
+}
+
+.service-item {
+	display: flex;
+	align-items: center;
+	width: 225px;
+	padding:20px;
+	border: 1px solid #FFFFFF;
+	box-sizing: border-box;
+	/* 确保宽度计算包含边框 */
+	justify-self: start;
+	/* 强制每个单元格左对齐 */
+}
 
diff --git a/public/img/service.png b/public/img/service.png
new file mode 100644
index 0000000..8038fd2
Binary files /dev/null and b/public/img/service.png differ
diff --git a/public/img/service_0001.png b/public/img/service_0001.png
new file mode 100644
index 0000000..86128ae
Binary files /dev/null and b/public/img/service_0001.png differ
diff --git a/public/img/service_00010.png b/public/img/service_00010.png
new file mode 100644
index 0000000..afa7eb6
Binary files /dev/null and b/public/img/service_00010.png differ
diff --git a/public/img/service_00011.png b/public/img/service_00011.png
new file mode 100644
index 0000000..b078134
Binary files /dev/null and b/public/img/service_00011.png differ
diff --git a/public/img/service_0002.png b/public/img/service_0002.png
new file mode 100644
index 0000000..ad35412
Binary files /dev/null and b/public/img/service_0002.png differ
diff --git a/public/img/service_0003.png b/public/img/service_0003.png
new file mode 100644
index 0000000..3006358
Binary files /dev/null and b/public/img/service_0003.png differ
diff --git a/public/img/service_0004.png b/public/img/service_0004.png
new file mode 100644
index 0000000..4e9420a
Binary files /dev/null and b/public/img/service_0004.png differ
diff --git a/public/img/service_0005.png b/public/img/service_0005.png
new file mode 100644
index 0000000..19ae7d6
Binary files /dev/null and b/public/img/service_0005.png differ
diff --git a/public/img/service_0006.png b/public/img/service_0006.png
new file mode 100644
index 0000000..a06c0f3
Binary files /dev/null and b/public/img/service_0006.png differ
diff --git a/public/img/service_0007.png b/public/img/service_0007.png
new file mode 100644
index 0000000..266bf74
Binary files /dev/null and b/public/img/service_0007.png differ
diff --git a/public/img/service_0008.png b/public/img/service_0008.png
new file mode 100644
index 0000000..718c9f6
Binary files /dev/null and b/public/img/service_0008.png differ
diff --git a/public/img/service_0009.png b/public/img/service_0009.png
new file mode 100644
index 0000000..d1b2793
Binary files /dev/null and b/public/img/service_0009.png differ
diff --git a/public/img/service_01.png b/public/img/service_01.png
new file mode 100644
index 0000000..faac34b
Binary files /dev/null and b/public/img/service_01.png differ
diff --git a/public/img/service_012.png b/public/img/service_012.png
new file mode 100644
index 0000000..2d0d167
Binary files /dev/null and b/public/img/service_012.png differ
diff --git a/public/img/service_013.png b/public/img/service_013.png
new file mode 100644
index 0000000..2d3e141
Binary files /dev/null and b/public/img/service_013.png differ
diff --git a/public/img/service_014.png b/public/img/service_014.png
new file mode 100644
index 0000000..3e3a831
Binary files /dev/null and b/public/img/service_014.png differ
diff --git a/public/img/service_015.png b/public/img/service_015.png
new file mode 100644
index 0000000..a6f0e44
Binary files /dev/null and b/public/img/service_015.png differ
diff --git a/public/img/service_016.png b/public/img/service_016.png
new file mode 100644
index 0000000..72d32b9
Binary files /dev/null and b/public/img/service_016.png differ
diff --git a/public/img/service_017.png b/public/img/service_017.png
new file mode 100644
index 0000000..c7ea435
Binary files /dev/null and b/public/img/service_017.png differ
diff --git a/public/img/service_018.png b/public/img/service_018.png
new file mode 100644
index 0000000..56e00d5
Binary files /dev/null and b/public/img/service_018.png differ
diff --git a/public/img/service_019.png b/public/img/service_019.png
new file mode 100644
index 0000000..85deeb3
Binary files /dev/null and b/public/img/service_019.png differ
diff --git a/public/img/service_020.png b/public/img/service_020.png
new file mode 100644
index 0000000..45adf37
Binary files /dev/null and b/public/img/service_020.png differ
diff --git a/public/img/service_021.png b/public/img/service_021.png
new file mode 100644
index 0000000..468400a
Binary files /dev/null and b/public/img/service_021.png differ
diff --git a/public/img/service_022.png b/public/img/service_022.png
new file mode 100644
index 0000000..91a82a6
Binary files /dev/null and b/public/img/service_022.png differ
diff --git a/public/img/service_023.png b/public/img/service_023.png
new file mode 100644
index 0000000..e8c12ab
Binary files /dev/null and b/public/img/service_023.png differ
diff --git a/public/img/service_024.png b/public/img/service_024.png
new file mode 100644
index 0000000..1a12c57
Binary files /dev/null and b/public/img/service_024.png differ
diff --git a/public/img/service_025.png b/public/img/service_025.png
new file mode 100644
index 0000000..20eb2ab
Binary files /dev/null and b/public/img/service_025.png differ
diff --git a/public/img/service_026.png b/public/img/service_026.png
new file mode 100644
index 0000000..9b8e0fd
Binary files /dev/null and b/public/img/service_026.png differ
diff --git a/public/img/service_027.png b/public/img/service_027.png
new file mode 100644
index 0000000..d196529
Binary files /dev/null and b/public/img/service_027.png differ
diff --git a/public/img/service_028.png b/public/img/service_028.png
new file mode 100644
index 0000000..433681b
Binary files /dev/null and b/public/img/service_028.png differ
diff --git a/public/img/service_029.png b/public/img/service_029.png
new file mode 100644
index 0000000..0c676ef
Binary files /dev/null and b/public/img/service_029.png differ
diff --git a/public/img/service_030.png b/public/img/service_030.png
new file mode 100644
index 0000000..739b487
Binary files /dev/null and b/public/img/service_030.png differ
diff --git a/public/img/service_031.png b/public/img/service_031.png
new file mode 100644
index 0000000..b261fb1
Binary files /dev/null and b/public/img/service_031.png differ
diff --git a/public/img/service_032.png b/public/img/service_032.png
new file mode 100644
index 0000000..1cfea6b
Binary files /dev/null and b/public/img/service_032.png differ
diff --git a/public/img/service_033.png b/public/img/service_033.png
new file mode 100644
index 0000000..85a0ce3
Binary files /dev/null and b/public/img/service_033.png differ
diff --git a/public/img/service_034.png b/public/img/service_034.png
new file mode 100644
index 0000000..9e6cf87
Binary files /dev/null and b/public/img/service_034.png differ
diff --git a/public/img/service_035.png b/public/img/service_035.png
new file mode 100644
index 0000000..eed2da1
Binary files /dev/null and b/public/img/service_035.png differ
diff --git a/public/img/service_036.png b/public/img/service_036.png
new file mode 100644
index 0000000..683e577
Binary files /dev/null and b/public/img/service_036.png differ
diff --git a/public/img/service_037.png b/public/img/service_037.png
new file mode 100644
index 0000000..05bfa20
Binary files /dev/null and b/public/img/service_037.png differ
diff --git a/public/img/service_038.png b/public/img/service_038.png
new file mode 100644
index 0000000..86ebcbb
Binary files /dev/null and b/public/img/service_038.png differ
diff --git a/public/img/service_039.png b/public/img/service_039.png
new file mode 100644
index 0000000..d691b8c
Binary files /dev/null and b/public/img/service_039.png differ
diff --git a/public/img/service_040.png b/public/img/service_040.png
new file mode 100644
index 0000000..67e8bf4
Binary files /dev/null and b/public/img/service_040.png differ
diff --git a/public/img/service_041.png b/public/img/service_041.png
new file mode 100644
index 0000000..1aebc0c
Binary files /dev/null and b/public/img/service_041.png differ
diff --git a/public/img/service_042.png b/public/img/service_042.png
new file mode 100644
index 0000000..931386b
Binary files /dev/null and b/public/img/service_042.png differ
diff --git a/public/img/service_043.png b/public/img/service_043.png
new file mode 100644
index 0000000..019d4ab
Binary files /dev/null and b/public/img/service_043.png differ
diff --git a/public/img/service_044.png b/public/img/service_044.png
new file mode 100644
index 0000000..80057b4
Binary files /dev/null and b/public/img/service_044.png differ
diff --git a/public/img/service_045.png b/public/img/service_045.png
new file mode 100644
index 0000000..c357af0
Binary files /dev/null and b/public/img/service_045.png differ
diff --git a/public/img/service_046.png b/public/img/service_046.png
new file mode 100644
index 0000000..a89d8a0
Binary files /dev/null and b/public/img/service_046.png differ
diff --git a/public/img/service_047.png b/public/img/service_047.png
new file mode 100644
index 0000000..56e2df3
Binary files /dev/null and b/public/img/service_047.png differ
diff --git a/public/img/service_048.png b/public/img/service_048.png
new file mode 100644
index 0000000..dfb800f
Binary files /dev/null and b/public/img/service_048.png differ
diff --git a/public/img/service_049.png b/public/img/service_049.png
new file mode 100644
index 0000000..08ca0f7
Binary files /dev/null and b/public/img/service_049.png differ
diff --git a/public/img/service_050.png b/public/img/service_050.png
new file mode 100644
index 0000000..d705b53
Binary files /dev/null and b/public/img/service_050.png differ
diff --git a/public/img/service_051.png b/public/img/service_051.png
new file mode 100644
index 0000000..239abfc
Binary files /dev/null and b/public/img/service_051.png differ
diff --git a/public/img/service_052.png b/public/img/service_052.png
new file mode 100644
index 0000000..115a05e
Binary files /dev/null and b/public/img/service_052.png differ
diff --git a/public/img/service_053.png b/public/img/service_053.png
new file mode 100644
index 0000000..a4cb127
Binary files /dev/null and b/public/img/service_053.png differ
diff --git a/public/img/service_054.png b/public/img/service_054.png
new file mode 100644
index 0000000..58b80b1
Binary files /dev/null and b/public/img/service_054.png differ
diff --git a/public/img/service_055.png b/public/img/service_055.png
new file mode 100644
index 0000000..62b813e
Binary files /dev/null and b/public/img/service_055.png differ
diff --git a/public/img/service_056.png b/public/img/service_056.png
new file mode 100644
index 0000000..c221830
Binary files /dev/null and b/public/img/service_056.png differ
diff --git a/public/img/service_057.png b/public/img/service_057.png
new file mode 100644
index 0000000..2dc22f2
Binary files /dev/null and b/public/img/service_057.png differ
diff --git a/public/img/service_058.png b/public/img/service_058.png
new file mode 100644
index 0000000..7fc9870
Binary files /dev/null and b/public/img/service_058.png differ
diff --git a/public/img/service_059.png b/public/img/service_059.png
new file mode 100644
index 0000000..619ac88
Binary files /dev/null and b/public/img/service_059.png differ
diff --git a/public/img/service_060.png b/public/img/service_060.png
new file mode 100644
index 0000000..f9cfedc
Binary files /dev/null and b/public/img/service_060.png differ
diff --git a/public/img/service_061.png b/public/img/service_061.png
new file mode 100644
index 0000000..2742020
Binary files /dev/null and b/public/img/service_061.png differ
diff --git a/public/img/service_062.png b/public/img/service_062.png
new file mode 100644
index 0000000..35d15fe
Binary files /dev/null and b/public/img/service_062.png differ
diff --git a/public/img/service_063.png b/public/img/service_063.png
new file mode 100644
index 0000000..d977f6d
Binary files /dev/null and b/public/img/service_063.png differ
diff --git a/public/img/service_064.png b/public/img/service_064.png
new file mode 100644
index 0000000..269a85b
Binary files /dev/null and b/public/img/service_064.png differ
diff --git a/public/img/service_065.png b/public/img/service_065.png
new file mode 100644
index 0000000..5abd798
Binary files /dev/null and b/public/img/service_065.png differ