@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
html {
  box-sizing: border-box;
  scroll-behavior: smooth;
  height: 100%;
}

body {
  height: 100%;
}

* {
  padding: 0;
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a:focus,
a:active {
  outline: none;
}

a, a:link, a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

aside, nav, footer, header, section, main {
  display: block;
}

h1, h2, h3, h4, h5, h6, p {
  font-size: inherit;
  font-weight: inherit;
}

ul, ul li {
  list-style: none;
  margin: 0;
}

address {
  font-style: normal;
}

input, textarea, button, select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}

input::-ms-clear {
  display: none;
}

button, input[type=submit] {
  display: inline-block;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

input:focus, input:active,
button:focus, button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}

button {
  background-color: transparent;
  padding: 0;
  border: none;
  cursor: pointer;
}

a {
  display: block;
}

html {
  scrollbar-gutter: stable;
  font-size: 0.6944444444vw;
}
@media (max-width: 1050px) {
  html {
    font-size: 1.9230769231vw;
  }
}
@media (max-width: 600px) {
  html {
    font-size: 2.5641025641vw;
  }
}

.wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
}

body {
  scroll-behavior: smooth;
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
}

.container {
  max-width: 120rem;
  margin: 0 auto;
}
@media (max-width: 1050px) {
  .container {
    padding: 0 1.6rem;
  }
}

.btn {
  padding: 2.4rem 4rem;
  border-radius: 4.6rem;
  background: #444e4c;
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
  text-align: center;
  width: 25.5rem;
	transition: all 0.3s;
	border: 0.1rem solid transparent;
}

@media (max-width: 1024px) {
  .btn {
    width: 100% !important;
    padding: 1.6rem;
  }
}

@media (min-width: 1024px) {
  .btn:hover {
      background: #2e9a65;
	  color: #fff;
	  border: 0.1rem solid #fff;
  }
}

main {
  flex: 1;
}

.header .container {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  position: relative;
  z-index: 7;
  padding-top: 2.1rem;
}
@media (max-width: 1024px) {
  .header .container {
    background: #fff;
  }
}
.header__logo {
  width: 30.7rem;
  height: 6.2rem;
}
@media (max-width: 1024px) {
  .header__logo {
    width: 20rem;
    height: auto;
  }
}
.header__logo img {
  width: 100%;
  height: 100%;
}
.header .nav {
  display: flex;
  align-items: center;
  gap: 3.9rem;
  padding: 1.9rem 3.2rem;
  border-radius: 4.6rem;
  background: #f8f6f6;
}
@media (max-width: 1024px) {
  .header .nav {
    display: none;
    gap: 1.6rem;
  }
}
.header .nav a {
  font: 400 1.8rem "Montserrat", sans-serif;
  color: #474342;
}
.header .nav .nav-link {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1024px) {
  .header .nav .nav-link svg {
    display: none;
  }
}
.header .nav-select {
  position: relative;
}
.header .nav-select svg {
  transition: all 0.3s;
}
.header .nav-select svg.rotate {
  transform: rotate(180deg);
}
.header .nav-select__content {
  position: absolute;
  backdrop-filter: blur(32.2000007629px);
  background: rgba(247, 247, 247, 0.3);
  border-radius: 1rem;
  left: -2rem;
  width: 23rem;
  top: 5rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}
@media (max-width: 1024px) {
  .header .nav-select__content {
    position: static;
    opacity: 1;
    visibility: hidden;
    padding-top: 1rem;
  }
}
.header .nav-select__content.visible {
  opacity: 1;
  visibility: visible;
}
.header .nav-select__content a {
  padding: 1rem 2rem;
  font-size: 1.6rem;
}
@media (max-width: 1024px) {
  .header .nav-select__content a {
    padding: 0;
    padding: 0.7rem 0;
  }
}
.header__tel {
  margin-left: auto;
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1024px) {
  .header__tel {
    display: none;
  }
}

.nav a.active {
  position: relative;
}
.nav a.active::before {
  content: "";
  position: absolute;
  width: 9.7rem;
  height: 0.3rem;
  background: #2e9a65;
  left: 50%;
  transform: translateX(-50%);
  bottom: -1.8rem;
}

.mobile-menu {
  height: 100vh;
  padding: 8rem 1.6rem 2rem;
  z-index: 1;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  overflow: auto;
}
.mobile-menu.visible {
  opacity: 1;
  visibility: visible;
}
.mobile-menu .nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 1rem;
}
.mobile-menu .nav-link {
  gap: 2rem;
}
.mobile-menu .nav-link svg {
  width: 1.6rem;
  height: auto;
}
.mobile-menu .header__tel {
  display: block;
  margin-top: auto;
  margin-left: 0;
  margin-bottom: 3rem;
}

.breadcrumbs {
  padding-top: 6rem;
  margin-bottom: 6.1rem;
}
@media (max-width: 1024px) {
  .breadcrumbs {
    padding-top: 3rem;
    margin-bottom: 3rem;
  }
}
.breadcrumbs .container {
  display: flex;
  align-items: center;
  gap: 6.4rem;
}
@media (max-width: 1024px) {
  .breadcrumbs .container {
    gap: 1rem 3rem;
    flex-wrap: wrap;
  }
}
.breadcrumbs .container a {
  font: 300 2rem "Montserrat", sans-serif;
  color: #444e4c;
  position: relative;
}
@media (max-width: 1024px) {
  .breadcrumbs .container a {
    font-size: 1.6rem;
  }
}
.breadcrumbs .container a::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' viewBox='0 0 8 7'%3E%3Cpath d='M4 0L4.94427 2.67376H8L5.52786 4.32624L6.47214 7L4 5.34752L1.52786 7L2.47214 4.32624L0 2.67376H3.05573L4 0Z' fill='%232E9A65'/%3E%3C/svg%3E");
  width: 8px;
  height: 7px;
  right: -3.3rem;
  top: 1rem;
}
@media (max-width: 1024px) {
  .breadcrumbs .container a::before {
    top: 0.5rem;
    right: -1.9rem;
  }
}
.breadcrumbs .container span {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1024px) {
  .breadcrumbs .container span {
    font-size: 1.6rem;
  }
}

