@charset "UTF-8";
/* 对齐 jm-website/assets/main.scss：仅站点主题；Materialize 单独为 materialize.css */
/* Custom Stylesheet */
/**
 * Use this file to override Materialize files so you can update
 * the core Materialize files in the future
 *
 * Made By MaterializeCSS.com
 */
@font-face {
  font-family: YouSheBiaoTiHei;
  font-display: swap;
  /* 同源主题 URL 由 head.ftl 注入 :root --cms-asset-font-youshe */
  src: var(--cms-asset-font-youshe, url("../fonts/YouSheBiaoTiHei-2.woff"));
}
body {
  font: 14px/1.5 Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
  color: #333;
  background-color: #fff;
}

.nav-background {
  background-color: rgba(220, 38, 38, 0);
  position: absolute;
  margin-top: 15px;
  z-index: 99;
}

.navfont {
  font-family: PingFangSC-Medium, PingFang SC;
}

.parallax-container {
  max-height: 720px;
}

.page_banner {
  max-height: 720px;
  max-width: 100%;
  background-repeat: no-repeat;
  background-position: center cover;
}

.carousel {
  height: 720px;
}

.carousel-banner1 {
  background: var(--cms-asset-banner1, url("../img/images/banner.jpg")) center/cover no-repeat;
}

.carousel-banner2 {
  background: var(--cms-asset-banner2, url("../img/images/banner2.jpg")) center/cover no-repeat;
}

.carousel-banner3 {
  background: var(--cms-asset-banner3, url("../img/images/banner3.jpg")) center/cover no-repeat;
}

.icon-block {
  padding-left: 10px;
  padding-right: 10px;
  min-height: 528px;
  background: #FFFFFF;
}

.icon-block-1 {
  padding-top: 49px;
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 0px;
  min-height: 450px;
}

.icon-block-2 {
  min-height: 78px;
}

.icon-title {
  font-family: PingFangSC-Medium;
  color: #222222;
  font-size: 22px;
  font-weight: 500;
  line-height: 33px;
}

.icon-content {
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #555555;
  line-height: 28px;
}

.icon-content-more {
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #555555;
  line-height: 20px;
}

.icon-block .material-icons {
  font-size: inherit;
}

.icon-section {
  margin-top: 53px;
}

.banner-description {
  font-family: PingFangSC-Regular, PingFang SC;
  color: #c9d4db;
}

.section-title {
  font-family: PingFangSC-Medium;
  border-bottom: 8px solid #FFD8B5;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  padding-bottom: 0px;
}

.section-content {
  font-family: PingFangSC-Regular, PingFang SC;
}

.solution-title {
  font-family: PingFangSC-Medium;
  font-size: 24px;
  color: #F4831D;
}

.solution-content {
  padding-top: 54px;
  padding-left: 38px;
  padding-right: 38px;
  min-height: 350px;
  background: #FFFFFF;
}

.home-service {
  background-color: #EDFDFD;
}

.service-icon {
  padding-top: 1px;
  padding-bottom: 20px;
  background: #FFFFFF;
}

.service-content {
  font-family: PingFangSC-Regular, PingFang SC;
  font-size: 18px;
  color: #222222;
}

.middle {
  position: relative; /*脱离文档流*/
  top: 40%; /*偏移*/
  transform: translateY(-50%);
}

.text-right {
  text-align: right !important;
}

.margin-top-5 {
  margin-top: 5px;
}

.padding-top-20 {
  padding-top: 20px;
}

.margin-right-20 {
  margin-right: 20px;
}

.padding-top-25 {
  padding-top: 25px;
}

.padding-top-40 {
  padding-top: 40px;
}

.padding-top-45 {
  padding-top: 45px;
}

.padding-top-60 {
  padding-top: 60px;
}

.padding-top-80 {
  padding-top: 80px;
}

.padding-10 {
  padding: 10px;
}

.left {
  text-align: left;
}

