:root {
  --mach-homeservice-padding-top: 100px;
  --mach-homeservice-top-title-size: 97px;
  --mach-homeservice-top-title-leading: 86px;
  --mach-homeservice-sub-title-size: 50px;
  --mach-homeservice-text-leading: 1.8;
  --mach-homeservice-li-padding: 28px 0 43px;
  --mach-homeservice-ul-mb: 50px;
}
@keyframes ad_width {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
.mach-homeservice {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: auto;
  text-align: center;
  padding-top: var(--mach-homeservice-padding-top);
}

.mach-homeservice .top-title {
  height: 70px;
  overflow: hidden;
  text-align: center;
  border-bottom: 1px solid #f5f5f5;
}
.mach-homeservice .top-title h2 {
  font-size: var(--mach-homeservice-top-title-size);
  line-height: var(--mach-homeservice-top-title-leading);
  color: #f5f5f5;
}

.mach-homeservice .sub-title h2 {
  text-align: center;
  color: var(--title-text-color);
  font-family: var(--title-font-family);
  font-size: var(--mach-homeservice-sub-title-size);
  line-height: normal;
  font-weight: normal;
}

.mach-homeservice ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  /*align-items: center;*/
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: calc(var(--mach-homeservice-ul-mb) - 20px);
  margin-bottom: var(--mach-homeservice-ul-mb);
}
.mach-homeservice ul li > div {
  position: relative;
  padding: var(--mach-homeservice-li-padding);
  text-align: center;
  border-bottom: 2px solid var(--color-primary);
}

.mach-homeservice ul li > div::after {
  content: " ";
  position: absolute;
  z-index: 2;
  bottom: -2px;
  left: 50%;
  width: 100%;
  height: 2px;
  transform: translate(-50%);
}
/* .mach-homeservice ul li > div:hover::after {
  animation: ad_width 0.5s linear forwards;
  background: var(--title-text-color);
} */
.mach-homeservice ul li img {
  margin-bottom: 1.25em;
  width: 56px;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.mach-homeservice ul li h3 {
  margin-bottom: 17.5px;
  font-size: 20px;
  color: var(--title-text-color);
  font-weight: 600;
  line-height: 1.3;
}

.mach-homeservice ul li p {
  margin-top: 10px;
  font-size: 16px;
  color: var(--text-color);
  line-height: 1.5;
  display: -webkit-box;
  /*-webkit-line-clamp: 6;*/
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 1.25em;
}

.mach-homeservice .main-href a {
  display: inline-block;
  padding: 15px 40px;
  background: var(--color-primary);
  border-radius: var(--button-radius);
  font-family: var(--title-font-family);
  font-weight: 800;
  color: #fff;
  font-size: 16px;
  cursor: pointer;
}
.mach-homeservice .main-href a:hover {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.15) 100%), var(--color-primary);
}

@media screen and (max-width: 1500px) {
  :root {
    --mach-homeservice-padding-top: 80px;
    --mach-homeservice-top-title-size: 92px;
    --mach-homeservice-sub-title-size: 46px;
    --mach-homeservice-text-leading: 1.7;
    --mach-homeservice-li-padding: 28px 0 38px;
	--mach-homeservice-ul-mb: 40px;
  }
}

@media screen and (max-width: 1280px) {
  :root {
    --mach-homeservice-padding-top: 70px;
    --mach-homeservice-top-title-size: 86px;
    --mach-homeservice-sub-title-size: 42px;
    --mach-homeservice-text-leading: 1.6;
    --mach-homeservice-li-padding: 26px 0 33px;
	--mach-homeservice-ul-mb: 30px;
  }
  .mach-homeservice .main-href a {
    padding: 15px 50px;
  }
}

@media screen and (max-width: 1200px) {
  :root {
    --mach-homeservice-padding-top: 60px;
    --mach-homeservice-top-title-size: 75px;
    --mach-homeservice-text-leading: 1.5;
    --mach-homeservice-li-padding: 24px 0 28px;
	--mach-homeservice-ul-mb: 20px;
  }
  .mach-homeservice .main-href a {
    padding: 15px 40px;
  }
}

@media screen and (max-width: 992px) {
  :root {
    --mach-homeservice-padding-top: 50px;
    --mach-homeservice-top-title-size: 70px;
    --mach-homeservice-sub-title-size: 32px;
    --mach-homeservice-text-leading: 1.4;
    --mach-homeservice-li-padding: 24px 0 23px;
  }
  .mach-homeservice .top-title {
    height: 60px;
  }
  .mach-homeservice .sub-title p {
    margin-bottom: 30px;
  }
  .mach-homeservice .main-href a {
    padding: 10px 30px;
  }
}

@media screen and (max-width: 768px) {
  :root {
    --mach-homeservice-padding-top: 44px;
    --mach-homeservice-top-title-size: 50px;
    --mach-homeservice-sub-title-size: 30px;
    --mach-homeservice-text-leading: 1.3;
  }
}

@media screen and (max-width: 576px) {
  :root {
    --mach-homeservice-padding-top: 44px;
    --mach-homeservice-top-title-size: 40px;
    --mach-homeservice-sub-title-size: 24px;
    --mach-homeservice-text-leading: 1.2;
  }
}