.hamburger {
  position: relative;
  width: 4rem;
  height: 4rem;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  transition: all 0.3s ease;
  margin-left: auto;
}

.hamburger {
  display: none;
}

@media (max-width: 1024px) {
  .hamburger {
    display: flex;
  }
}
.hamburger__line {
  position: absolute;
  width: 3rem;
  display: block;
  height: 0.3rem;
  background: #000;
  border-radius: 0.3rem;
  transition: all 0.3s ease;
}

.hamburger__line:nth-child(1) {
  transform: translateY(-1rem);
}

.hamburger__line:nth-child(2) {
  /* Центральная линия */
}

.hamburger__line:nth-child(3) {
  transform: translateY(1rem);
}

/* Анимация при добавлении класса active */
.hamburger.active .hamburger__line:nth-child(1) {
  transform: translateY(0) rotate(45deg);
}

.hamburger.active .hamburger__line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger.active .hamburger__line:nth-child(3) {
  transform: translateY(0) rotate(-45deg);
}

.footer {
  padding: 3.2rem;
  border-radius: 1rem;
  background: #444e4c;
}
@media (max-width: 1024px) {
  .footer {
    padding: 4rem 1.6rem;
    border-radius: 1rem 1rem 0 0;
  }
}
.footer__wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 7rem;
}
@media (max-width: 1024px) {
  .footer__wrapper {
    flex-direction: column;
    justify-content: flex-start;
    gap: 4rem;
  }
}
.footer__info {
  width: 30.1rem;
}
.footer__info p {
  font: 400 1.4rem "Montserrat", sans-serif;
  color: #fff;
}
.footer__logo {
  width: 23.1rem;
  height: 7.2rem;
  margin-bottom: 3rem;
}
.footer__logo img {
  width: 100%;
  height: 100%;
}
.footer__nav {
  display: flex;
  gap: 10rem;
}
@media (max-width: 1024px) {
  .footer__nav {
    gap: 3rem;
  }
}
.footer__nav a {
  min-width: 14rem;
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
}
.footer__nav-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 1.2rem;
	max-width: 21rem;
}
@media (max-width: 1024px) {
  .footer__contacts {
    text-align: left;
    align-items: flex-start;
  }
}
.footer__contacts a {
  font: 700 1.6rem "Montserrat", sans-serif;
  color: #fff;
}
.footer__contacts p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .footer__bottom {
    flex-direction: column;
    gap: 1rem;
  }
}
.footer__bottom .descr {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
}
.footer__bottom a {
  font: 400 1.6rem "Montserrat", sans-serif;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: #fff;
}

.hero {
  padding-top: 3rem;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .hero {
    margin-bottom: 4rem;
  }
}
.hero .container {
  display: flex;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .hero .container {
    flex-direction: column-reverse;
  }
}
.hero__img {
  min-width: 38.7rem;
  height: 45.6rem;
}
@media (max-width: 1024px) {
  .hero__img {
    width: 100%;
    min-width: 100%;
    height: 25rem;
  }
}
.hero__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}
.hero__info {
  padding: 4rem;
  background: #f7f7f7;
  border-radius: 1rem;
}
@media (max-width: 1024px) {
  .hero__info {
    padding: 4rem 1.6rem;
  }
}
.hero__info h1 {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 4rem;
}
@media (max-width: 1024px) {
  .hero__info h1 {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
.hero__info p {
  font: 300 2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 3.5rem;
}
@media (max-width: 1024px) {
  .hero__info p {
    font-size: 1.6rem;
  }
}
.hero__info a {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
  padding: 2.4rem 3.9rem;
  background: #444e4c;
  border-radius: 4.6rem;
  display: inline-block;
}

.marquee-line {
  margin-bottom: 12rem;
}
@media (max-width: 1024px) {
  .marquee-line {
    margin-bottom: 4rem;
  }
}
.marquee-line .wrap {
  max-width: 100%;
  margin: auto;
}
.marquee-line .items-wrap {
  position: relative;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: 5rem;
}
.marquee-line .items {
  flex-shrink: 0;
  display: flex;
  gap: 5rem;
  justify-content: space-around;
  min-width: 100%;
}
.marquee-line .item {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.marquee-line .marquee {
  animation: scroll 60s linear infinite;
}
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - 20px));
  }
}