.margin-left-50 {
  margin-left: 50px;
}

.dropdown_width {
  width: 200px;
}

.text-shadow {
  text-shadow: 2px 2px 2px gray;
}

.brand-logo {
  background: var(--cms-asset-favicon-jmlogo, url("../img/favicons/jmlogo.png")) left/cover no-repeat;
  background-size: 50px;
}

.logo-text {
  height: 39px;
  font-size: 36px;
  font-family: YouSheBiaoTiHei;
  color: #FFFFFF;
  line-height: 47px;
}

.sense-of-worth-icon {
  background: var(--cms-asset-icon-sense, url("../img/icons/aboutus/sense_of_worth.svg")) left center no-repeat;
}

.mission-icon {
  background: var(--cms-asset-icon-mission, url("../img/icons/aboutus/mission.svg")) left center no-repeat;
}

.vision-icon {
  background: var(--cms-asset-icon-vision, url("../img/icons/aboutus/vision.svg")) left center no-repeat;
}

.sense-of-worth-icon, .mission-icon, .vision-icon {
  background-size: 35px;
  height: 40px;
  line-height: 40px;
  padding-left: 50px;
}

.demo {
  position: absolute;
  width: 260px;
  height: 60px;
  top: 260px;
  line-height: 60px;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
}

.demo p {
  color: #FFF;
  font-size: 18px;
  font-weight: 600;
}

