/* header */

.nav-tem {
  display: none;
}

.header-tem {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9;
  width: 100%;
}

.header-container-tem {
  display: flex;
  justify-content: end;
  align-items: center;
  padding: 19.5px 272px;
  width: 100%;
}

.nav-list-tem {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
}

.nav-item-tem {
  position: relative;
  transition: all 0.3s ease-in-out;
}

.nav-link-tem {
  font-weight: 500;
  font-size: 18px;
  line-height: 150%;
  letter-spacing: 0.01em;
}

.nav-item-tem:hover {
  transform: scale(1.1);
}

.nav-link-tem:active + .nav-item-tem,
.nav-item-tem:has(.nav-link-tem:active) {
  transform: scale(1.2);
}

.menu-btn-tem {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 50px;
  height: 50px;
  border-radius: 30px;

  position: absolute;
  top: 80px;
  right: 19px;

  background: #fff;
  box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.25);

  svg {
    width: 24px;
    height: 14px;
    fill: #000;
  }
}

@media screen and (min-width: 1440px) {
  .header-container-tem {
    justify-content: center;
    background: #fff;
  }

  .nav-tem {
    display: block;
  }

  .menu-open-tem {
    display: none;
  }
}

/* modal  */

.modal-tem {
  position: fixed;
  top: 0;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);

  width: 375px;
  height: 704px;
  background: #fad9f3;

  display: flex;
  justify-content: start;
  padding-top: 207px;
  padding-left: 115px;
}

.menu-close-tem {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 50px;
  height: 50px;
  border-radius: 30px;

  position: absolute;
  top: 80px;
  right: 19px;

  background: #fff;
  box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.25);

  svg {
    width: 15px;
    height: 15px;
    fill: #000;
  }
}

.menu-nav-list-tem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.menu-nav-link-tem {
  font-weight: 500;
  font-size: 18px;
  line-height: 150%;
  letter-spacing: 0.01em;
}

/* popup */

.popup-tem {
  position: fixed;
  z-index: 11;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  background: #fff;

  padding: 40px 28px;
}

.popup-title-tem {
  font-family: var(--font5);
  font-weight: 700;
  font-size: 24px;
  line-height: 92%;
}

.popup-text-tem {
  font-weight: 700;
  font-size: 14px;
  line-height: 150%;
}

.popup-btn-wrap-tem {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}

.popup-btn-tem {
  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 8px;
  padding: 14px 12px;
  width: 319px;
  height: 45px;

  text-align: center;
  font-weight: 700;
  font-size: 16px;
}

.popup-btn-accept-tem {
  background: #fad9f3;
  font-family: var(--font-family);

  transition: all 0.3s ease;
}

.popup-btn-decline-tem {
  box-shadow: 0 1px 3px 0 #87614c;
  font-family: var(--font3);

  transition: all 0.3s ease;
}

.popup-btn-tem:hover {
  transform: scale(1.1);
}

@media screen and (min-width: 1440px) {
  .popup-tem {
    padding: 61.5px 108px;

    max-width: 1920px;
    left: 50%;
    transform: translateX(-50%);
  }

  .popup-title-tem {
    font-size: 36px;
    line-height: 61%;
  }

  .popup-text-tem {
    font-size: 24px;
    text-align: center;
  }

  .popup-btn-wrap-tem {
    gap: 16px;
    flex-direction: row;
  }

  .popup-btn-tem {
    width: 269px;
    height: 55px;
  }

  .popup-btn-tem:hover {
    transform: scaleY(1.5);
  }
}

/* hero  */

#home {
  height: calc(810px + 46px);
}

.hero-container-tem {
  height: 100%;
}

.hero-title-tem {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 32px;
  line-height: 150%;
  letter-spacing: 0.01em;
  text-align: center;
  color: #fffcfc;
  text-shadow: 2px 2px 0 #fad9f3;
  -webkit-text-stroke: 1px #ff69b4;

  width: 279px;

  position: absolute;
  top: 612px;
  left: 48px;
  z-index: 2;
}

.hero-bg-tem {
  background: url(/images/hero-bg-mob.png);
  background-position: left;
  background-size: cover;

  height: 810px;
  width: 375px;

  position: absolute;
  left: 0;
  top: 0;
}

.hero-text-tem {
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.01em;
  text-align: center;

  position: absolute;
  right: 20px;
  bottom: -20px;
}

@media screen and (min-width: 1440px) {
  #home {
    height: calc(810px + 77px + 69px);
  }

  .hero-title-tem {
    font-size: 36px;

    width: 580px;
    text-align: left;

    top: 552px;
    left: 180px;
  }

  .hero-bg-tem {
    background: url(/images/hero-bg-desk.png);

    height: 810px;
    width: 1440px;

    top: 69px;
  }

  .hero-text-tem {
    font-size: 20px;
    text-align: left;
    width: 344px;

    right: 180px;
    bottom: -23px;
  }
}