.objects {
  margin-bottom: 12rem;
}
@media (max-width: 1024px) {
  .objects {
    margin-bottom: 6rem;
  }
}
.objects__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 3.7rem;
}
@media (max-width: 1024px) {
  .objects__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.objects__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .objects__wrapper {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 3rem;
  }
}
.objects__item {
  width: 100%;
}
@media (max-width: 1024px) {
  .objects__item {
    display: none;
  }
  .objects__item:nth-child(1), .objects__item:nth-child(2), .objects__item:nth-child(3) {
    display: block;
  }
}
.objects__item .label {
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #fff;
  padding: 0.65rem 1.6rem;
  background: #2e9a65;
  position: absolute;
  top: 2.3rem;
  left: 1.8rem;
	border-radius: 1rem;
}
.objects__item p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 0.3rem;
}
.objects__item img {
  width: 100%;
  height: 27.9rem;
  object-fit: cover;
  border-radius: 1rem;
}
.objects__item .year {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #444e4c;
}
.objects__item-img {
  width: 100%;
  position: relative;
}
.objects__item-name {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 0.3rem;
}
.objects .btn {
  width: 25.3rem;
  margin: 0 auto;
}

.realize {
  margin-bottom: 16rem;
}
@media (max-width: 1024px) {
  .realize {
    margin-bottom: 6rem;
  }
}
.realize__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 6.8rem;
}
@media (max-width: 1024px) {
  .realize__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.realize__quantity {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 2rem;
}
@media (max-width: 1024px) {
  .realize__quantity {
    grid-template-columns: repeat(1, 1fr);
  }
}
.realize__quantity-item {
  padding: 1.2rem 1.2rem 1.6rem 2rem;
  border-radius: 1rem;
  background: #f7f7f7;
}
.realize__quantity-item-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.realize__quantity-item-num {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #444e4c;
}
.realize__quantity-item-num span {
  font: 500 6.4rem "Montserrat", sans-serif;
  color: #444e4c;
  display: block;
  line-height: 90%;
}
.realize__quantity-item-img {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
}
.realize__quantity-item-img span {
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #fff;
  border-radius: 1rem;
  background: #2e9a65;
  display: block;
  padding: 0.65rem 1.2rem;
}
.realize__quantity-item-img img {
  border-radius: 1rem;
  width: 6.5rem;
  height: 6.5rem;
}
.realize__quantity-item-name {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
.realize__wrapper {
  display: flex;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .realize__wrapper {
    flex-direction: column;
  }
}
.realize__vertical {
  border-radius: 1rem;
  min-width: 38.7rem;
  height: 70.1rem;
  position: relative;
}
@media (max-width: 1024px) {
  .realize__vertical {
    min-width: 100%;
    height: 28rem;
  }
}
.realize__vertical img {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  object-fit: cover;
}
.realize__vertical .realize__digit {
  position: absolute;
  left: 2rem;
  bottom: 24rem;
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
  z-index: 1;
}
@media (max-width: 1024px) {
  .realize__vertical .realize__digit {
    bottom: auto;
    top: 2rem;
  }
}
.realize__vertical .realize__digit span {
  font: 500 6.4rem "Montserrat", sans-serif;
  color: #fff;
  display: block;
}
.realize__vertical p {
  position: absolute;
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
  left: 2rem;
  bottom: 3.2rem;
  z-index: 1;
}
.realize__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.realize__item {
  width: 38.6rem;
  height: 34.4rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #f7f7f7;
  padding: 1rem 2.5rem 2.5rem;
  position: relative;
}
@media (max-width: 1024px) {
  .realize__item {
    min-width: 100%;
    height: 28rem;
    padding: 2rem 2.5rem 2.5rem;
  }
}
.realize__item.full {
  width: 100%;
  height: 34.1rem;
}
@media (max-width: 1024px) {
  .realize__item.full {
    height: 28rem;
  }
}
.realize__item.full .realize__digit span span {
  font: 500 3.2rem "Geist", sans-serif;
  display: inline;
}
.realize__item.full img {
  width: 33.6rem;
  height: 26.5rem;
  top: 2.1rem;
  right: 3.2rem;
  left: auto;
}
@media (max-width: 1024px) {
  .realize__item.full img {
    display: none;
  }
}
.realize__item.img-item .realize__digit {
  color: #fff;
}
.realize__item.img-item .realize__digit span {
  color: #fff;
}
.realize__item.img-item p {
  color: #fff;
}
.realize__item p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #474342;
  position: relative;
  z-index: 1;
}
.realize__item img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1rem;
}
.realize__digit {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #474342;
  position: relative;
  z-index: 1;
}
.realize__digit span {
  font: 500 6.4rem "Montserrat", sans-serif;
  color: #2e9a65;
  display: block;
  line-height: 90%;
}