.contact-us {
  /* 背景图在 includes/footer.ftl 内联 */
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.contact-us-title {
  font-size: 34px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #FFFFFF;
  line-height: 48px;
}

.contact-us-content {
  font-size: 18px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 25px;
}

.contact-us-ph {
  font-size: 22px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #FFFFFF;
  line-height: 25px;
}

.footer-title {
  font-size: 20px;
  font-family: PingFangSC-Medium, PingFang SC;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 28px;
}

.footer-content {
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #9B9EA0;
  line-height: 28px;
}

.page-margin {
  margin-top: 40px;
}

.page-first-title {
  font-size: 36px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #222222;
  line-height: 50px;
}

.app-first-background {
  background: var(--cms-asset-srv-app-img01, url("../img/images/services/app_img01.png")) right bottom no-repeat;
  background-size: 290px 405px;
}

.page-content {
  font-size: 16px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #555555;
  font-weight: 400;
  line-height: 32px;
}

.page-en-content {
  font-size: 22px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #f48623;
  font-weight: 400;
  line-height: 32px;
}

.page-second-title {
  font-size: 34px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #222222;
  line-height: 48px;
}

.page-second-en-title {
  font-size: 32px;
  font-family: PingFangSC-Thin, PingFang SC;
  font-weight: 600;
  color: #f48623;
  line-height: 42px;
}

.page-title-description {
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  font-weight: 400;
  color: #999999;
  line-height: 20px;
}

.page-sub-title {
  font-size: 22px;
  font-family: PingFangSC-Medium, PingFang SC;
  font-weight: 500;
  color: #333333;
  line-height: 28px;
}

.page-sub-content {
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #333333;
  font-weight: 400;
  line-height: 28px;
}

.app-background {
  background: var(--cms-asset-srv-app-tech-bg, url("../img/images/services/app_technology_bg.jpg")) center/cover no-repeat;
}

.mini-first-background {
  background: var(--cms-asset-srv-mini-img01, url("../img/images/services/mini_img01.png")) no-repeat;
  background-size: 200px 346px;
  background-position: 95% 100%;
}

.mini-content {
  margin-top: 10px;
  margin-bottom: 10px;
  padding-top: 54px;
  padding-left: 38px;
  padding-right: 38px;
  min-height: 360px;
  background: #FFFFFF;
}

.software-first-background {
  background: var(--cms-asset-srv-sw-img01, url("../img/images/services/software_img01.png")) no-repeat;
  background-size: 341px 328px;
  background-position: 95% 100%;
}

.card {
  margin: 0px;
}

.card-sub-title {
  font-size: 22px;
  font-family: PingFangSC-Medium, PingFang SC;
  font-weight: 500;
  color: #333333;
  line-height: 28px;
}

.card-sub-content {
  padding-top: 10px;
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #333333;
  font-weight: 400;
  line-height: 26px;
}

.cloud-first-background {
  background: var(--cms-asset-srv-cloud-img01, url("../img/images/services/cloud_img01.png")) no-repeat;
  background-size: 341px 328px;
  background-position: 95% 100%;
}

.iot-first-background {
  background: var(--cms-asset-sw-wulian-img01, url("../img/images/software/wulian_img01.png")) no-repeat;
  background-size: 341px 328px;
  background-position: 95% 100%;
}

.education-first-background {
  background: var(--cms-asset-sw-edu-img01, url("../img/images/software/education_img01.png")) no-repeat;
  background-size: 300px 309px;
  background-position: 100% 100%;
}

.training-first-background {
  background: var(--cms-asset-sw-train-img01, url("../img/images/software/training_img01.png")) no-repeat;
  background-size: 300px 309px;
  background-position: 100% 100%;
}

.card-image-bg {
  background-color: #76A7E6;
}

.iot-architecture-title {
  font-size: 34px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #ffffff;
  line-height: 48px;
}

.iot-architecture-bg {
  background: var(--cms-asset-sw-wulian-fw-bg, url("../img/images/software/wulian_framework_bg.jpg")) center/cover no-repeat;
}

.iot-card-sub-content {
  padding-top: 10px;
  font-size: 16px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #333333;
  font-weight: 400;
  line-height: 26px;
}

.training-card-sub-content {
  padding-top: 10px;
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #333333;
  font-weight: 400;
  line-height: 18px;
}

.aged-first-background {
  background: var(--cms-asset-sw-pension-img01, url("../img/images/software/pension_img01.png")) no-repeat;
  background-size: 350px 300px;
  background-position: 95% 100%;
}

.aged-card-image {
  padding: 10px;
}

.aged-sub-title {
  text-align: left;
  font-size: 24px;
  font-family: PingFangSC-Semibold, PingFang SC;
  font-weight: 600;
  color: #f48623;
  line-height: 32px;
}

.aged-card-sub-content {
  padding-top: 10px;
  margin-left: 10px;
  font-size: 14px;
  font-family: PingFangSC-Regular, PingFang SC;
  color: #333333;
  font-weight: 400;
  line-height: 18px;
}

.ui-card-content {
  padding-top: 49px;
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 0px;
  min-height: 360px;
  text-align: center;
}

.ui-card {
  padding-left: 10px;
  padding-right: 10px;
  min-height: 350px;
  background: #FFFFFF;
}

/* CMS 渲染补充：FTL 导航结构、视差头图修复；不与 theme.scss 重复的规则尽量省略 */
html, body {
  margin: 0;
  padding: 0;
}

.navbar {
  position: relative;
}

/* 对齐 https://jinmutech.cn/services/app_development.html 的导航父节点样式 */
.nav-background {
  background-color: rgba(220, 38, 38, 0) !important;
  position: absolute;
  margin-top: 15px;
  z-index: 99;
  box-shadow: none;
}

/* 复用 materialize 的 container 版心，不做额外宽度覆盖 */
.nav-wrapper.container {
  position: relative;
}

#logo-container {
  text-decoration: none;
}

.logo-sub {
  margin-left: 10px;
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1;
}

.navfont {
  font-family: PingFangSC-Medium, PingFang SC, sans-serif;
}

nav ul.right {
  display: block;
}

nav ul li {
  margin: 0;
}

nav ul a.navfont {
  font-size: 16px;
  color: #fff;
  line-height: 64px;
  padding: 0 12px;
  white-space: nowrap;
}