/* description */

.description-container-tem {
  padding-bottom: 92px;
}

.description-wrapper-tem {
  display: flex;
  flex-direction: column;
  gap: 21px;

  border-radius: 24px;
  padding: 24px;
  width: 336px;
  background: #fad9f3;

  .description-text-tem {
    line-height: 150%;
    letter-spacing: 0.01em;
  }

  .descr-last-text-tem {
    width: 189px;
  }
}

.description-pic-tem {
  width: 220px;
  height: 220px;

  background: url(/images/descr-pic.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

  position: absolute;
  bottom: 40px;
  right: -40px;
}

@media screen and (min-width: 1440px) {
  .description-container-tem {
    padding-bottom: 139px;
  }

  .description-title-tem {
    width: 100%;
  }

  .description-wrapper-tem {
    width: 736px;

    .description-text-tem {
      font-size: 20px;
    }

    .descr-last-text-tem {
      width: 100%;
    }
  }

  .description-pic-tem {
    width: 284px;
    height: 354px;

    bottom: 60px;
    right: 180px;
  }
}

/* gallery */

.gallery-container-tem {
  display: block;
}

.gallery-item-tem {
  width: 184px;
  height: calc(327px + 57px);

  img {
    width: 100%;
    height: 100%;
  }
}

.gallery-item-up-tem {
  padding-bottom: 57px;
}

.gallery-item-down-tem {
  padding-top: 57px;
}

@media screen and (min-width: 1440px) {
  .gallery-item-tem {
    width: 368px;
    height: calc(655px + 113px);
  }

  .gallery-item-up-tem {
    padding-bottom: 113px;
  }

  .gallery-item-down-tem {
    padding-top: 113px;
  }
}

/* how */

.how-list-tem {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.how-item-tem {
  border: 6px solid #fad9f3;
  border-radius: 24px;
  padding: 24px;
  width: 345px;
  height: 169px;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;

  span {
    border: 4px solid #fad9f3;
    border-radius: 40px;
    width: 47px;
    height: 47px;
    padding-top: 8px;

    font-family: var(--second-family);
    font-size: 26px;
    line-height: 150%;
    letter-spacing: 0.01em;

    display: flex;
    align-items: center;
    justify-content: center;
  }

  p {
    line-height: 150%;
    letter-spacing: 0.01em;
    text-align: center;
  }
}

.how-pic-tem {
  width: 220px;
  height: 220px;

  background: url(/images/how-pic.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

  position: absolute;
  bottom: 40px;
  left: -78px;
}

@media screen and (min-width: 1440px) {
  .how-container-tem {
    align-items: end;
  }

  .how-title-tem {
    width: 100%;
  }

  .how-list-tem {
    flex-wrap: wrap;
    height: 362px;
  }

  .how-item-tem {
    border: 10px solid #fad9f3;

    p {
      font-size: 20px;
    }
  }

  .how-pic-tem {
    width: 344px;
    height: 344px;

    bottom: 60px;
    left: 265px;
  }
}

/* features */

.features-wrapper-tem {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.features-item-tem {
  display: flex;
  align-items: center;
  gap: 24px;

  border-radius: 24px;
  padding: 51px 28px;
  width: 336px;
  height: 133px;

  box-shadow: 0 4px 16px 0 rgba(166, 166, 166, 0.75);
  background: #fad9f3;

  img {
    width: 54px;
    height: 47px;
  }

  p {
    line-height: 150%;
    letter-spacing: 0.01em;
  }
}

@media screen and (min-width: 1440px) {
  .features-container-tem {
    display: block;
  }

  .features-wrapper-tem {
    flex-direction: row;
    gap: 0;
  }

  .features-item-tem {
    display: flex;
    align-items: center;
    gap: 24px;

    border-radius: 24px;
    padding: 51px 28px;
    width: 336px;
    height: 133px;

    box-shadow: 0 4px 16px 0 rgba(166, 166, 166, 0.75);
    background: #fad9f3;

    img {
      width: 54px;
      height: 47px;
    }

    p {
      line-height: 150%;
      letter-spacing: 0.01em;
    }
  }
}

/* faq */

.faq-list-tem {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq-item-tem {
  display: flex;
  flex-direction: column;
  width: 336px;
  border-radius: 24px;
}

.faq-question-wrap-tem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;

  background: #9ad5fb;
  border-radius: 24px;
  padding: 22px 24px;
  width: 336px;

  p {
    font-family: var(--third-family);
    font-weight: 600;
    line-height: 150%;
  }

  .faq-btn-tem {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 2;

    svg {
      width: 20px;
      height: 2px;
      stroke: #000;
      transform: rotate(90deg);
    }
  }

  .faq-icon-minus-tem {
    position: absolute;
    width: 20px;
    height: 2px;
    stroke: #000;
    right: 32px;
  }
}

.faq-answer-wrap-tem {
  padding: 64px 24px 16px;
  border-radius: 24px;
  margin-top: -64px;

  box-shadow: 0 4px 24px 0 rgba(166, 166, 166, 0.75);
  background: #9ad5fb;

  p {
    font-family: var(--third-family);
    line-height: 150%;
  }
}

@media screen and (min-width: 1440px) {
  .faq-container-tem {
    align-items: start;
  }

  .faq-list-tem {
    gap: 16px;
    width: 728px;
  }

  .faq-item-tem {
    width: 100%;
  }

  .faq-question-wrap-tem {
    padding: 16px 32px;
    width: 100%;

    p {
      font-size: 20px;
    }

    .faq-btn-tem {
      width: 50px;
      height: 50px;

      svg {
        width: 28px;
      }
    }

    .faq-icon-minus-tem {
      width: 28px;
      right: 43px;
    }
  }

  .faq-answer-wrap-tem {
    padding: 80px 32px 16px;
    margin-top: -80px;

    width: 100%;

    p {
      font-size: 20px;
    }
  }

  .faq-pic-tem {
    background: url(/images/descr-pic.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;

    width: 284px;
    height: 354px;

    position: absolute;
    right: 180px;
    bottom: 60px;
  }
}

/* reviews */

.reviews-wrapper-tem {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.reviews-item-tem {
  border-radius: 24px;
  padding: 24px;
  width: 336px;
  height: 159px;

  box-shadow: 0 4px 24px 0 rgba(166, 166, 166, 0.75);
  background: #0f9a47;

  .reviewer-wrap-tem {
    display: flex;
    align-items: center;
    gap: 21px;

    img {
      width: 47px;
      height: 47px;
    }

    h3 {
      font-weight: 700;
      font-size: 18px;
      line-height: 150%;
      letter-spacing: 0.01em;
      color: #fff;
    }
  }

  p {
    line-height: 150%;
    letter-spacing: 0.01em;
    color: #fff;

    margin-top: 16px;
  }
}

@media screen and (min-width: 1440px) {
  .reviews-container-tem {
    display: block;
  }

  .reviews-wrapper-tem {
    flex-direction: row;
    gap: 0;
  }

  .reviews-item-tem {
    width: 344px;
    height: 171px;

    .reviewer-wrap-tem {
      h3 {
        font-size: 20px;
      }
    }

    p {
      font-size: 20px;
    }
  }
}

/* call */

.call-container-tem {
  padding-bottom: 60px;
}

.call-title-tem {
  margin-bottom: 18px;
}

.call-text-tem {
  line-height: 150%;
  letter-spacing: 0.01em;
  text-align: center;
}

@media screen and (min-width: 1440px) {
  .call-container-tem {
    padding-bottom: 105px;
  }

  .call-title-tem {
    width: 100%;
    text-align: center;
  }

  .call-text-tem {
    font-size: 20px;
  }
}

/* footer */

#footer {
  box-shadow: 0 -4px 20px 0 rgba(0, 0, 0, 0.15);
  background: #fad9f3;
}

.footer-container-tem {
  padding: 25px;
}

.footer-links-list-tem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 19px;
}

.footer-link-tem {
  line-height: 150%;
  letter-spacing: 0.01em;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

.footer-text-tem {
  font-weight: 700;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0.01em;
  margin-top: 24px;
}

@media screen and (min-width: 1440px) {
  .footer-container-tem {
    padding: 46px 80px;
  }

  .footer-links-list-tem {
    flex-direction: row;
  }

  .footer-link-tem {
    font-size: 20px;
  }

  .footer-text-tem {
    font-size: 20px;
  }
}

/* ********************* */

.hidden-tem {
  display: none;
}

.click-tem {
  transform: rotate(90deg);
}

/* .reviews-swiper-tem,
.features-swiper-tem,
.gallery-swiper-tem {
  overflow: visible;
}

.reviews-wrapper-tem,
.features-wrapper-tem,
.gallery-wrapper-tem {
  overflow: visible;
} */

.reviews-item-hidden-tem,
.features-item-hidden-tem {
  display: none;
}

@media screen and (min-width: 1440px) {
  .reviews-item-hidden-tem {
    display: block;
  }

  .features-item-hidden-tem {
    display: flex;
  }
}

.description-title-tem,
.how-title-tem,
.features-title-tem,
.reviews-title-tem {
  display: flex;
  justify-content: center;
  height: 82px;

  span {
    padding-top: 32px;
    padding-left: 16px;
    display: block;
  }
}

@media screen and (min-width: 1440px) {
  .description-title-tem,
  .how-title-tem,
  .features-title-tem,
  .reviews-title-tem {
    justify-content: start;
    height: 94px;
  }
}
