* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
body {
  background-color: var(--white-primary);
  overflow-x: hidden;
}
.disclaimer {
  background-color: #108046;
  position: fixed;
  z-index: 100;
  width: 300px;
  padding: 20px;
  text-align: center;
  border-radius: 20px;
  color: white;
  bottom: 20px;
  right: 20px;
}
.disclaimer a {
  color: white;
}
:root {
  --font-family: "Inter", sans-serif;
  --second-family: "FoglihtenNo06", sans-serif;
}
:root {
  --placeholder: #d9d9d9;
  --green-primary: #1e2e28;
  --green-secondary: #365c48;
  --white-primary: #fffbf6;
  --button-active: #264334;
  --button-hover: #2d4f3d;
  --button-default: #365c48;
  --button-disabled: #686868;
}
.button {
  outline: none;
  cursor: pointer;
}
button:hover {
}
a {
  transition: 0.3s ease;
}
a:hover {
  opacity: 0.5;
}
/*---------- pop_up-form ----------*/
.pop_up-form {
  visibility: hidden;
  display: block;
  z-index: 10;
  position: fixed;
  height: 100%;
  width: 100%;
  background-color: #0c0c0c92;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}
.pop_up-form.active {
  visibility: visible;
  opacity: 1;
}
.pop_up-form.active .form-container {
  top: 50%;
}
.pop_up-form .form-container {
  position: absolute;
  border-radius: 32px;
  padding: 72px;
  width: 816px;
  height: 589px;
  background-color: var(--white-primary);
  margin: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  transition-delay: 0.6s;
  transition: top 0.6s ease-in-out;
}
.pop_up-form .form-container .close-button {
  cursor: pointer;
  position: absolute;
  right: 24px;
  top: 24px;
  background: none;
  border: none;
}
.pop_up-form .form-container .text .title {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;

  line-height: 130%;
  color: var(--green-primary);
}
.pop_up-form .form-container .text p {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
}
.pop_up-form .form-container .form {
  margin-top: 32px;
  width: 544px;
  height: 276px;
}
.pop_up-form .form-container .form label input {
  margin-bottom: 12px;
  border: 1px solid var(--button-default);
  border-radius: 12px;
  padding: 20px 28px;
  width: 544px;
  height: 58px;
  background: var(--white-primary);

  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-secondary);
}
.pop_up-form .form-container .form label p {
  margin: 12px 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
}
.pop_up-form .form-container .form label .button {
  border-radius: 60px;
  padding: 16px 32px;
  width: 544px;
  height: 58px;
  background: #365c48;
  margin-top: 12px;

  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 20px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #fffbf6;
}
/*---------- portfolio-container ----------*/
.portfolio-container {
  width: 1664px;
  margin: 120px auto 0 auto;
}
.portfolio-container .portfolio-header {
  display: flex;
  position: relative;
  transform: translateX(-30%);
  left: 50%;
  width: 877px;
  height: 158px;
  margin-bottom: 32px;
}
.portfolio-container .portfolio-header .text {
  width: 589px;
  margin-right: 16px;
}
.portfolio-container .portfolio-header a {
  border-radius: 60px;
  padding: 16px 32px;
  width: 272px;
  height: 58px;
  margin-top: auto;
  background: #365c48;
  text-decoration: none;
  text-align: center;

  color: var(--white-primary);
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 20px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #fffbf6;
}
.portfolio-container .portfolio-header p {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #fffbf6;
}
.portfolio-container .title {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;

  line-height: 130%;
  color: #fffbf6;
}
.portfolio-container .cards-row {
  display: flex;
}
.portfolio-container .cards-row .card {
  width: 544px;
  margin-right: 16px;
}
.portfolio-container .cards-row .card:last-child {
  margin: 0;
}
.portfolio-container .cards-row .card img {
  width: 544px;
  height: 514px;
  margin-bottom: 24px;
  border-radius: 20px;
}
.portfolio-container .cards-row .card p {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 24px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #fffbf6;
}

.rectangle {
  border-radius: 20px;
  width: 86vw;
  height: 324px;
  margin: 120px auto 0 auto;
  background: #cbcbcb;
}
/*---------- table ----------*/
.table {
  position: relative;
  transform: translateX(-13%);
  left: 50%;
  margin-top: 72px;
}
.table h1 {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;
  margin-bottom: 32px;
  line-height: 130%;
  color: #1e2e28;
}
.table table tr td {
  border-bottom: 1px solid #ddd;
  padding: 16px 0;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 20px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #1e2e28;
}
.table table tr td:nth-child(1) {
  padding-right: 10vw;
}

/*------- list-services -------*/

