HydrologicalPlatform.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. <template>
  2. <div class="sales-platform">
  3. <!-- 页面头部 -->
  4. <PageHeader />
  5. <!-- 主要内容区域 -->
  6. <main class="main-content">
  7. <!-- 英雄区域 - 轮播图 -->
  8. <section class="hero-section">
  9. <el-carousel class="hero-carousel" height="450px" indicator-position="outside" autoplay interval="5000">
  10. <!-- 轮播图1 - 数字孪生太浦河 -->
  11. <el-carousel-item>
  12. <div class="carousel-content">
  13. <div class="carousel-image">
  14. <img
  15. v-if="carouselData[0].image"
  16. :src="carouselData[0].image"
  17. :alt="carouselData[0].title"
  18. loading="lazy"
  19. class="carousel-image-element"
  20. @load="(event) => onImageLoad(event, 0)"
  21. >
  22. <div v-if="!carouselData[0].image || !carouselData[0].loaded" class="image-placeholder">
  23. <span class="placeholder-icon">🌊</span>
  24. <span class="placeholder-text">数字孪生流域</span>
  25. </div>
  26. </div>
  27. <div class="carousel-text">
  28. <h1 class="hero-title">数字孪生流域</h1>
  29. <p class="hero-description">基于数字孪生技术的流域综合管理平台,实现流域监测、模拟预测与智能调度</p>
  30. <el-button type="primary" size="medium" @click="goToProjectCases">
  31. <el-icon><Document /></el-icon>
  32. 查看案例
  33. </el-button>
  34. </div>
  35. </div>
  36. </el-carousel-item>
  37. <!-- 轮播图2 - 数字孪生水文站 -->
  38. <el-carousel-item>
  39. <div class="carousel-content">
  40. <div class="carousel-image">
  41. <img
  42. v-if="carouselData[1].image"
  43. :src="carouselData[1].image"
  44. :alt="carouselData[1].title"
  45. loading="lazy"
  46. class="carousel-image-element"
  47. @load="(event) => onImageLoad(event, 1)"
  48. >
  49. <div v-if="!carouselData[1].image || !carouselData[1].loaded" class="image-placeholder">
  50. <span class="placeholder-icon">💧</span>
  51. <span class="placeholder-text">数字孪生水文站</span>
  52. </div>
  53. </div>
  54. <div class="carousel-text">
  55. <h1 class="hero-title">数字孪生水文站</h1>
  56. <p class="hero-description">实现水文监测站点的数字化映射,提供实时数据可视化与智能分析功能</p>
  57. <el-button type="primary" size="medium" @click="goToProjectCases">
  58. <el-icon><Document /></el-icon>
  59. 查看案例
  60. </el-button>
  61. </div>
  62. </div>
  63. </el-carousel-item>
  64. <!-- 轮播图3 - 流域数据采集 -->
  65. <el-carousel-item>
  66. <div class="carousel-content">
  67. <div class="carousel-image">
  68. <img
  69. v-if="carouselData[2].image"
  70. :src="carouselData[2].image"
  71. :alt="carouselData[2].title"
  72. loading="lazy"
  73. class="carousel-image-element"
  74. @load="(event) => onImageLoad(event, 2)"
  75. >
  76. <div v-if="!carouselData[2].image || !carouselData[2].loaded" class="image-placeholder">
  77. <span class="placeholder-icon">📡</span>
  78. <span class="placeholder-text">流域数据采集</span>
  79. </div>
  80. </div>
  81. <div class="carousel-text">
  82. <h1 class="hero-title">流域数据采集</h1>
  83. <p class="hero-description">全流域水文数据采集与传输系统,支持多源数据融合与标准化管理</p>
  84. <el-button type="primary" size="medium" @click="goToProjectCases">
  85. <el-icon><Document /></el-icon>
  86. 查看案例
  87. </el-button>
  88. </div>
  89. </div>
  90. </el-carousel-item>
  91. <!-- 轮播图4 - 解决方案 -->
  92. <el-carousel-item>
  93. <div class="carousel-content">
  94. <div class="carousel-image">
  95. <img
  96. v-if="carouselData[3].image"
  97. :src="carouselData[3].image"
  98. :alt="carouselData[3].title"
  99. loading="lazy"
  100. class="carousel-image-element"
  101. @load="(event) => onImageLoad(event, 3)"
  102. >
  103. <div v-if="!carouselData[3].image || !carouselData[3].loaded" class="image-placeholder">
  104. <span class="placeholder-icon">🔬</span>
  105. <span class="placeholder-text">智能解决方案</span>
  106. </div>
  107. </div>
  108. <div class="carousel-text">
  109. <h1 class="hero-title">水资源评价与调配</h1>
  110. <p class="hero-description">基于水资源调配模型分析,提供精准的水资源评价与优化调配方案</p>
  111. <el-button type="primary" size="medium" @click="goToCompanyProfile">
  112. <el-icon><OfficeBuilding /></el-icon>
  113. 了解我们
  114. </el-button>
  115. </div>
  116. </div>
  117. </el-carousel-item>
  118. </el-carousel>
  119. <!-- 导航按钮 -->
  120. <div class="hero-buttons">
  121. <el-button type="primary" size="medium" @click="goToProjectCases">
  122. <el-icon><Document /></el-icon>
  123. 项目案例
  124. </el-button>
  125. <el-button type="primary" size="medium" @click="goToCompanyProfile">
  126. <el-icon><OfficeBuilding /></el-icon>
  127. 公司资质
  128. </el-button>
  129. <el-button type="primary" size="medium" @click="goToAwards">
  130. <el-icon><Trophy /></el-icon>
  131. 荣誉奖项
  132. </el-button>
  133. <el-button type="primary" size="medium" @click="goToAdmin">
  134. <el-icon><Setting /></el-icon>
  135. 后台管理
  136. </el-button>
  137. </div>
  138. </section>
  139. <!-- 核心优势区域 -->
  140. <section class="features-section">
  141. <div class="feature-card">
  142. <h3>🎯 专业团队</h3>
  143. <p>拥有10年以上经验的技术专家团队,精通各类软件开发与架构设计</p>
  144. </div>
  145. <div class="feature-card">
  146. <h3>🚀 快速开发</h3>
  147. <p>采用敏捷开发流程,快速响应需求,确保项目按时交付</p>
  148. </div>
  149. <div class="feature-card">
  150. <h3>🔒 质量保障</h3>
  151. <p>严格的测试流程,确保产品质量,提供持续的技术支持</p>
  152. </div>
  153. <div class="feature-card">
  154. <h3>💡 创新能力</h3>
  155. <p>持续创新,紧跟技术前沿,为客户提供最佳解决方案</p>
  156. </div>
  157. <div class="feature-card">
  158. <h3>🤝 客户至上</h3>
  159. <p>以客户需求为导向,提供定制化服务,建立长期合作关系</p>
  160. </div>
  161. <div class="feature-card">
  162. <h3>📈 成功案例</h3>
  163. <p>已完成100+项目,服务50+客户,涵盖多个行业领域</p>
  164. </div>
  165. </section>
  166. <!-- 项目案例区域 -->
  167. <section class="project-section">
  168. <h2 class="section-title">精选项目案例</h2>
  169. <div class="project-grid">
  170. <div class="project-card" @click="goToProjectCases('tai-pu-river')">
  171. <div class="project-image">
  172. <img
  173. :src="taiPuRiverImage2"
  174. alt="数字孪生流域"
  175. loading="lazy"
  176. class="project-image-element"
  177. >
  178. </div>
  179. <div class="project-content">
  180. <h3>数字孪生流域</h3>
  181. <p>基于数字孪生技术的流域综合管理平台,实现流域监测、模拟预测与智能调度</p>
  182. <div class="project-tags">
  183. <span class="tag">数字孪生</span>
  184. <span class="tag">GIS</span>
  185. <span class="tag">大数据</span>
  186. </div>
  187. </div>
  188. </div>
  189. <div class="project-card" @click="goToProjectCases('hydrological-station')">
  190. <div class="project-image">
  191. <img
  192. :src="gongHuImage"
  193. alt="数字孪生水文站"
  194. loading="lazy"
  195. class="project-image-element"
  196. >
  197. </div>
  198. <div class="project-content">
  199. <h3>数字孪生水文站</h3>
  200. <p>实现水文监测站点的数字化映射,提供实时数据可视化与智能分析功能</p>
  201. <div class="project-tags">
  202. <span class="tag">数字孪生</span>
  203. <span class="tag">物联网</span>
  204. <span class="tag">AI</span>
  205. </div>
  206. </div>
  207. </div>
  208. <div class="project-card" @click="goToProjectCases('data-collection')">
  209. <div class="project-image">
  210. <div class="placeholder-image">
  211. <span class="placeholder-text">流域数据采集</span>
  212. </div>
  213. </div>
  214. <div class="project-content">
  215. <h3>流域数据采集</h3>
  216. <p>全流域水文数据采集与传输系统,支持多源数据融合与标准化管理</p>
  217. <div class="project-tags">
  218. <span class="tag">数据采集</span>
  219. <span class="tag">传感器</span>
  220. <span class="tag">通信</span>
  221. </div>
  222. </div>
  223. </div>
  224. </div>
  225. </section>
  226. <!-- 公司资质区域 -->
  227. <section class="certification-section">
  228. <h2 class="section-title">公司资质与荣誉</h2>
  229. <div class="certification-grid">
  230. <div class="certification-card">
  231. <div class="certification-icon">🏆</div>
  232. <h3>高新技术企业</h3>
  233. <p>国家级高新技术企业认定证书</p>
  234. </div>
  235. <div class="certification-card">
  236. <div class="certification-icon">⭐</div>
  237. <h3>CMMI认证</h3>
  238. <p>软件能力成熟度模型集成三级认证</p>
  239. </div>
  240. <div class="certification-card">
  241. <div class="certification-icon">🛡️</div>
  242. <h3>ISO认证</h3>
  243. <p>ISO9001质量管理体系认证</p>
  244. </div>
  245. <div class="certification-card">
  246. <div class="certification-icon">🎖️</div>
  247. <h3>创新企业</h3>
  248. <p>省级科技创新企业认定</p>
  249. </div>
  250. </div>
  251. </section>
  252. </main>
  253. <!-- 页面底部 -->
  254. <footer class="page-footer">
  255. <p>&copy; 2025 东南大区成果展示平台 - 金水内部测试系统</p>
  256. </footer>
  257. </div>
  258. </template>
  259. <script setup>
  260. import PageHeader from './PageHeader.vue'
  261. import { Document, OfficeBuilding, Trophy, Setting } from '@element-plus/icons-vue'
  262. import { ref } from 'vue'
  263. import { useRouter } from 'vue-router'
  264. import taiPuRiverImage from '@/assets/images/太浦河全景.png'
  265. import taiPuRiverImage2 from '@/assets/images/太浦河全景2.png'
  266. import gongHuImage from '@/assets/images/贡湖.png'
  267. import collectionPlatformImage from '@/assets/images/采集平台.png'
  268. import waterResourcesImage from '@/assets/images/水资源模型调配.png'
  269. const router = useRouter()
  270. // 轮播图数据
  271. const carouselData = ref([
  272. {
  273. title: '数字孪生流域',
  274. description: '基于数字孪生技术的流域综合管理平台',
  275. buttonText: '查看案例',
  276. image: taiPuRiverImage2, // 使用太浦河全景图2
  277. loaded: false
  278. },
  279. {
  280. title: '数字孪生水文站',
  281. description: '实现水文监测站点的数字化映射',
  282. buttonText: '查看案例',
  283. image: gongHuImage, // 使用贡湖图片
  284. loaded: false
  285. },
  286. {
  287. title: '流域数据采集',
  288. description: '全流域水文数据采集与传输系统',
  289. buttonText: '查看案例',
  290. image: collectionPlatformImage, // 使用采集平台图片
  291. loaded: false
  292. },
  293. {
  294. title: '水资源评价与调配',
  295. description: '通过专业水资源模型分析,提供精准的水资源评价与优化调配方案',
  296. buttonText: '了解我们',
  297. image: waterResourcesImage, // 使用水资源模型调配图片
  298. loaded: false
  299. }
  300. ])
  301. // 图片加载完成处理
  302. const onImageLoad = (event, index) => {
  303. const img = event.target
  304. if (index !== undefined && index < carouselData.value.length) {
  305. carouselData.value[index].loaded = true
  306. img.classList.add('loaded')
  307. }
  308. }
  309. // 跳转到项目案例页面
  310. const goToProjectCases = (projectId = 'tai-pu-river') => {
  311. router.push(`/project-cases/${projectId}`)
  312. }
  313. // 跳转到公司资质页面
  314. const goToCompanyProfile = () => {
  315. window.location.href = '/company-profile'
  316. }
  317. // 跳转到荣誉奖项页面
  318. const goToAwards = () => {
  319. window.location.href = '/awards'
  320. }
  321. // 跳转到后台管理
  322. const goToAdmin = () => {
  323. // 跳转到若依后台管理界面
  324. window.location.href = '/admin'
  325. }
  326. </script>
  327. <style scoped>
  328. .sales-platform {
  329. width: 100%;
  330. height: 100%;
  331. display: flex;
  332. flex-direction: column;
  333. font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  334. overflow: hidden;
  335. background: #f8f9fa;
  336. }
  337. /* 主要内容区域 */
  338. .main-content {
  339. flex: 1;
  340. width: 100%;
  341. padding: 2rem 0;
  342. overflow-y: auto;
  343. height: calc(100% - 160px);
  344. display: flex;
  345. flex-direction: column;
  346. align-items: stretch;
  347. }
  348. .hero-section {
  349. width: 100%;
  350. margin-bottom: 2.5rem;
  351. padding: 0 1rem;
  352. }
  353. .hero-carousel {
  354. width: 100%;
  355. border-radius: 16px;
  356. overflow: hidden;
  357. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  358. margin-bottom: 2rem;
  359. }
  360. .carousel-content {
  361. height: 450px;
  362. display: flex;
  363. align-items: center;
  364. justify-content: flex-end;
  365. background: linear-gradient(135deg, #ffffff 0%, #f0f5ff 100%);
  366. padding: 0;
  367. position: relative;
  368. overflow: hidden;
  369. }
  370. .carousel-image {
  371. position: absolute;
  372. top: 0;
  373. left: 0;
  374. width: 100%;
  375. height: 100%;
  376. z-index: 1;
  377. }
  378. .carousel-image-element {
  379. width: 100%;
  380. height: 100%;
  381. object-fit: cover;
  382. opacity: 0;
  383. transition: opacity 0.5s ease-in;
  384. }
  385. .carousel-image-element.loaded {
  386. opacity: 1;
  387. }
  388. .image-placeholder {
  389. width: 100%;
  390. height: 100%;
  391. background: rgba(255, 255, 255, 0.7);
  392. border-radius: 16px;
  393. display: flex;
  394. flex-direction: column;
  395. justify-content: center;
  396. align-items: center;
  397. box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  398. position: absolute;
  399. top: 0;
  400. left: 0;
  401. z-index: 1;
  402. }
  403. .placeholder-icon {
  404. font-size: 4rem;
  405. margin-bottom: 1rem;
  406. animation: pulse 2s ease-in-out infinite;
  407. }
  408. @keyframes pulse {
  409. 0%, 100% {
  410. transform: scale(1);
  411. }
  412. 50% {
  413. transform: scale(1.1);
  414. }
  415. }
  416. .placeholder-text {
  417. font-size: 1.25rem;
  418. color: #326ee2;
  419. font-weight: 600;
  420. }
  421. /* 响应式设计 */
  422. @media (max-width: 768px) {
  423. .carousel-content {
  424. height: 350px;
  425. padding: 0 1rem;
  426. }
  427. .carousel-text {
  428. max-width: 100%;
  429. padding: 1.5rem;
  430. }
  431. .hero-title {
  432. font-size: 2rem;
  433. }
  434. .hero-description {
  435. font-size: 0.9rem;
  436. }
  437. }
  438. @media (max-width: 480px) {
  439. .carousel-content {
  440. height: 250px;
  441. padding: 0 0.5rem;
  442. }
  443. .carousel-text {
  444. padding: 1rem;
  445. }
  446. .hero-title {
  447. font-size: 1.5rem;
  448. }
  449. .hero-description {
  450. font-size: 0.8rem;
  451. margin-bottom: 1.5rem;
  452. }
  453. .placeholder-icon {
  454. font-size: 3rem;
  455. }
  456. .placeholder-text {
  457. font-size: 1rem;
  458. }
  459. }
  460. .carousel-text {
  461. width: 50%;
  462. min-width: 350px;
  463. padding: 2rem;
  464. position: relative;
  465. z-index: 2;
  466. color: #000000;
  467. background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);
  468. height: 100%;
  469. display: flex;
  470. flex-direction: column;
  471. justify-content: center;
  472. margin-right: 0;
  473. align-items: flex-end;
  474. text-align: right;
  475. }
  476. .hero-title {
  477. font-size: 2.5rem;
  478. color: #000000;
  479. margin-bottom: 1.5rem;
  480. font-weight: 700;
  481. line-height: 1.2;
  482. }
  483. .hero-description {
  484. font-size: 1rem;
  485. color: #000000;
  486. margin-bottom: 2.5rem;
  487. line-height: 1.6;
  488. font-weight: 400;
  489. }
  490. .hero-buttons {
  491. display: flex;
  492. gap: 1.5rem;
  493. justify-content: center;
  494. padding: 0 1rem;
  495. }
  496. /* 按钮样式优化 */
  497. :deep(.el-button) {
  498. border-radius: 5px !important;
  499. min-width: auto !important;
  500. padding: 0 12px !important;
  501. width: auto !important;
  502. max-width: 120px !important;
  503. }
  504. /* 核心优势区域 */
  505. .features-section {
  506. display: grid;
  507. grid-template-columns: repeat(3, 1fr);
  508. gap: 2rem;
  509. margin-bottom: 2rem;
  510. padding: 0 1rem;
  511. }
  512. /* 项目案例区域 */
  513. .project-section {
  514. background: white;
  515. padding: 2.5rem;
  516. border-radius: 16px;
  517. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  518. margin-bottom: 2rem;
  519. padding: 0 1rem;
  520. }
  521. .section-title {
  522. font-size: 1.5rem;
  523. color: #2c3e50;
  524. margin-bottom: 2rem;
  525. font-weight: 600;
  526. line-height: 1.4;
  527. text-align: center;
  528. }
  529. .project-grid {
  530. display: grid;
  531. grid-template-columns: repeat(3, 1fr);
  532. gap: 2rem;
  533. padding: 0 1rem;
  534. }
  535. .project-card {
  536. background: white;
  537. border-radius: 16px;
  538. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  539. transition: all 0.3s ease;
  540. overflow: hidden;
  541. cursor: pointer;
  542. }
  543. .project-card:hover {
  544. transform: translateY(-10px);
  545. box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  546. }
  547. .project-image {
  548. width: 100%;
  549. height: 200px;
  550. overflow: hidden;
  551. background: #f0f5ff;
  552. }
  553. .project-image img {
  554. width: 100%;
  555. height: 100%;
  556. object-fit: cover;
  557. transition: transform 0.3s ease;
  558. }
  559. .project-card:hover .project-image img {
  560. transform: scale(1.1);
  561. }
  562. .project-content {
  563. padding: 2rem;
  564. }
  565. .project-content h3 {
  566. font-size: 1.25rem;
  567. color: #2c3e50;
  568. margin-bottom: 1rem;
  569. font-weight: 600;
  570. line-height: 1.4;
  571. }
  572. .project-content p {
  573. font-size: 0.875rem;
  574. color: #7f8c8d;
  575. margin-bottom: 1.5rem;
  576. line-height: 1.6;
  577. }
  578. .project-tags {
  579. display: flex;
  580. gap: 0.5rem;
  581. flex-wrap: wrap;
  582. }
  583. .tag {
  584. background: #f0f5ff;
  585. color: #326ee2;
  586. padding: 0.25rem 0.75rem;
  587. border-radius: 20px;
  588. font-size: 0.75rem;
  589. font-weight: 500;
  590. }
  591. /* 公司资质区域 */
  592. .certification-section {
  593. background: white;
  594. padding: 2.5rem;
  595. border-radius: 16px;
  596. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  597. margin-bottom: 2rem;
  598. padding: 0 1rem;
  599. }
  600. .certification-grid {
  601. display: grid;
  602. grid-template-columns: repeat(4, 1fr);
  603. gap: 2rem;
  604. padding: 0 1rem;
  605. }
  606. .certification-card {
  607. background: linear-gradient(135deg, #ffffff 0%, #f0f5ff 100%);
  608. padding: 2rem;
  609. border-radius: 16px;
  610. box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  611. transition: all 0.3s ease;
  612. text-align: center;
  613. }
  614. .certification-card:hover {
  615. transform: translateY(-5px);
  616. box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);
  617. }
  618. .certification-icon {
  619. font-size: 3rem;
  620. margin-bottom: 1rem;
  621. }
  622. .certification-card h3 {
  623. font-size: 1.125rem;
  624. color: #2c3e50;
  625. margin-bottom: 0.5rem;
  626. font-weight: 600;
  627. line-height: 1.4;
  628. }
  629. .certification-card p {
  630. font-size: 0.875rem;
  631. color: #7f8c8d;
  632. line-height: 1.4;
  633. }
  634. .feature-card {
  635. background: white;
  636. padding: 2.5rem;
  637. border-radius: 16px;
  638. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  639. transition: all 0.3s ease;
  640. text-align: center;
  641. }
  642. .feature-card:hover {
  643. transform: translateY(-10px);
  644. box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  645. }
  646. .feature-card h3 {
  647. font-size: 1.25rem;
  648. color: #2c3e50;
  649. margin-bottom: 1rem;
  650. font-weight: 600;
  651. line-height: 1.4;
  652. }
  653. .feature-card p {
  654. font-size: 1rem;
  655. color: #7f8c8d;
  656. line-height: 1.6;
  657. font-weight: 400;
  658. }
  659. /* 页面底部 */
  660. .page-footer {
  661. background: white;
  662. color: #326ee2;
  663. text-align: center;
  664. padding: 1.5rem 0;
  665. height: 20px;
  666. display: flex;
  667. align-items: center;
  668. justify-content: center;
  669. border-top: 1px solid #f0f5ff;
  670. }
  671. .page-footer p {
  672. margin: 0;
  673. font-size: 0.875rem;
  674. font-weight: 400;
  675. line-height: 1.5;
  676. }
  677. </style>