/* Pixso 9-24 front-end designs: 1920px desktop reference, responsive below. */
.index-banner-content h1 {
  font-size: clamp(30px, 2.5vw, 48px);
  line-height: 1.3125;
  max-width: 760px;
}
.index-banner-content {
  top: 90px;
  padding-bottom: 0;
}
.index-series-poster img {
  display: block;
}
.index-series-contnet .page-heading h2 {
  font-size: 36px;
  line-height: 47px;
  text-transform: uppercase;
}
.index-series-contnet .page-heading p {
  font-size: 14px;
  line-height: 18px;
}
.index-series-swiper {
  padding: 0 90px;
}
.index-series-swiper .cp-item h3 {
  font-size: 14px;
  margin-top: 20px;
}
.index-series-more {
  text-align: center;
}
.index-series-swiper .swiper-button-next,
.index-series-swiper .swiper-button-prev {
  width: 44px;
  height: 44px;
}
.index-series-swiper .swiper-button-next {
  right: 0;
}
.index-series-swiper .swiper-button-prev {
  left: 0;
}
.index-series-swiper .swiper-button-next:not(.swiper-button-disabled) {
  background: var(--color-primary);
}
.index-series-swiper .swiper-button-next:not(.swiper-button-disabled)::after {
  color: #fff;
}
.home-technology {
  background: #f7f7f7;
}
.home-technology .page-heading {
  padding: 110px 20px 90px;
}
.home-technology .page-heading h2 {
  font-size: 36px;
  line-height: 47px;
  margin: 10px 0 0;
  text-transform: uppercase;
}
.home-technology .page-heading p {
  color: #777;
  font-size: 20px;
  line-height: 26px;
}
.home-technology-poster {
  display: block;
  width: 100%;
  aspect-ratio: 1920 / 845;
}
.home-technology-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.index-quality {
  gap: 50px;
  background: #f7f7f7;
}
.index-quality-left {
  width: 570px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.index-quality-left .section-eyebrow {
  font-size: 14px;
  line-height: 18px;
  margin: 0 0 10px;
}
.index-quality-left h2 {
  font-family: "Noto Sans SC", Arial, "Laimu Sans", sans-serif;
  text-transform: uppercase;
  font-size: 36px;
  line-height: 52px;
}
.index-quality-left > .cp-btn {
  margin-top: auto;
}
.index-quality-swiper {
  position: relative;
  width: auto;
  flex: 1;
  padding-bottom: 0;
}
.index-quality-swiper .swiper-button-prev,
.index-quality-swiper .swiper-button-next {
  top: auto;
  bottom: -70px;
  margin-top: 0;
  left: auto;
  width: 40px;
  height: 40px;
}
.index-quality-swiper .swiper-button-prev {
  right: 50px;
}
.index-quality-swiper .swiper-button-next {
  right: 0;
}
.index-quality-item .cp-poster img {
  height: 700px;
}
.section-eyebrow {
  color: #666;
}
.pages-banner .cp-container {
  padding-left: clamp(50px, 9.375vw, 180px);
  padding-right: clamp(50px, 9.375vw, 180px);
}
.pages-banner .cp-title h1 {
  margin-bottom: 12px;
  line-height: 26px;
}
.pages-banner .cp-title p {
  max-width: 740px;
  line-height: 1.3125;
}
.laimu-about-profile {
  background: #fff;
  width: 100%;
  max-width: none;
}
.laimu-about-profile .laimu-profile-copy {
  width: 600px;
  max-width: 48%;
  font-size: 16px;
  line-height: 21px;
}
.laimu-about-profile .laimu-profile-copy p {
  margin-top: 30px;
}
.laimu-about-profile .profile-tile-1 {
  left: calc(50% - 295px);
  width: 120px;
  height: 120px;
}
.laimu-about-profile .profile-tile-2 {
  right: 23%;
}
.laimu-about-profile .profile-tile-3 {
  left: 15.5%;
  width: 160px;
  height: 160px;
}
.laimu-about-profile .profile-tile-4 {
  right: 15%;
}
.laimu-about-profile .profile-tile-5 {
  left: 23.8%;
}
.laimu-about-profile .profile-tile-6 {
  right: 39%;
  width: 160px;
  height: 160px;
  bottom: 80px;
}
.laimu-who {
  height: 980px;
  background-position: center;
  background-size: cover;
}
.laimu-who-copy {
  position: absolute;
  top: 369px;
  left: 50%;
  width: 600px;
  max-width: calc(100% - 40px);
  padding: 0;
  transform: translateX(-50%);
}
.laimu-who h2 {
  font-size: 36px;
  line-height: 47px;
  max-width: 500px;
  margin: 0 auto;
}
.laimu-who p {
  font-size: 14px;
  line-height: 18px;
  max-width: 600px;
}
.who-icon {
  opacity: 1;
  transform: none;
  object-fit: contain;
}
.who-icon-1 {
  width: 147.5px;
  height: 180.5px;
  left: calc(50% - 73.75px);
  top: 80px;
}
.who-icon-2 {
  width: 193px;
  height: 193px;
  left: calc(50% - 450px);
  top: 220px;
}
.who-icon-3 {
  width: 201.5px;
  height: 201.5px;
  right: calc(50% - 450px);
  top: 200px;
}
.who-icon-4 {
  width: 202px;
  height: 202px;
  left: calc(50% - 450px);
  top: auto;
  bottom: 180px;
}
.who-icon-5 {
  width: 85px;
  height: 200.5px;
  left: calc(50% - 42.5px);
  top: auto;
  bottom: 114px;
}
.who-icon-6 {
  width: 199.5px;
  height: 199.5px;
  right: calc(50% - 450px);
  top: auto;
  bottom: 180px;
}
.laimu-service-grid {
  gap: 20px;
  margin-top: 90px;
}
.laimu-service-grid li {
  position: relative;
  background: #f7f7f7;
  padding: 35px 15px;
  min-height: 220px;
}
.laimu-service-grid .item-num {
  position: absolute;
  left: 15px;
  top: 15px;
  font-size: 12px;
}
.laimu-service-grid img {
  width: 70px;
  height: 70px;
  margin: 25px auto 30px;
}
.laimu-service-grid h3 {
  font-size: 14px;
  line-height: 18px;
}
.laimu-faq .page-heading h2 {
  max-width: 380px;
  line-height: 47px;
  text-transform: uppercase;
}
.laimu-faq .pages-container {
  max-width: 1280px;
  margin-top: 50px;
}
.laimu-faq details {
  font-size: 14px;
  padding: 25px 0;
}
.laimu-faq details p {
  margin-top: 16px;
  line-height: 20px;
}
.solution-contact {
  text-align: center;
}
.solution-contact h2 {
  font-size: 36px;
  line-height: 47px;
  max-width: 640px;
  margin: 10px auto 40px;
  text-transform: uppercase;
}
.breadcrumb-nav {
  padding: 10px 0;
  font-size: 14px;
  line-height: 20px;
  border-color: #e5e5e5;
}
.breadcrumb-nav ul li::before {
  top: 7px;
}
.product-search {
  padding-top: 40px;
}
.product-search h1 {
  font-size: 24px;
  line-height: 32px;
  max-width: 440px;
  margin: 0 auto;
}
.product-search form {
  width: 570px;
  margin-top: 20px;
}
.product-search input {
  font-size: 14px;
}
.product-series {
  margin-top: 40px;
}
.product-series ul li {
  padding: 0 25px;
}
.product-series button {
  padding: 0 20px;
  text-align: center;
}
.product-series .cp-ico img {
  display: block;
  width: 40px;
  height: 40px;
}
.product-series h3 {
  font-size: 16px;
  line-height: 21px;
  margin-top: 6px;
  text-transform: uppercase;
}
.product-series li.active button {
  color: var(--color-primary);
}
.product-series li.active h3 {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.product-filter {
  margin-top: 50px;
}
.filter-trigger {
  font-size: 16px;
  border-color: #ddd;
  height: 52px;
}
.filter-item.active .filter-trigger,
.filter-item.open .filter-trigger {
  box-shadow: none;
}
.product-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 45px 20px;
  margin-top: 30px;
}
.product-card {
  position: relative;
  border: 0;
  background: transparent;
  overflow: visible;
}
.product-card-img {
  display: flex;
  background: #ebebeb;
}
.product-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-card-info {
  padding: 16px 0 0;
  text-align: center;
}
.product-card-info h4 {
  font-size: 16px;
  line-height: 21px;
}
.product-card-meta {
  display: none;
}
.product-card-add {
  display: block;
  margin: 8px auto 0;
  opacity: 0;
  transition: opacity 0.2s;
}
.product-card:hover .product-card-add,
.product-card:focus-within .product-card-add {
  opacity: 1;
}
.product-card:hover {
  transform: none;
  box-shadow: none;
}
.single-product-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.single-product {
  gap: 40px;
  align-items: stretch;
}
.single-gallery-swiper {
  flex: 0 0 calc(50% - 40px);
  padding-bottom: 40px;
}
.single-gallery-swiper .swiper-slide {
  background: #ebebeb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-gallery-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.single-info {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  padding-bottom: 40px;
}
.single-title h1 {
  font-size: 36px;
  line-height: 47px;
}
.single-title p {
  font-size: 14px;
  line-height: 18px;
  margin-top: 10px;
}
.single-meta {
  margin-top: 30px;
}
.single-meta li {
  border: 0;
  padding: 8px 0;
}
.single-meta .item-label {
  flex-basis: 175px;
  max-width: 175px;
  font-weight: 500;
}
.single-actions {
  margin-top: auto;
  padding-top: 30px;
  gap: 10px;
}
.single-actions .cp-btn {
  height: 50px;
}
.contact-banner {
  height: 270px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-banner .page-heading h1 {
  font-size: 48px;
  line-height: 63px;
  margin: 0 0 10px;
}
.contact-banner .page-heading p {
  font-size: 14px;
  line-height: 18px;
  max-width: 570px;
}
.contact-infos {
  padding-top: 50px;
  padding-bottom: 80px;
}
.contact-wrapper {
  gap: 0;
}
.contact-info {
  flex: 0 0 50%;
  padding-right: 80px;
}
.contact-info h3,
.contact-form > h3 {
  font-size: 24px;
  line-height: 32px;
  text-transform: none;
}
.contact-info > p {
  font-size: 14px;
  line-height: 18px;
  margin-top: 15px;
}
.contact-info ul {
  margin-top: 30px;
  font-size: 16px;
}
.contact-info li {
  margin-top: 18px;
}
.contact-form > p {
  font-size: 14px;
  line-height: 18px;
}
.contact-form form {
  margin-top: 35px;
}
.contact-form .cp-label {
  line-height: 18px;
  margin-bottom: 10px;
}
.contact-form .cp-textarea {
  min-height: 100px;
}
.contact-form .cp-form-status:empty {
  display: none;
}
.contact-form .cp-btn {
  margin-top: 10px;
  height: 50px;
}
.page-login {
  min-height: 0;
  height: auto;
  aspect-ratio: 1920 / 990;
  padding: 60px;
}
.login-card {
  flex-basis: 520px;
  margin-right: 13%;
  padding: 40px;
}
.login-head h1 {
  font-size: 24px;
  line-height: 32px;
}
.login-head p {
  font-size: 14px;
  line-height: 18px;
  margin-top: 8px;
}
.login-card form {
  margin-top: 35px;
}
.login-card .cp-field {
  margin-bottom: 20px;
}
.login-card .cp-label {
  font-size: 16px;
  line-height: 21px;
  margin-bottom: 8px;
}
.login-card .cp-input {
  height: 46px;
  background: #fafafa;
}
.login-opts {
  margin-bottom: 28px;
}
.login-card .cp-btn {
  height: 46px;
}
.product-results {
  margin-top: 25px;
  font-size: 14px;
  line-height: 18px;
  color: #777;
}
.product-results + .product-list {
  margin-top: 16px;
}
.laimu-jobs {
  background: #f7f7f7;
}
.laimu-jobs .page-heading h2 {
  text-transform: uppercase;
  font-size: 36px;
  line-height: 47px;
}
.laimu-jobs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 60px;
}
.laimu-jobs-grid li {
  background: #fff;
  padding: 30px;
}
.laimu-jobs-grid h3 {
  font-size: 18px;
  line-height: 24px;
}
.laimu-jobs-grid p {
  font-size: 14px;
  line-height: 20px;
  margin-top: 15px;
  color: #777;
}
.laimu-carousel-controls {
  position: relative;
  width: 90px;
  height: 40px;
  margin: 40px auto 0;
}
.laimu-carousel-controls .swiper-button-prev,
.laimu-carousel-controls .swiper-button-next {
  top: 0;
  width: 40px;
  height: 40px;
  margin: 0;
}
.laimu-carousel-controls .swiper-button-prev {
  left: 0;
}
.laimu-carousel-controls .swiper-button-next {
  right: 0;
}
.laimu-history {
  background: #f7f7f7;
}
.laimu-history .page-heading h2,
.laimu-strengths .page-heading h2,
.laimu-service-carousel .page-heading h2 {
  font-size: 36px;
  line-height: 47px;
  text-transform: uppercase;
}
.laimu-history-swiper {
  position: relative;
  margin-top: 50px;
}
.laimu-history-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 380px;
  background: #fff;
}
.laimu-history-card.without-image {
  grid-template-columns: 1fr;
}
.laimu-history-poster img {
  display: block;
  width: 100%;
  height: 380px;
  object-fit: cover;
}
.laimu-history-copy {
  padding: 50px;
}
.laimu-history-copy h3 {
  font-size: 24px;
  line-height: 32px;
}
.laimu-history-copy p {
  margin-top: 15px;
  font-size: 14px;
  line-height: 20px;
}
.laimu-history-swiper .laimu-carousel-controls {
  position: absolute;
  z-index: 2;
  left: calc(50% + 50px);
  bottom: 50px;
  margin: 0;
}
.laimu-history-years {
  display: flex;
  overflow-x: auto;
  gap: 0;
  margin-top: 70px;
}
.laimu-history-years button {
  position: relative;
  flex: 1 0 150px;
  padding: 115px 20px 20px;
  font-size: 14px;
  color: #777;
  background: repeating-linear-gradient(
    90deg,
    transparent 0 19px,
    #e3e3e3 19px 20px,
    transparent 20px 39px
  );
  background-size: 100% 90px;
  background-repeat: no-repeat;
}
.laimu-history-years button::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 100px;
  top: 0;
  left: 50%;
  background: #ddd;
}
.laimu-history-years button[aria-pressed="true"] {
  color: var(--color-primary);
}
.laimu-history-years button[aria-pressed="true"]::before {
  background: var(--color-primary);
}
.laimu-strengths {
  background: #f7f7f7;
}
.laimu-strengths .swiper {
  margin-top: 50px;
}
.laimu-strengths .swiper-slide {
  width: min(900px, 80vw);
}
.laimu-strengths img {
  display: block;
  width: 100%;
  aspect-ratio: 900 / 510;
  object-fit: cover;
}
.laimu-strengths h3 {
  font-size: 24px;
  line-height: 32px;
  margin-top: 30px;
}
.laimu-strengths article p {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
.laimu-service-carousel .page-heading h2 {
  max-width: 500px;
  margin: 0 auto;
}
.laimu-service-rail {
  margin: 90px 0 0 max(20px, calc((100% - 1280px) / 2));
}
.laimu-service-rail .swiper-slide {
  position: relative;
  width: 300px;
  min-height: 310px;
  padding: 45px 20px 30px;
  background: #f7f7f7;
  text-align: center;
}
.laimu-service-rail .item-num {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 12px;
}
.laimu-service-rail img {
  display: block;
  width: 100px;
  height: 100px;
  margin: 30px auto 50px;
}
.laimu-service-rail h3 {
  font-size: 14px;
  line-height: 18px;
}
@media (max-width: 1200px) {
  .index-series-swiper {
    padding: 0 50px;
  }
  .index-quality-left {
    width: 32%;
  }
  .index-quality-swiper .swiper-slide {
    width: 36vw;
  }
  .index-quality-item .cp-poster img {
    height: 52.5vw;
  }
  .pages-container {
    max-width: calc(100% - 80px);
  }
  .login-card {
    margin-right: 3%;
  }
}
@media (max-width: 768px) {
  .pages-container {
    max-width: 100%;
  }
  .laimu-jobs-grid {
    grid-template-columns: 1fr;
    margin-top: 35px;
  }
  .laimu-history .page-heading h2,
  .laimu-strengths .page-heading h2,
  .laimu-service-carousel .page-heading h2 {
    font-size: 28px;
    line-height: 37px;
  }
  .laimu-history-card {
    grid-template-columns: 1fr;
  }
  .laimu-history-poster img {
    height: auto;
    aspect-ratio: 16 / 10;
  }
  .laimu-history-copy {
    padding: 30px 20px 85px;
  }
  .laimu-history-swiper .laimu-carousel-controls {
    left: 20px;
    bottom: 25px;
  }
  .laimu-history-years {
    margin-top: 35px;
  }
  .laimu-history-years button {
    flex-basis: 33.333%;
    min-width: 110px;
  }
  .laimu-strengths .swiper-slide {
    width: 85vw;
  }
  .laimu-strengths h3 {
    font-size: 20px;
    line-height: 26px;
  }
  .laimu-service-rail {
    margin-top: 40px;
  }
  .laimu-service-rail .swiper-slide {
    width: 78vw;
    min-height: 280px;
  }
  .index-banner-content {
    top: 40px;
  }
  .index-banner-content h1 {
    font-size: 30px;
    line-height: 1.25;
  }
  .index-series-contnet .page-heading h2 {
    font-size: 28px;
    line-height: 37px;
  }
  .index-series-swiper {
    padding: 0 50px;
  }
  .home-technology .page-heading {
    padding: 45px 20px 35px;
  }
  .home-technology .page-heading h2 {
    font-size: 28px;
    line-height: 37px;
  }
  .home-technology-poster {
    aspect-ratio: 4 / 3;
  }
  .index-quality {
    gap: 30px;
  }
  .index-quality-left {
    width: 100%;
  }
  .index-quality-left > .cp-btn {
    margin-top: 25px;
  }
  .index-quality-swiper {
    width: 100%;
    flex: none;
    margin-bottom: 55px;
  }
  .index-quality-swiper .swiper-button-prev,
  .index-quality-swiper .swiper-button-next {
    bottom: -55px;
  }
  .index-quality-swiper .swiper-slide {
    width: 75vw;
  }
  .index-quality-item .cp-poster img {
    height: 420px;
  }
  .pages-banner .cp-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .laimu-about-profile .laimu-profile-copy {
    max-width: 100%;
    width: auto;
    padding: 0 20px;
  }
  .laimu-about-profile .profile-tile {
    width: 70px;
    height: 70px;
  }
  .laimu-who {
    height: 640px;
  }
  .laimu-who-copy {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    max-width: 340px;
    padding: 20px;
  }
  .laimu-who h2 {
    font-size: 28px;
    line-height: 37px;
  }
  .who-icon {
    width: 90px;
    height: 100px;
  }
  .who-icon-1 {
    top: 35px;
    left: calc(50% - 45px);
  }
  .who-icon-2,
  .who-icon-4 {
    left: 4%;
  }
  .who-icon-3,
  .who-icon-6 {
    right: 4%;
  }
  .who-icon-2,
  .who-icon-3 {
    top: 140px;
  }
  .who-icon-4,
  .who-icon-6 {
    bottom: 120px;
  }
  .who-icon-5 {
    left: calc(50% - 45px);
    bottom: 20px;
  }
  .laimu-service-grid {
    margin-top: 40px;
    gap: 15px;
  }
  .laimu-service-grid li {
    padding: 35px 10px 20px;
    min-height: 200px;
  }
  .laimu-faq .page-heading h2,
  .solution-contact h2 {
    font-size: 28px;
    line-height: 37px;
  }
  .laimu-faq .pages-container {
    margin-top: 30px;
  }
  .product-search h1 {
    font-size: 24px;
    line-height: 32px;
  }
  .product-series ul li {
    padding: 0;
  }
  .product-series button {
    padding: 0;
  }
  .product-series h3 {
    font-size: 13px;
  }
  .product-filter {
    margin-top: 30px;
  }
  .product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 15px;
  }
  .product-card-add {
    opacity: 1;
  }
  .single-product-section {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .single-gallery-swiper {
    flex: none;
    width: 100%;
  }
  .single-info {
    flex: none;
    width: 100%;
    padding-bottom: 0;
  }
  .single-title h1 {
    font-size: 28px;
    line-height: 37px;
  }
  .single-meta .item-label {
    flex-basis: auto;
    max-width: none;
  }
  .single-actions {
    margin-top: 10px;
    padding-top: 20px;
  }
  .contact-banner {
    height: 230px;
  }
  .contact-banner .page-heading h1 {
    font-size: 32px;
    line-height: 42px;
  }
  .contact-wrapper {
    gap: 40px;
  }
  .contact-info {
    flex: none;
    padding-right: 0;
  }
  .contact-infos {
    padding-top: 40px;
    padding-bottom: 50px;
  }
  .page-login {
    aspect-ratio: auto;
    min-height: 640px;
    padding: 40px 20px;
  }
  .login-card {
    width: 100%;
    flex-basis: auto;
    margin: 0;
    padding: 30px 20px;
  }
  .cp-input,
  .cp-textarea,
  .login-card .cp-input {
    font-size: 16px;
  }
}