.list-services {
  position: relative;
  left: 36%;
  margin-top: 120px;
  width: 1044px;
  height: 724px;
}
.list-services .title {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 64px;
  line-height: 130%;
  color: var(--green-primary);
}
.list-services .description {
  width: 606px;
  margin-bottom: 32px;
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
}
.list-services ol.list {
  margin-top: 32px;
  counter-reset: item;
  margin-bottom: 32px;
  list-style-position: outside;
}
.list-services ol.list li {
  margin-bottom: 24px;
  counter-increment: item;
  list-style-type: none;
  list-style-position: outside;
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
  width: 583px;
}
.list-services ol.list li:last-child {
  margin: 0;
}
.list-services ol.list li::before {
  margin-right: 8px;
  content: "0" counter(item) ". ";
  font-family: var(--second-family);
  height: 100%;
  font-weight: 500;
  font-size: 32px;
  line-height: 130%;
  color: var(--green-primary);
}

.list-services .button {
  border-radius: 60px;
  padding: 16px 32px;

  width: 369px;
  height: 58px;
  background: var(--green-secondary);
  text-decoration: none;

  font-family: var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
}
/*------- slider -------*/
.slider {
  width: 100%;
  overflow: hidden;
}
.slider .overflow {
  width: 1664px;
  margin: 0 auto;
}
.slider .overflow .slider-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
}
.slider .slider-header .title {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;
  width: 592px;
  line-height: 130%;
  color: #fffbf6;
}
.slider .slider-header .button-container {
  margin: auto 0;
}
.slider .slider-header .button-container button {
  /* transition: .5s ease; */
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
}
.slider .slider-header .button-container button:last-child {
  background-color: var(--green-secondary);
}
.slider .slider-header .button-container button:hover {
  opacity: 0.5;
}
.slider .slider-body {
  transition: 1s ease;
  display: flex;
  flex-wrap: nowrap;
}
.slider .slider-body .slide:last-child {
  margin: 0;
}
.slider .slider-body .slide .img {
  position: relative;
  background: linear-gradient(
    180deg,
    rgba(16, 16, 16, 0.5) 0%,
    rgba(16, 16, 16, 0.5) 100%
  );
  width: 100%;
  height: 514px;
  margin-bottom: 24px;
  border-radius: 20px;
  overflow: hidden;
}
.slider .slider-body .slide .img img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.slider .slider-body .slide p {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 24px;

  line-height: 130%;
  letter-spacing: -0.01em;
}

/*------- header -------*/
header {
  z-index: 1;
  position: absolute;
  padding: 20px 6.6%;
  width: 100%;
  height: 100px;
  display: flex;
  justify-content: space-between;
  vertical-align: auto;
}
header .logo {
  width: calc(15px + 200 * (100vw / 1920));
  height: 60px;
}
header .logo svg {
  width: calc(15px + 200 * (100vw / 1920));
}
header .menu {
  display: flex;
  justify-content: space-between;
  width: 59vw;
}
header .menu .links {
  width: 70%;
  align-items: center;
  display: flex;
  color: var(--white-primary);
}
header .menu .links a {
  white-space: nowrap;
  margin-right: 4%;
  text-align: center;
  text-decoration: none;
  color: var(--white-primary);
  font-size: calc(5px + 11 * (100vw / 1920));
  max-height: 30px;
}
header .menu .links a:nth-last-child(1) {
  margin: 0;
}
header .menu .contact {
  white-space: nowrap;
  width: 17%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: var(--white-primary);
  font-size: calc(6px + 12 * (100vw / 1920));
  font-weight: 500;
}

/*------- main -------*/
.main-banner {
  position: relative;
  width: 100%;
  padding: 220px 0 380px 0;
  border-bottom-left-radius: 120px;
  border-bottom-right-radius: 120px;
  color: var(--white-primary);
  overflow: hidden;
}
.main-banner .bg {
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}
.main-banner .bg-filter {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(
      180deg,
      rgba(16, 16, 16, 0.25) 0%,
      rgba(16, 16, 16, 0.25) 100%
    ),
    linear-gradient(
      180deg,
      rgba(16, 16, 16, 0.75) 0%,
      rgba(16, 16, 16, 0.75) 100%
    ),
    radial-gradient(
      50% 50% at 50% 50%,
      rgba(0, 0, 0, 0.4) 0%,
      rgba(0, 0, 0, 0.4) 100%
    );
  background-blend-mode: overlay, overlay, normal;
  opacity: 0.5;
}
.main-banner .banner-content {
  justify-content: space-between;
  position: relative;
  display: flex;
  width: 85vw;
  margin: auto;
}
.main-banner .banner-content .banner-title {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: calc(40px + 84 * (100vw / 1920));
  /* font-size: 124px;  */
  width: 60%;
  line-height: 130%;
  color: var(--white-primary);
}
.main-banner .banner-content .banner-info {
  width: 32%;
  display: flex;
  flex-wrap: wrap;
}
.main-banner .banner-content .banner-info .banner-description {
  width: 100%;
  font-weight: small;
  font-size: calc(14px + 4 * (100vw / 1920));

  /* font-size: 18px; */
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
  font-weight: 300;
}
.main-banner .banner-content .banner-info .banner-contact-buttons {
  margin-top: auto;
  display: flex;
  width: 100%;
}
.main-banner
  .banner-content
  .banner-info
  .banner-contact-buttons
  .banner-button {
  text-align: center;
  border-radius: 60px;
  padding: 16px 32px;
  background: #365c48;
  color: white;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: -0.01em;
  margin-right: 6px;
}
.main-banner
  .banner-content
  .banner-info
  .banner-contact-buttons
  .banner-button-soc {
  border-radius: 60px;
  width: 58px;
  height: 58px;
  background: #365c48;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 6px;
}