.why-us {
  margin-bottom: 16rem;
}
@media (max-width: 1024px) {
  .why-us {
    margin-bottom: 6rem;
  }
}
.why-us__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 4.2rem;
}
@media (max-width: 1024px) {
  .why-us__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
  .why-us__title br {
    display: none;
  }
}
.why-us__wrapper {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .why-us__wrapper {
    flex-direction: column;
    gap: 4rem;
  }
}
.why-us__info {
  width: 59rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1024px) {
  .why-us__info {
    width: 100%;
  }
}
.why-us__info p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #474342;
  max-width: 48.4rem;
  margin-bottom: 1rem;
}
@media (max-width: 1024px) {
  .why-us__info p {
    margin-bottom: 3rem;
  }
}
.why-us .btn {
  margin-top: auto;
  width: 25.3rem;
}
@media (max-width: 1024px) {
  .why-us .btn {
    width: 100%;
  }
}
.why-us__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.1rem;
}
@media (max-width: 1024px) {
  .why-us__wrap {
    gap: 2.4rem;
    margin-bottom: 3rem;
  }
}
.why-us__item span {
  padding: 0.65rem 2.55rem;
  background: #2e9a65;
  border-radius: 1rem;
  margin-bottom: 2rem;
  display: inline-block;
  color: #fff;
}
.why-us__item-title {
  font: 700 1.8rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1024px) {
  .why-us__item-title {
    font-size: 1.6rem;
  }
  .why-us__item-title br {
    display: none;
  }
}
.why-us__img {
  width: 59rem;
  height: 51.2rem;
}
@media (max-width: 1024px) {
  .why-us__img {
    width: 100%;
    height: 28rem;
  }
}
.why-us__img img {
  border-radius: 1rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-services {
  margin-bottom: 15rem;
}
@media (max-width: 1024px) {
  .main-services {
    margin-bottom: 6rem;
  }
}
.main-services__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 6.8rem;
}
@media (max-width: 1024px) {
  .main-services__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.main-services__wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 6rem;
}
@media (max-width: 1024px) {
  .main-services__wrapper {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 3rem;
  }
}
.main-services .btn {
  width: 25.3rem;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .main-services .btn {
    width: 100%;
  }
}
.main-services__item {
  height: 23.8rem;
  position: relative;
  padding: 1.6rem 2rem;
}
@media (max-width: 1024px) {
  .main-services__item {
    height: 15rem;
  }
}
.main-services__item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
	object-fit: cover;
}
@media (max-width: 1024px) {
  .main-services__item img {
    object-fit: cover;
  }
}
.main-services__item svg {
  position: absolute;
  bottom: 1.6rem;
  right: 2rem;
  z-index: 1;
}
.main-services__item-title {
  position: relative;
  font: 700 2rem "Montserrat", sans-serif;
  color: #fff;
}

.cta {
  margin-bottom: 14rem;
}
@media (max-width: 1024px) {
  .cta {
    margin-bottom: 6rem;
  }
}
.cta .container {
  padding: 8rem 8rem 4.6rem;
  border-radius: 1rem;
  background: #2E9A65;
  position: relative;
}
@media (max-width: 1024px) {
  .cta .container {
    padding: 4rem 1.6rem;
	margin: 0 1.6rem;
  }
}
.cta__title {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 0.1rem;
}
@media (max-width: 1024px) {
  .cta__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
    position: relative;
    z-index: 1;
  }
}
.cta p {
  font: 300 2rem "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 10rem;
}
@media (max-width: 1024px) {
  .cta p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
    position: relative;
    z-index: 1;
  }
}
.cta__img {
  position: absolute;
  right: 4rem;
  top: 0rem;
  width: 54.3rem;
  height: 37.9rem;
}
@media (max-width: 1024px) {
  .cta__img {
    display: none;
  }
}
@media (max-width: 1024px) {
  .cta .btn {
    position: relative;
    z-index: 1;
  }
}

.services {
  margin-bottom: 11rem;
}
@media (max-width: 1024px) {
  .services {
    margin-bottom: 4rem;
  }
}
.services__title {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 1.9rem;
}
@media (max-width: 1024px) {
  .services__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.services p {
  font: 300 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1024px) {
  .services p {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}
.services__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 7.8rem;
}
@media (max-width: 1024px) {
  .services__wrapper {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 0;
  }
}
.services__item {
  padding: 3.3rem 1.5rem;
  background: #f7f7f7;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  height: 29.6rem;
}
@media (max-width: 1024px) {
  .services__item {
    height: 25rem;
  }
}
.services__item p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #474342;
  max-width: 33.4rem;
}
@media (max-width: 1024px) {
  .services__item p {
    margin-bottom: 1rem;
  }
}
.services__item img {
  margin-top: auto;
  width: 9.7rem;
  height: 8.7rem;
  margin-left: auto;
}
.services__item-name {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 3rem;
}

.projects {
  margin-bottom: 15.6rem;
}
@media (max-width: 1050px) {
  .projects {
    margin-bottom: 6rem;
  }
}
.projects__title {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 4.7rem;
}
@media (max-width: 1050px) {
  .projects__title {
    font-size: 4rem;
    margin-bottom: 4rem;
  }
}
.projects__categories {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 3.7rem;
}
@media (max-width: 1050px) {
  .projects__categories {
    flex-wrap: wrap;
  }
}
.projects__categories a {
  border-radius: 1rem;
  border: 1px solid #2e9a65;
  padding: 1rem;
  min-width: 14.2rem;
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #231f20;
  text-align: center;
}