#logo-container .logo-text {
  height: 39px;
  font-size: 36px;
  font-family: YouSheBiaoTiHei, PingFangSC-Medium, PingFang SC, sans-serif;
  color: #fff;
  line-height: 47px;
}

.submenu-nested {
  display: none !important;
}

.sidenav li > a {
  font-size: 15px;
}

main[role=main] {
  min-height: 48vh;
}

/* .parallax-container .parallax img {
  filter: brightness(0.55);
} */

main .parallax-container {
  isolation: isolate;
  position: relative;
  z-index: 0;
  overflow: hidden;
  height: 500px;
  min-height: 500px;
  max-height: 720px;
}

main .parallax-container .parallax img {
  opacity: 1;
}

main .parallax-container .container.middle {
  position: relative;
  z-index: 1;
  top: 40%;
  transform: translateY(-50%);
  padding-top: 0;
  padding-bottom: 0;
}

.banner-description {
  margin-top: 0.5rem;
}

.post-title {
  font-weight: 600;
}

.breadcrumb-nav {
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.breadcrumb-nav a {
  text-decoration: none;
}

.page-footer a {
  color: #b0bec5;
}

.page-footer a:hover {
  color: #f48623;
}

.footer-title {
  font-size: 1.1rem;
}

.footer-content {
  font-size: 0.9rem;
  line-height: 1.6;
}

@media (max-width: 992px) {
  .logo-text {
    font-size: 28px;
  }
  .navbar {
    position: relative;
  }
  .nav-background {
    background-color: #263238 !important;
  }
}
.padding-top-20 {
  padding-top: 20px;
}

.banner-buttons .btn {
  margin: 0.35rem 0.5rem;
}

.blog-post .post-meta {
  color: #757575;
  font-size: 0.95rem;
  margin: 0.75rem 0 0.5rem;
}

.blog-post .post-meta span {
  margin-right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.blog-post .post-meta .material-icons {
  font-size: 1rem;
  line-height: 1;
  width: 1em;
  height: 1em;
}

.post-tags-wrapper {
  margin: 0.75rem 0 0;
}

.post-tags-wrapper .tag {
  display: inline-block;
  margin: 0.2rem 0.35rem 0.2rem 0;
  padding: 0 0.6rem;
  border-radius: 4px;
  background: #eceff1;
  color: #455a64;
  font-size: 0.85rem;
  text-decoration: none;
}

.post-excerpt {
  margin-top: 1rem;
  padding: 1rem;
  background: #fafafa;
  border-left: 4px solid #ff9800;
  color: #555;
}

.post-share h5, .related-posts h5 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.15rem;
}

.share-buttons .btn {
  margin: 0.25rem;
  text-transform: none;
}

.share-buttons .share-icon {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 4px;
}

.archive-page .page-first-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #212121;
}

.archive-page .page-content {
  color: #616161;
  margin-top: 0.5rem;
}

.blog-post-card {
  margin-bottom: 1.25rem;
}

.blog-post-card .card.horizontal {
  margin: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.blog-post-card .card-title {
  font-size: 1.25rem;
  margin-top: 0;
}

.blog-post-card .card-title a {
  color: #263238;
}

.blog-post-card .post-meta {
  color: #757575;
  font-size: 0.9rem;
  margin: 0.5rem 0;
}

.blog-post-card .post-meta span {
  margin-right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.blog-post-card .post-excerpt {
  margin-top: 0.75rem;
  color: #555;
  line-height: 1.6;
}

.blog-post-card .post-tags {
  margin-top: 0.5rem;
}

.blog-post-card .post-tags .tag {
  display: inline-block;
  margin: 0.15rem 0.35rem 0.15rem 0;
  padding: 0 0.5rem;
  border-radius: 4px;
  background: #eceff1;
  color: #455a64;
  font-size: 0.85rem;
  text-decoration: none;
}

/*# sourceMappingURL=main.css.map */