.main-banner
  .banner-content
  .banner-info
  .banner-contact-buttons
  .banner-button-soc
  svg {
  width: 33px;
}
/*------- activity-stats -------*/
.activity-stats {
  position: relative;
  background: var(--white-primary);
}
.activity-stats::after {
  position: absolute;
  bottom: -120px;
  content: "";
  width: 100%;
  height: 120px;
  background: var(--white-primary);
  z-index: 1;
  border-bottom-left-radius: 120px;
  border-bottom-right-radius: 120px;
}
.activity-stats .total-stats {
  position: relative;
  display: block;
  width: 57.5vw;
  display: flex;
  left: 65%;
  transform: translate(-50%, 0);
  margin: 72px 0 120px 0;
}
.activity-stats .total-stats .stats {
  width: 25%;

  margin: 0 10px;
}
.activity-stats .total-stats .stats h1 {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 72px;
  line-height: 130%;
  color: var(--green-primary);
}
.activity-stats .total-stats .stats p {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 24px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
}

.activity-stats .service {
  width: 86vw;
  min-height: 492px;
  max-height: 600px;
  margin: auto;
}
.activity-stats .service .title-service {
  width: 605px;
  height: 225px;
}
.activity-stats .service .title-service .title {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 64px;
  line-height: 130%;
  color: var(--green-primary);
}
.activity-stats .service .title-service .description {
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--green-primary);
}
.activity-stats .service .cards-row {
  width: 100%;
  margin: 32px auto 0 auto;
  display: flex;
}
.activity-stats .service .cards-row .card {
  margin-right: 16px;
  width: 28.8vw;
  max-width: 544px;
  min-height: 235px;
  border-radius: 20px;
  padding: 48px;
  background: var(--green-primary);
}
.activity-stats .service .cards-row .card:last-child {
  margin-right: 0;
}
.activity-stats .service .cards-row .card .title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: calc(16px + 8 * (100vw / 1920));
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
  margin-bottom: 12px;
}
.activity-stats .service .cards-row .card .description {
  font-family: var(--font-family);
  font-weight: 300;
  font-size: calc(12px + 4 * (100vw / 1920));

  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
}

/*------- services-offered -------*/
.services-offered {
  position: relative;
  background: var(--green-primary);
  color: var(--white-primary);
  margin-bottom: 120px;
}
.services-offered::after {
  position: absolute;
  bottom: -120px;
  content: "";
  width: 100%;
  height: 120px;
  background: var(--green-primary);
  border-bottom-left-radius: 120px;
  border-bottom-right-radius: 120px;
}
.services-offered .service-slider {
  padding-top: 240px;
  margin: auto;
}
.services-offered .service-slider .slider-body .slide {
  min-width: 404px;
  max-width: 404px;
  margin-right: 16px;
}