.projects__categories a.active{
	 background: #2e9a65;
	  color: #fff;
}
@media (max-width: 1050px) {
  .projects__categories a {
    min-width: 10rem;
  }
}
.projects__categories a:nth-child(1) {
  min-width: 8.3rem;
}
.projects__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10rem 2rem;
}
@media (max-width: 1050px) {
  .projects__wrapper {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
}

.contacts {
  margin-bottom: 8.3rem;
}
@media (max-width: 1050px) {
  .contacts {
    margin-bottom: 6rem;
  }
}
.contacts__title {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 6rem;
}
@media (max-width: 1050px) {
  .contacts__title {
    font-size: 4rem;
    margin-bottom: 4rem;
  }
}
.contacts__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media (max-width: 1050px) {
  .contacts__wrapper {
    display: flex;
    flex-direction: column;
  }
}
.contacts__info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media (max-width: 1050px) {
  .contacts__info {
    gap: 1rem;
    display: flex;
    flex-direction: column;
  }
}
.contacts__info-item {
  background: #f7f7f7;
  padding: 1.9rem 1.7rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  height: 25.1rem;
}
@media (max-width: 1050px) {
  .contacts__info-item {
    width: 100%;
    height: auto;
  }
}
.contacts__info-item img {
  width: 4.8rem;
  height: 4.8rem;
}
@media (max-width: 1050px) {
  .contacts__info-item img {
    width: 3rem;
    height: 3rem;
    margin-bottom: 2rem;
  }
}
.contacts__info-text {
  margin-top: auto;
}
.contacts__info-text p, .contacts__info-text a {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #464747;
}
@media (max-width: 1050px) {
  .contacts__info-text p, .contacts__info-text a {
    font-size: 1.5rem;
  }
}
.contacts__info-title {
  font: 700 1.6rem "Montserrat", sans-serif;
  color: #464747;
  margin-bottom: 2rem;
}
.contacts__map {
  width: 100%;
  height: 100%;
}
@media (max-width: 1050px) {
  .contacts__map {
    height: 30rem;
  }
}
.contacts__map iframe {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
}

.form {
  margin-bottom: 11rem;
}
@media (max-width: 1050px) {
  .form {
    margin-bottom: 6rem;
  }
}
.form .container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.1rem;
}
@media (max-width: 1050px) {
  .form .container {
    display: flex;
    flex-direction: column-reverse;
  }
}
.form__action {
  padding: 3.6rem 2.4rem;
  background: #2e9a65;
  border-radius: 1rem;
}
@media (max-width: 1050px) {
  .form__action {
    padding: 4rem 1.6rem;
  }
}
.form__action form {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem 1.7rem;
}
@media (max-width: 1050px) {
  .form__action form {
    gap: 1.6rem;
  }
}
.form__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 2.2rem;
}
@media (max-width: 1050px) {
  .form__title {
    font-size: 2.4rem;
  }
}
.form__input {
  width: calc(50% - 0.85rem);
}
@media (max-width: 1050px) {
  .form__input {
    width: 100%;
  }
}
.form__input.full {
  width: 100%;
}
.form__input label {
  font: 400 1.2rem "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 1.2rem;
  display: block;
}
.form__input input {
  border: 1px solid #fff;
  border-radius: 0.8rem;
  padding: 1.5rem 2rem;
  width: 100%;
}
.form__input input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.form__input textarea {
  border: 1px solid #fff;
  border-radius: 0.8rem;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 11.2rem;
  outline: none;
  resize: none;
}
.form__input textarea::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.form .btn {
  width: 100%;
  background: #fff;
  color: #231f20;
	margin-top: auto;
}
.form__input-agree input {
  display: none;
}
.form__input-agree input:checked ~ label::after {
  opacity: 1;
  visibility: visible;
}
.form__input-agree label {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font: 400 1.2rem "Montserrat", sans-serif;
  color: #fff;
  position: relative;
}
.form__input-agree label a {
  display: inline;
  font: 400 1.2rem "Montserrat", sans-serif;
  text-decoration: underline;
  color: #fff;
  text-decoration-skip-ink: none;
}
.form__input-agree label::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 0.4rem;
  width: 2.2rem;
  height: 2.2rem;
  min-width: 2.2rem;
  min-height: 2.2rem;
}
.form__input-agree label::after {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='512' height='512' viewBox='0 0 511.985 511.985'%3E%3Cpath d='M500.088 83.681c-15.841-15.862-41.564-15.852-57.426 0L184.205 342.148 69.332 227.276c-15.862-15.862-41.574-15.862-57.436 0-15.862 15.862-15.862 41.574 0 57.436l143.585 143.585c7.926 7.926 18.319 11.899 28.713 11.899 10.394 0 20.797-3.963 28.723-11.899l287.171-287.181c15.862-15.851 15.862-41.574 0-57.435z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-size: cover;
  width: 2rem;
  height: 2rem;
  top: 0.1rem;
  left: 0.1rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.form__info {
  display: flex;
  flex-direction: column;
  gap: 4.3rem;
}
@media (max-width: 1050px) {
  .form__info {
    gap: 2.4rem;
  }
}
.form__info-item {
  padding-bottom: 4.3rem;
  border-bottom: 1px solid rgba(46, 154, 101, 0.22);
}
.form__info-item:last-child{
	padding-bottom: 0;
	border-bottom: 0;
}
@media (max-width: 1050px) {
  .form__info-item {
    padding-bottom: 2.4rem;
  }
}
.form__info-item p {
  font: 400 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1050px) {
  .form__info-item p {
    font-size: 1.6rem;
  }
}
.form__info-item-title {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
@media (max-width: 1050px) {
  .form__info-item-title {
    margin-bottom: 1rem;
  }
}

.hero-banner {
  margin-bottom: 8.1rem;
}
@media (max-width: 1024px) {
  .hero-banner {
    margin-bottom: 6rem;
  }
}
.hero-banner .container {
  position: relative;
}
.hero-banner .container img {
  width: 100%;
  height: 45.6rem;
  border-radius: 1rem;
	object-fit: cover;
}
@media (max-width: 1024px) {
  .hero-banner .container img {
    height: 50rem;
    object-fit: cover;
  }
}
.hero-banner__info {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: #fff;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  height: 43.3rem;
  width: 65.7rem;
  border-radius: 1rem;
}
@media (max-width: 1024px) {
  .hero-banner__info {
    width: calc(100% - 6.4rem);
    left: 3.2rem;
    padding: 3rem 1.6rem;
    top: auto;
    bottom: 1.6rem;
    height: auto;
    backdrop-filter: blur(32.2000007629px);
    background: rgba(247, 247, 247, 0.3);
  }
}
.hero-banner__info p {
  font: 300 2rem "Montserrat", sans-serif;
  color: #444e4c;
	margin-top: auto;
}
@media (max-width: 1024px) {
  .hero-banner__info p {
    font-size: 1.4rem;
  }
}
.hero-banner__info .btn {
  margin-top: auto;
}
@media (max-width: 1024px) {
  .hero-banner__info .btn {
    margin-top: 2rem;
  }
}
.hero-banner__title {
  font: 500 4.4rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 0rem;
}
@media (max-width: 1024px) {
  .hero-banner__title {
    font-size: 2.4rem !important;
    margin-bottom: 2rem;
  }
}

.description {
  margin-bottom: 14.8rem;
}
@media (max-width: 1024px) {
  .description {
    margin-bottom: 6rem;
  }
}
.description .container {
  padding: 4.6rem 9.7rem 4.6rem 10.9rem;
  border-radius: 1rem;
  background: #2E9A65;
}
@media (max-width: 1024px) {
  .description .container {
    padding: 4rem 1.6rem;
    margin: 0 1.6rem;
  }
}
.description__title {
  font: 600 2.4rem "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 2.4rem;
}
@media (max-width: 1024px) {
  .description__title {
    font-size: 2rem;
  }
}
.description p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #fff;
}

.type-services .realize__title {
  margin-bottom: 5.6rem;
}
@media (max-width: 1024px) {
  .type-services .realize__title {
    margin-bottom: 4rem;
  }
}
.type-services__info {
  position: absolute;
  z-index: 1;
  left: 2.5rem;
  bottom: 3rem;
  width: calc(100% - 5rem);
}
.type-services__info-title {
  font: 700 2.4rem "Montserrat", sans-serif;
  color: #474342;
  margin-bottom: 4.3rem;
}
.type-services .realize__vertical p {
  position: static;
}
.type-services .realize__vertical .type-services__info-title {
  color: #fff;
}
.type-services .img-item .type-services__info-title {
  color: #fff;
}
.type-services .realize__item.full p {
  max-width: 33.6rem;
}
.type-services .realize__item.full img {
  width: 39.2rem;
  height: 26.1rem;
  top: 4.8rem;
}
.type-services .realize__item.full .type-services__info-title {
  margin-bottom: 7rem;
}
.type-services .realize__wrapper {
  margin-bottom: 5.6rem;
}
.type-services .btn {
  margin: 0 auto;
  display: block;
  background: #2e9a65;
}

.advantages {
  margin-bottom: 12rem;
}
@media (max-width: 1024px) {
  .advantages {
    margin-bottom: 6rem;
  }
}
.advantages__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 9.5rem;
}
@media (max-width: 1024px) {
  .advantages__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.advantages__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.5rem 2rem;
}
@media (max-width: 1024px) {
  .advantages__wrapper {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
}
.advantages__item span {
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #fff;
  padding: 0.65rem;
  width: 9.9rem;
  text-align: center;
  background: #2e9a65;
  border-radius: 1rem;
  display: block;
  margin-bottom: 2rem;
}
.advantages__item p {
  font: 700 1.8rem "Montserrat", sans-serif;
  color: #444e4c;
}

.primers {
  overflow: hidden;
  margin-bottom: 16rem;
}
@media (max-width: 1024px) {
  .primers {
    margin-bottom: 6rem;
  }
}
.primers__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 3.7rem;
}
@media (max-width: 1024px) {
  .primers__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.primers .swiper-wrapper {
  margin-bottom: 6.5rem;
}
@media (max-width: 1024px) {
  .primers .swiper-wrapper {
    margin-bottom: 3rem;
  }
}
@media (max-width: 1024px) {
  .primers .swiper-wrapper .swiper-slide {
    width: 30rem;
  }
}

.swiper-pagination-bullet {
  border-radius: 0.8rem;
  width: 1.2rem;
  height: 0.6rem;
  background: rgba(217, 217, 217, 0.5);
  opacity: 1;
  transition: all 0.3s;
}

.swiper-pagination-bullet-active {
  width: 4rem;
  background: #2e9a65;
}

.swiper-pagination {
  position: static;
}

.history {
  margin-bottom: 11.7rem;
}
@media (max-width: 1024px) {
  .history {
    margin-bottom: 6rem;
  }
}
.history .container {
  display: flex;
  gap: 2.4rem;
}
@media (max-width: 1024px) {
  .history .container {
    flex-direction: column-reverse;
  }
}
.history__img {
  width: 59rem;
  min-width: 59rem;
}
@media (max-width: 1024px) {
  .history__img {
    width: 100%;
    min-width: 100%;
  }
}
.history__img img {
  border-radius: 1rem;
  width: 100%;
  height: 51.2rem;
}
@media (max-width: 1024px) {
  .history__img img {
    height: auto;
  }
}
.history__info {
  max-width: 48.4rem;
}
@media (max-width: 1024px) {
  .history__info {
    max-width: 100%;
  }
}
.history__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 2.4rem;
}
@media (max-width: 1024px) {
  .history__title {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
.history__descr {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #474342;
  margin-bottom: 4rem;
}
.history__descr p {
  margin-bottom: 2rem;
}
.history__descr b {
  font-weight: 700;
}

.licenses {
  margin-bottom: 8.6rem;
}
@media (max-width: 1024px) {
  .licenses {
    margin-bottom: 6rem;
  }
}
.licenses__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 5.5rem;
}
@media (max-width: 1024px) {
  .licenses__title {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
.licenses__slider .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 1024px) {
  .licenses__slider .swiper-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
.licenses__item {
  background: #f7f7f7;
  border-radius: 1rem;
  padding: 3.2rem 2rem;
  height: 29.8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 1024px) {
  .licenses__item {
    height: 25rem;
  }
}
.licenses__item p {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 4rem;
  margin-top: auto;
}
.licenses__item-title {
  font: 700 2rem "Montserrat", sans-serif;
  color: #444e4c;
}
.licenses__item-descr {
  font: 400 1.6rem "Montserrat", sans-serif;
  color: #444e4c;
}
.licenses .number {
  font: 300 1.2rem "Geist", sans-serif;
  color: #fff;
  padding: 0.6rem 1.85rem;
  background: #2e9a65;
  display: inline-block;
  border-radius: 1rem;
}

.why-choose {
  margin-bottom: 14rem;
}
@media (max-width: 1024px) {
  .why-choose {
    margin-bottom: 6rem;
  }
}
.why-choose__title {
  font: 500 3.2rem "Montserrat", sans-serif;
  color: #444e4c;
  margin-bottom: 8rem;
}
@media (max-width: 1024px) {
  .why-choose__title {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }
}
.why-choose__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11rem 8rem;
}
@media (max-width: 1024px) {
  .why-choose__wrapper {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
}
.why-choose__item {
  display: flex;
  gap: 1rem;
}
.why-choose__item img {
  width: 9.7rem;
  height: 8.7rem;
}
.why-choose__item-title {
  font: 700 1.8rem "Montserrat", sans-serif;
  color: #444e4c;
}
.why-choose__item-inf {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.projects-banner .hero-banner__info {
  backdrop-filter: blur(32.2000007629px);
  background: rgba(247, 247, 247, 0.3);
  display: flex;
  flex-direction: column;
}
.projects-banner .hero-banner__title {
  font: 500 4rem "Montserrat", sans-serif;
  color: #fff;
  margin-top: auto;
}

.project-banner {
  margin-bottom: 3.6rem;
}
@media (max-width: 962px) {
  .project-banner .hero-banner__title {
    color: #fff;
  }
}

.project-banner .hero-banner__info{
	padding-bottom: 6rem;
}

.project-banner .hero-banner__info{
	backdrop-filter: blur(32.20000076293945px);
	background: rgba(247, 247, 247, 0.3);
}

.project-banner .hero-banner__title{
	color: #fff;
	margin-top: auto;
}

.projects-desciption {
  margin-bottom: 8.4rem;
}
@media (max-width: 962px) {
  .projects-desciption {
    margin-bottom: 6rem;
  }
	.project-banner .hero-banner__info{
	padding-bottom: 3rem;
}
}
.projects-desciption p {
  margin-bottom: 2rem;
  font: 400 2rem "Montserrat", sans-serif;
  color: #444e4c;
}



@media (max-width: 962px) {
  .projects-desciption p {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
	.projects-desciption .task{
	 font-size: 1.6rem;
}
	.projects-desciption .result{
	 font-size: 1.6rem;
}
}
.projects-desciption__labels {
  display: flex;
  gap: 1.2rem;
}
@media (max-width: 962px) {
  .projects-desciption__labels {
    flex-wrap: wrap;
  }
}
.projects-desciption__labels span {
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #fff;
  padding: 0.95rem 2rem;
  background: #2e9a65;
  border-radius: 1rem;
  font: 300 1.2rem "Montserrat", sans-serif;
  color: #fff;
}

.gallery {
  margin-bottom: 7rem;
}
@media (max-width: 962px) {
  .gallery {
    margin-bottom: 6rem;
  }
}
.gallery__wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 2rem;
}
.gallery__item{
	height: 34.4rem;
}
.gallery__item img {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
	object-fit: cover;
}
.gallery__item:nth-child(1) {
  grid-row: span 2/span 2;
	height: 100%;
}
.gallery__item:nth-child(4) {
  grid-column: span 2/span 2;
  grid-column-start: 2;
}
.gallery__item:nth-child(5) {
  grid-column: span 2/span 2;
  grid-row-start: 3;
}
.gallery__item:nth-child(6) {
  grid-column-start: 3;
  grid-row-start: 3;
}

.video {
  margin-bottom: 12rem;
}
@media (max-width: 962px) {
  .video {
    margin-bottom: 6rem;
  }
	.gallery__item{
		height: 9.5rem;
	}
}
.video__wrapper {
  width: 100%;
  height: 70.1rem;
  position: relative;
}
@media (max-width: 962px) {
  .video__wrapper {
    height: 25rem;
  }
	.gallery__wrapper{
		gap: 1rem;
	}
}
.video__wrapper img, .video__wrapper video {
  width: 100%;
  height: 100%;
  border-radius: 1rem;
}
.video .play {
  width: 8.8rem;
  height: 8.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #2E9A65;
  border-radius: 50%;
  cursor: pointer;
}
@media (max-width: 962px) {
  .video .play {
    width: 6rem;
    height: 6rem;
  }
}
.video .play svg {
  width: 2.7rem;
  height: 3.5rem;
  margin-left: 1rem;
}
@media (max-width: 962px) {
  .video .play svg {
    width: 2rem;
    height: 2.7rem;
    margin-left: 0.5rem;
  }
}

.projects-desciption p:nth-child(3){
	margin-bottom: 0rem;
}

.projects-desciption__labels{
	margin-top: 4.7rem;
}

.main-services__wrapper a{
	position: relative;
}

.main-services__wrapper a::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	z-index: 1;
	border-radius: 1rem;
}

.main-services__item-title{
	position: relative;
	z-index: 3;
}

.main-services__item svg{
	z-index: 3;
}

.modal {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
	z-index: 7777;
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal .modal-content {
  width: 59rem;
  position: relative;
}
.modal .modal-content .close {
  position: absolute;
  right: 5rem;
  top: 4rem;
  cursor: pointer;
}
@media (max-width: 962px) {
	.modal .modal-content{
		width: 95%;
	}
	.modal .modal-content .close{
		right: 3rem;
	}
}

.project-banner .time{
	padding: 0.95rem 2rem;
    background: #2e9a65;
    border-radius: 1rem;
    font: 300 1.5rem "Montserrat", sans-serif;
    color: #fff;
	position: absolute;
	top: 3rem;
	right: 3rem;
}

.realize__quantity-item-num span span{
	font-size: 1.6rem;
}

.faq__item{
	background: #F7F7F7;
	border-radius: 1rem;
}
.faq{
	margin-bottom: 11rem;
}
.faq .container{
	display: flex;
	flex-direction: column;
	gap: 1.9rem;
}
.faq__item-top{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.9rem;
	border-radius: 1rem;
	cursor: pointer;
}

.faq__item.active .arrow{
	transform: rotate(180deg);
}

.faq__item-top .arrow{
	transition: all 0.3s
}

.faq__item span{
	font-size: 2.4rem;
}

.faq__item-content{
	overflow: hidden;
	max-height: 0;
	padding: 0 1.9rem;
	transition: all 0.3s;
}

.faq__item-content p{
	font-size: 1.6rem;
	margin-top: 1.9rem;
	margin-bottom: 3rem;
	max-width: 70%;
}

.faq__title{
	font: 500 3.2rem "Montserrat", sans-serif;
    color: #444e4c;
    margin-bottom: 9.5rem;
	margin-bottom: 2.1rem;
}

@media (max-width: 1050px){
	.faq{
		margin-bottom: 6rem;
	}
	.faq__item-content p{
		max-width: 100%;
	}
	.faq__title{
		font-size: 2.4rem;
		max-width: 80%;
	}
	.faq__item span{
		font-size: 1.9rem;
		max-width: 85%;
	}
}
.forminator-row{
	width: 100%;
}
.forminator-col{
	padding: 0;
}
.forminator-custom-form{
	padding: 0 !important;
	background: transparent !important;
}
.forminator-row{
	margin: 0 !important;
}
.forminator-row:nth-child(3){
	gap: 1.7rem;
}
.forminator-module-edit-link{
	display: none !important
}
.forminator-label{
	font: 400 1.2rem "Montserrat", sans-serif !important;
    color: #fff !important;
    margin-bottom: 1.2rem !important;
    display: block;
}
.forminator-input {
    border: 1px solid #fff !important;
    border-radius: 0.8rem !important;
    padding: 1.5rem 2rem !important;
	font: 400 1.6rem "Montserrat", sans-serif !important;
    width: 100%;
	background: transparent !important;
	color: #fff !important;
}
.forminator-input::placeholder{
	color: rgba(255, 255, 255, 0.3) !important;
}
.forminator-textarea::placeholder{
	color: rgba(255, 255, 255, 0.3) !important;
}
.forminator-textarea {
    border: 1px solid #fff !important;
    border-radius: 0.8rem !important;
    padding: 1.5rem 2rem !important;
    width: 100%;
	font: 400 1.6rem "Montserrat", sans-serif !important;
    height: 11.2rem !important;
    outline: none;
    resize: none;
	background: transparent !important;
	color: #fff !important;
}
.forminator-checkbox__wrapper{
	gap: 2rem;
}
.forminator-consent__label{
	margin: 0 !important;
}
.forminator-button-submit {
    width: 100% !important;
    background: #fff !important;
    color: #231f20 !important;
    margin-top: auto !important;
	padding: 2.4rem 4rem !important;
    border-radius: 4.6rem !important;
	text-align: center !important;
	font: 400 1.6rem "Montserrat", sans-serif !important;
	transition: all 0.3s !important;
    border: 0.1rem solid transparent !important;
}

.forminator-checkbox__label{
	font: 400 1.2rem "Montserrat", sans-serif;
    color: #fff !important;
}

.forminator-checkbox__label p{
	font: 400 1.2rem "Montserrat", sans-serif !important;
	color: #fff !important;
}


.forminator-checkbox__label a{
	font: 400 1.2rem "Montserrat", sans-serif !important;
	display: inline;
	color: #fff !important;
	text-decoration: underline;
    text-decoration-skip-ink: none;
}

.description--white .container{
	background: #F7F7F7;	
}

.description--white .description__title{
	color: #000;
}

.description--white p{
	color: #000;
}

.policy{
	padding: 0rem 0 11rem;
}

.policy h1{
	font: 500 3.2rem "Montserrat", sans-serif;
    color: #444e4c;
    margin-bottom: 7rem;
}

.policy p{
	font-size: 2rem;
	margin-bottom: 3rem;
}

.policy__content{
	max-width: 140rem;
}

.policy__content ul{
	margin-bottom: 3rem;
}

.policy__content li{
	list-style-type: disc;
	margin-left: 3rem;
}

.policy__content a{
	display: inline;
	color: #314671;
}

@media (max-width: 1050px){
	.policy h1{
	font-size: 3rem;
	margin-bottom: 4rem;
}

.policy p{
	font-size: 1.6rem;
	margin-bottom: 1.6rem;
}
	.policy{
padding: 4rem 0;}
	
	.policy li{
		font-size: 1.6rem;
	}
}