.services-offered .testimonial-slider {
  margin: 120px auto 0 auto;
}
.services-offered .testimonial-slider .slider-body {
  width: auto;
}
.services-offered .testimonial-slider .slider-body .slide {
  border-radius: 12px;
  padding: 48px;
  max-width: 648px;
  min-width: 648px;
  margin-right: 16px;
  height: 294px;
  background: #fffbf6;
}
.services-offered .testimonial-slider .slider-body .slide {
  color: #1e2e28;
}
.services-offered .testimonial-slider .slider-body .slide .head {
  display: flex;
  margin-bottom: 24px;
}
.services-offered .testimonial-slider .slider-body .slide .head > * {
  margin: auto;
}
.services-offered .testimonial-slider .slider-body .slide .head .avatar {
  overflow: hidden;
  position: relative;
  min-width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #d9d9d9;
}
.services-offered .testimonial-slider .slider-body .slide .head .avatar img {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  height: 100%;
}
.services-offered
  .testimonial-slider
  .slider-body
  .slide
  .head
  .title-testimonial-author {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: #1e2e28;
  margin-left: 10px;
}
.services-offered .testimonial-slider .slider-body .slide .head .date {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 130%;
  color: #1e2e28;
}
.services-offered .testimonial-slider .slider-body .slide .testimonial-text {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: #1e2e28;
}
.services-offered .partners-container {
  width: 1664px;
  margin: 120px auto 0 auto;
}
.services-offered .partners-container .title {
  width: 100%;
  text-align: center;
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;
  margin-bottom: 32px;

  line-height: 130%;
  color: var(--white-primary);
}
.services-offered .partners-container .container {
  display: flex;
  justify-content: space-between;
}
.services-offered .partners-container .container .partner-logo {
  border-radius: 20px;
  width: 264px;
  height: 261px;
  background: #fff;
}
.services-offered .contact-form {
  width: 673px;
  height: 379px;
  margin: 120px auto 0 auto;
}
.services-offered .contact-form .header {
  width: 100%;
  margin-bottom: 32px;
}
.services-offered .contact-form .header .title {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;

  line-height: 130%;
  color: #fffbf6;
}
.services-offered .contact-form .header .description {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #fffbf6;
}
.services-offered .contact-form .form {
  max-width: 544px;
}
.services-offered .contact-form .form input {
  margin-bottom: 12px;
  border: 1px solid #365c48;
  border-radius: 12px;
  padding: 20px 28px;
  width: 100%;
  height: 58px;
  background: #fffbf6;
}
.services-offered .contact-form .form button {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
  border: none;
  margin-top: 12px;
  border-radius: 60px;
  padding: 16px 32px;
  width: 100%;
  height: 58px;
  background: #365c48;
  color: var(--white-primary);
}

/*------- services -------*/
.services .portfolio-container .portfolio-header .text > *,
.services .portfolio-container .cards-row .card > * {
  color: #1e2e28;
}
.services .portfolio-container .cards-row .card {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 24px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #1e2e28;
}

/*------- footer -------*/
footer {
  padding-top: 120px;
}
footer .contact-form {
  width: 673px;
  height: 379px;
  margin: 0 auto 120px auto;
}
footer .contact-form .header {
  width: 100%;
  margin-bottom: 32px;
}
footer .contact-form .header .title {
  font-family: "FoglihtenNo06", sans-serif;
  font-weight: 500;
  font-size: 64px;

  line-height: 130%;
  color: var();
}
footer .contact-form .header .description {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 16px;

  line-height: 130%;
  letter-spacing: -0.01em;
  color: #1e2e28;
}
footer .contact-form .form {
  max-width: 544px;
}
footer .contact-form .form input {
  margin-bottom: 12px;
  border: 1px solid #365c48;
  border-radius: 12px;
  padding: 20px 28px;
  width: 100%;
  height: 58px;
  color: #1e2e28;
}
footer .contact-form .form button {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.01em;
  color: var(--white-primary);
  border: none;
  margin-top: 12px;
  border-radius: 60px;
  padding: 16px 32px;
  width: 100%;
  height: 58px;
  background: #365c48;
  color: var(--white-primary);
}
footer .container-text {
  width: 1664px;
  margin: auto;
}
footer .container-text .title {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 64px;
  line-height: 130%;
  text-align: right;
  color: var(--green-primary);
}
footer .container-text .titl1 {
  text-align: right;
}
footer .container-text .titl2 {
  text-align: center;
}
footer .container-text .titl3 {
  text-align: left;
}
footer .footer-body {
  width: 1664px;
  margin: 152px auto 128px auto;
  display: flex;
  justify-content: space-between;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  line-height: 130%;
  color: var(--green-primary);
}
footer .footer-body p {
  margin: 24px 0;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 16px;
  line-height: 130%;
  color: var(--green-primary);
}
footer .footer-body p:last-child {
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 14px;
  line-height: 130%;
  color: var(--green-primary);
}
footer .footer-body .links-lists {
  width: 502px;
  display: flex;
  justify-content: space-between;
}
footer .footer-body .links-lists .links-list {
}
footer .footer-body .links-lists .links-list:last-child {
  margin: 0;
}

footer .footer-body .links-lists .links-list ul li {
  list-style-type: none;
  margin-bottom: 12px;
}
footer .footer-body .links-lists .links-list ul li a {
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 14px;
  line-height: 130%;
  color: var(--green-primary);
}
footer .footer-body .contacts p {
  margin: 0;
  margin-bottom: 12px;
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 16px;
  line-height: 130%;
  color: var(--green-primary);
}
footer .copyrights {
  width: 1664px;
  margin: 0 auto 32px auto;
}

/*------- width: 1280px -------*/
@media (max-width: 1280px) {
  header .menu {
    width: 65vw;
  }
  .main-banner .banner-content .banner-title {
    font-size: 72px;
  }
  header .menu .contact .email {
    display: none;
  }
  .main-banner
    .banner-content
    .banner-info
    .banner-contact-buttons
    .banner-button-soc {
    display: none;
  }
}
