@font-face {
  font-family: 'Gilroy';
  src: url("fonts/Gilroy-Regular.eot");
  src: local("Gilroy Regular"), local("Gilroy-Regular"), url("fonts/Gilroy-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/Gilroy-Regular.woff2") format("woff2"), url("fonts/Gilroy-Regular.woff") format("woff"), url("fonts/Gilroy-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Gilroy';
  src: url("fonts/Gilroy-Medium.eot");
  src: local("Gilroy Medium"), local("Gilroy-Medium"), url("fonts/Gilroy-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/Gilroy-Medium.woff2") format("woff2"), url("fonts/Gilroy-Medium.woff") format("woff"), url("fonts/Gilroy-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal; }
@font-face {
  font-family: 'Gilroy';
  src: url("fonts/Gilroy-Bold.eot");
  src: local("Gilroy Bold"), local("Gilroy-Bold"), url("fonts/Gilroy-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/Gilroy-Bold.woff2") format("woff2"), url("fonts/Gilroy-Bold.woff") format("woff"), url("fonts/Gilroy-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }
:root {
  font-size: 30px; }

ul, li {
  margin: 0;
  padding: 0;
  display: block; }

a {
  transition: .3s all;
  outline: none;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

button {
  transition: .6s all;
  border: none;
  outline: none;
  background: none;
  padding: 0; }

h1, h2, h3, h4, h5, p {
  margin: 0; }

input {
  outline: none; }
  input.error {
    color: red !important;
    border-color: red !important; }

html {
  scroll-behavior: smooth; }

::-webkit-scrollbar {
  width: .5rem;
  height: 0.5rem; }

::-webkit-scrollbar-track {
  background: #ddd; }

::-webkit-scrollbar-thumb {
  background: #B7317A;
  border: 1px solid #ddd; }

body {
  font-family: 'Gilroy', sans-serif;
  color: #1B4942; }

.lazy {
  opacity: 0; }

.container {
  padding: 0 6.5rem; }

.section-title {
  font-size: 5rem;
  font-weight: 400; }
  .section-title strong {
    font-weight: 400;
    color: #B7317A; }

.section-text {
    font-size:1.2rem;
  line-height: 1.3; }
  .section-text p {
    margin-bottom: 1.1rem; }
    .section-text p:last-child {
      margin-bottom: 0; }

.arrows {
  display: flex;
  gap: 1.5rem; }
  .arrows span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    border-radius: 50%;
    background: #fff;
    width: 3.6rem;
    height: 3.6rem; }
    .arrows span img {
      width: 1.1rem; }
    .arrows span:hover {
      box-shadow: 0px 0.5rem 0.75rem 0px rgba(0, 0, 0, 0.3); }

.mobile-menu {
  display: none; }

.fixed-btns {
  position: fixed;
  bottom: 10rem;
  right: 1.5rem;
  display: flex;
  flex-direction: column;
  z-index: 6; }
  .fixed-btns a {
    width: 3.3rem;
    height: 3.3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none;
    background: #F36DB6;
    border: 1px solid #F36DB6;
    margin-bottom: 1rem;
    border-radius: 50%;
    animation: pulse-pink 2s infinite; }
    .fixed-btns a img {
      width: 1.2rem; }
    .fixed-btns a:last-child {
      margin-bottom: 0; }
    .fixed-btns a:hover {
      background: #B7317A; }

@keyframes pulse-pink {
  0% {
    box-shadow: 0 0 0 0 rgba(243, 109, 182, 0.6); }
  70% {
    box-shadow: 0 0 0 1rem rgba(255, 121, 63, 0); }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 121, 63, 0); } }
@keyframes pulseWave {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }
@keyframes shadowAnimation {
  0% {
    filter: drop-shadow(0 0 2px #b7317a); }
  20% {
    filter: drop-shadow(0 0 20px #b7317a); }
  40% {
    filter: drop-shadow(0 0 2px #b7317a); }
  60% {
    filter: drop-shadow(0 0 40px #b7317a); }
  80% {
    filter: drop-shadow(0 0 2px #b7317a); }
  100% {
    filter: drop-shadow(0 0 60px #b7317a); } }
@keyframes shadowAnimationWhite {
  0% {
    filter: drop-shadow(0 0 2px white); }
  20% {
    filter: drop-shadow(0 0 20px white); }
  40% {
    filter: drop-shadow(0 0 2px white); }
  60% {
    filter: drop-shadow(0 0 40px white); }
  80% {
    filter: drop-shadow(0 0 2px white); }
  100% {
    filter: drop-shadow(0 0 60px white); } }
.feedback {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 7;
  background: rgba(0, 0, 0, 0.7);
  display: none; }
  .feedback-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 2.1rem;
    border-bottom: 0.65rem solid #B7317A;
    background: #fff;
    width: 24rem; }
  .feedback__close {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -3.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: .6s all;
    cursor: pointer;
    user-select: none; }
    .feedback__close img {
      width: 1rem; }
    .feedback__close:hover {
      opacity: .7; }
  .feedback__title {
    font-weight: 600;
    margin-bottom: 1rem;
    font-size: 2rem;
    text-align: center;
    color: #B7317A;
    font-weight: 500; }
  .feedback__text {
    font-size: 0.85rem;
    line-height: 150%;
    text-align: center; }
  .feedback-form {
    margin: 2rem 0 0.8rem;
    font-size: 0.9rem; }
    .feedback-form input {
      width: 100%;
      height: 3.5rem;
      border: 1px solid rgba(17, 17, 17, 0.1);
      margin-bottom: 0.8rem;
      text-align: center;
      color: #B7317A;
      outline: none; }
      .feedback-form input::placeholder {
        color: rgba(183, 49, 122, 0.5); }
      .feedback-form input.error {
        color: red !important;
        border-color: red !important; }
    .feedback-form .btn {
      width: 100%;
      height: 3.5rem;
      margin-top: .4rem;
      background: #B7317A;
      color: #fff;
      border: 1px solid #B7317A; }
      .feedback-form .btn:hover {
        background: #fff;
        color: #B7317A; }
  .feedback__agree {
    font-size: 0.7rem;
    text-align: center;
    max-width: 13rem;
    margin: 0 auto; }
  .feedback-done {
    display: none; }
    .feedback-done .feedback__text {
      margin-bottom: 1rem;
      padding: 0 1rem; }
  .feedback__img {
    margin: 4.3rem 0 3.2rem;
    text-align: center; }
    .feedback__img img {
      display: inline-block;
      width: 10rem; }

.header {
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.75rem 22rem .75rem 0;
  transition: .6s all;
  width: 100%;
  z-index: 5; }
  .header-mobile {
    display: none; }
  .header .container {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .header__logo {
    display: block;
    height: 6.8rem;
    transition: .6s all; }
    .header__logo img {
      height: 100%;
      display: block; }
  .header-menu {
    display: flex;
    gap: 4rem;
    padding-bottom: 1.3rem;
    font-size: 1.1rem;
    font-weight: 500;
    transition: .6s all; }
    .header-menu a {
      color: #1B4942;
      border-bottom: 1px solid transparent; }
      .header-menu a:hover {
        border-color: #1B4942; }
  .header-lang a::after {
    content: ' | ';
    color: #B7317A; }
  .header-lang a:last-child::after {
    content: none; }
  .header-lang .current {
    color: #B7317A;
    pointer-events: none; }

.main {
  position: relative;
  overflow: hidden;
  margin-bottom: 5rem; }
  .main::after {
    width: 100%;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    height: 100%;
    background: url(../img/wave-main.png) center center no-repeat;
    background-size: 100% 100%;
    content: '';
    animation: pulseWave 2s infinite;
    z-index: -1; }
  .main .container {
    padding-right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6.5rem; }
  .main__title {
    font-size: 6rem;
    font-weight: 500; }
    .main__title strong {
      font-weight: 500;
      color: #B7317A; }
  .main-content {
    font-size: 2rem;
    font-weight: 500;
    line-height: 3rem; }
    .main-content strong {
      font-size: 4rem;
      font-weight: 500;
      color: #B7317A; }
    .main-content p {
      margin-bottom: 2rem; }
      .main-content p:last-child {
        margin-bottom: 0; }
  .main-project {
    padding-bottom: 3rem; }
    .main-project .container {
      gap: 4rem; }
    .main-project .main__video {
      width: 45rem;
      height: 36rem;
      padding: 0 .3rem 1rem 1rem; }
      .main-project .main__video svg {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute; }
      .main-project .main__video video, .main-project .main__video img {
        border-radius: 0 0 0 2rem; }
      .main-project .main__video::after {
        background-image: url(../img/pattern/main-project.svg);
        content: none; }
    .main-project .main-content {
      padding-top: 10rem; }
  .main__video {
    width: 47.5rem;
    flex-shrink: 0;
    height: 46rem;
    padding: 4rem 0 4rem 4rem;
    position: relative; }
    .main__video::after {
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      position: absolute;
      content: '';
      background: url(/img/pattern/main.svg) center right no-repeat;
      background-size: cover; }
    .main__video video, .main__video img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      border-radius: 0 0 0 7.6rem; }

.about {
  color: #fff;
  position: relative;
  padding: 11vw 0 9vw; }
  .about::after {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: url(../img/pattern/about.svg) center center no-repeat;
    background-size: 100%;
    content: ''; }
  .about-projects::after {
    content: none; }
  .about-projects .section-text {
    max-width: 30rem; }
    .about-projects .section-text strong {
      font-weight: 500;
      font-size: 1.5rem; }
  .about-pattern {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 1; }
    .about-pattern svg {
      width: 100%;
      height: 100%; }
    .about-pattern .desk {
      display: block; }
    .about-pattern .mobi {
      display: none; }
  .about__logo {
    height: 4.5rem;
    margin-bottom: 2.7rem; }
    .about__logo img {
      display: block;
      height: 100%; }
  .about .container {
    padding-right: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6.5rem; }
  .about-content {
    position: relative;
    z-index: 2;
    padding-top: 1.7rem; }
  .about .section-title {
    margin-bottom: 3.6rem; }
  .about__video {
    width: 53vw;
    flex-shrink: 0;
    overflow: hidden;
    height: 33vw; }
    .about__video video, .about__video img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }

.numbers {
  padding: 15rem 0 15rem;
  margin-top: -10rem;
  margin-bottom: -10rem;
  background: url(../img/wave-reversed.png) center center no-repeat;
  background-size: cover; }
  .numbers-list {
    display: flex;
    justify-content: space-around;
    font-size: 1.5rem; }
  .numbers .section-title {
    margin-bottom: 3rem; }

.info-item {
  position: relative;
  color: #fff;
  padding: 6vw 0 8vw;
  margin-bottom: -9.5vw; }
  .info-item:last-child {
    margin-bottom: 0; }
  .info-item::after {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    background: url(../img/pattern/info.svg) center center no-repeat;
    background-size: 100%;
    content: ''; }
  .info-item .container {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .info-item__title {
    font-size: 4rem;
    font-weight: 400;
    margin-bottom: 1rem; }
  .info-item__wrap {
    width: 45%;
    position: relative;
    z-index: 1; }
  .info-item__img {
    width: 42vw;
    height: 26vw;
    flex-shrink: 0;
    border-radius: 7vw;
    overflow: hidden; }
    .info-item__img img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .info-item:nth-child(2n) .container {
    flex-direction: row-reverse; }
  .info-item:nth-child(2n)::after {
    background-image: url(../img/pattern/info-reversed.svg); }

.advantages {
  padding: 9rem 0 3.5rem;
  margin-top: -4rem;
  background: url(../img/wave.png) center top no-repeat;
  background-size: 100%; }
  .advantages .section-title {
    text-align: center;
    margin-bottom: 5rem; }
  .advantages-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5rem 7rem; }
  .advantages-item {
    width: calc(50% - 3.5rem);
    display: flex;
    align-items: flex-start;
    gap: 1.5rem; }
    .advantages-item__ico {
      width: 7.5rem;
      flex-shrink: 0; }
      .advantages-item__ico img {
        width: 100%;
        display: block; }
    .advantages-item__title {
      margin-bottom: 1rem;
      font-weight: 500;
      font-size: 1.75rem; }
    .advantages-item__text {
      font-size: 1.25rem;
      line-height: 1.36; }

.reviews {
  padding: 6rem 0 7rem;
  background: url(../img/pattern/to-left.svg) no-repeat;
  background-size: 100% 100%;
  color: #fff; }
  .reviews .section-title {
    text-align: center;
    margin-bottom: 3rem; }
  .reviews .owl-stage {
    display: flex; }
  .reviews .owl-stage-outer {
    padding: 0 1.2rem 2rem;
    margin: 0 -1.2rem; }
  .reviews-item {
    padding-top: 1.8rem;
    position: relative;
    height: 100%;
    color: #1B4942; }
    .reviews-item__quote {
      position: absolute;
      right: 2rem;
      top: 0;
      width: 3.6rem;
      height: 3.6rem;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0px 0.5rem 0.75rem 0px rgba(162, 24, 120, 0.1);
      padding: 1rem;
      display: inline-flex;
      justify-content: center;
      align-items: center; }
    .reviews-item__card {
      border-radius: 2.5rem;
      padding: 1.5rem;
      background: #fff;
      box-shadow: 0px 0.5rem 0.75rem 0px rgba(162, 24, 120, 0.1);
      height: 100%;
      box-shadow: 0px 1rem 1.5rem 0px rgba(0, 0, 0, 0.15); }
    .reviews-item__head {
      display: flex;
      align-items: center;
      gap: .75rem;
      margin-bottom: 2.5rem; }
    .reviews-item__photo {
      width: 4.2rem;
      height: 4.2rem;
      flex-shrink: 0; }
      .reviews-item__photo img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        border-radius: 50%; }
    .reviews-item__name {
      font-size: 1.25rem;
      font-weight: 500;
      margin-bottom: 0.5rem; }
    .reviews-item__pos {
      font-size: 0.8rem;
      color: #959595; }

.partners {
  padding: 7.5rem 0 5rem;
  margin-top: -4rem;
  background: url(../img/wave-reversed.png) top center no-repeat;
  background-size: 100%; }
  .partners .section-title {
    text-align: center;
    margin-bottom: 5rem; }
  .partners-list {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    width: 67rem;
    margin: 0 auto; }
  .partners-item {
    width: 12.5rem;
    height: 6.5rem;
    border-radius: 10rem;
    box-shadow: 0px 0.5rem 0.75rem 0px rgba(162, 24, 120, 0.1);
    background: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center; }
    .partners-item img {
      width: 80%;
      height: 85%;
      object-fit: contain;
      display: block; }
    .partners-item:nth-child(9n + 1) {
      margin-left: 2rem; }
    .partners-item:nth-child(9n + 4) {
      margin-right: 2rem; }

.team {
  padding: 6rem 0 7rem;
  background: url(../img/pattern/to-right.svg) no-repeat;
  background-size: 100% 100%;
  color: #fff; }
  .team .section-title {
    text-align: center;
    margin-bottom: 3rem; }
  .team-slider {
    margin-bottom: 1rem; }
  .team .owl-item:nth-child(2n - 1) .team-item {
    padding-top: 2.5rem; }
  .team-item {
    text-align: center; }
    .team-item__img {
      height: 25.5rem;
      margin-bottom: 1.5rem; }
      .team-item__img img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        border-radius: 10rem; }
    .team-item__name {
      font-size: 1.5rem;
      font-weight: 500;
      margin-bottom: 0.5rem; }
    .team-item__pos {
      font-size: 0.9rem; }
  .team-arrows {
    justify-content: flex-end; }

.map {
  padding: 13rem 0 5rem;
  margin-top: -8rem;
  position: relative;
  background: url(../img/map.png) bottom right no-repeat;
  background-size: 60vw; }
  .map::after {
    width: 100%;
    height: 50vw;
    background: url(../img/wave-reversed.png) bottom left no-repeat;
    background-size: 100%;
    content: '';
    position: absolute;
    left: 0;
    top: -25vw;
    z-index: -1; }
  .map .section-title {
    margin-bottom: 3rem; }
  .map-main {
    width: 55rem;
    margin: 0 auto;
    position: relative; }
    .map-main svg {
      width: 100%;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      height: 100%; }
      .map-main svg circle {
        animation: shadowAnimation 2s infinite; }
      .map-main svg circle.white {
        animation: shadowAnimationWhite 2s infinite; }
    .map-main img {
      width: 100%;
      display: block;
      filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.2)); }

.stats {
  position: relative;
  color: #fff;
  padding: 10rem 0;
  z-index: 1; }
  .stats-pattern {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: -1; }
    .stats-pattern svg {
      width: 100%;
      height: 100%; }
    .stats-pattern .desk {
      display: block; }
    .stats-pattern .mobi {
      display: none; }
  .stats .section-title {
      text-align: center;
    margin-bottom: 4rem; }
  .stats-list {
    display: flex;
    justify-content: space-evenly; }
  .stats-item {
    text-align: center; }
    .stats-item__ico {
      width: 7.5rem;
      height: 7.5rem;
      margin: 0 auto .3rem; }
      .stats-item__ico img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: contain; }
    .stats-item__title {
      font-size: 2.5rem;
      font-weight: 500;
      margin-bottom: 0.5rem; }
    .stats-item__text {
      font-size: 1.2rem; }

.footer {
  position: relative;
  height: 39rem;
  padding: 6.5rem 0 1rem; }
  .footer-pattern {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 1;
    pointer-events: none; }
    .footer-pattern svg {
      width: 100%;
      height: 100%; }
    .footer-pattern .desk {
      display: block; }
    .footer-pattern .mobi {
      display: none; }
  .footer .container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-right: 0;
    height: 100%; }
  .footer-wrap {
    width: 39%;
    color: #fff;
    position: relative;
    z-index: 1; }
  .footer__logo {
    width: 12.3rem;
    margin-bottom: 2rem; }
    .footer__logo img {
      width: 100%;
      display: block; }
  .footer-content {
    font-size: 0.9rem;
    line-height: 133.5%; }
    .footer-content p {
      margin-bottom: 1.1rem; }
    .footer-content strong {
      font-weight: 600;
      font-size: 1.1rem;
      margin-right: 0.4rem; }
    .footer-content a {
      color: #fff;
      border-bottom: 1px solid transparent; }
      .footer-content a:hover {
        border-color: #fff; }
  .footer-social {
    display: flex;
    margin-bottom: 6rem;
    gap: 1rem; }
    .footer-social li {
      display: flex; }
    .footer-social a {
      display: flex;
      color: #B7317A;
      width: 2.8rem;
      height: 2.8rem; }
      .footer-social a svg {
        width: 100%;
        height: 100%; }
      .footer-social a:hover {
        opacity: .7; }
  .footer__map {
    width: 56%;
    overflow: hidden;
    height: 100%; }
    .footer__map #footerMap {
      width: 100%;
      height: 100%; }
  .footer-copy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem; }
    .footer-copy a {
      color: #fff;
      border-bottom: 1px solid transparent; }
      .footer-copy a:hover {
        border-color: #fff; }

@media (max-width: 2800.98px) {
  :root {
    font-size: 26px; } }
@media (max-width: 2600.98px) {
  :root {
    font-size: 24px; } }
@media (max-width: 2300.98px) {
  :root {
    font-size: 22px; } }
@media (max-width: 2100.98px) {
  :root {
    font-size: 20px; } }
@media (max-width: 1800.98px) {
  :root {
    font-size: 19px; }

  .section-title {
    font-size: 4.5rem; }

  .container {
    padding: 0 6rem; }

  .main .container {
    gap: 5.5rem; }
  .main__title {
    font-size: 5.5rem; } }
@media (max-width: 1700.98px) {
  :root {
    font-size: 18px; } }
@media (max-width: 1600.98px) {
  :root {
    font-size: 17px; }

  .container {
    padding: 0 5.5rem; }

  .info-item__img {
    width: 44vw;
    border-radius: 9vw; } }
@media (max-width: 1500.98px) {
  :root {
    font-size: 16px; } }
@media (max-width: 1400.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 1300.98px) {
  :root {
    font-size: 14px; }

  .container {
    padding: 0 5rem; } }
@media (max-width: 1200.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 1100.98px) {
  :root {
    font-size: 12px; }

  .container {
    padding: 0 4rem; }

  .info-item {
    padding-left: 1rem;
    padding-right: 1rem; } }
@media (max-width: 1000.98px) {
  :root {
    font-size: 11px; } }
@media (max-width: 900.98px) {
  :root {
    font-size: 10px; } }
@media (max-width: 767.98px), (max-width: 1080px) and (orientation: portrait) {
  :root {
    font-size: 17px; }

  .section-title {
    font-size: 3rem; }

  .mobile-menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 8;
    background: #fff; }
    .mobile-menu .container {
      padding-top: 1.5rem;
      padding-bottom: 4rem;
      height: 100dvh;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      width: 100%; }
    .mobile-menu__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      width: 100%; }
    .mobile-menu__close, .mobile-menu__tel {
      display: inline-flex;
      margin-top: 0.5rem; }
      .mobile-menu__close img, .mobile-menu__tel img {
        width: 1.5rem; }
    .mobile-menu__logo {
      height: 5rem;
      display: inline-block; }
      .mobile-menu__logo img {
        height: 100%;
        display: block; }
    .mobile-menu__list {
      font-size: 2rem;
      text-align: center; }
      .mobile-menu__list li {
        margin-bottom: 1.5rem; }
      .mobile-menu__list a {
        color: #B7317A;
        padding-bottom: 0.2rem; }
        .mobile-menu__list a.current {
          border-bottom: 1px solid #B7317A; }
    .mobile-menu__lang {
      font-size: 1.5rem; }
      .mobile-menu__lang a {
        color: #1B4942; }
        .mobile-menu__lang a.current {
          color: #B7317A; }
    .mobile-menu .footer-social a {
      border: 1px solid #B7317A;
      border-radius: 50%; }

  .header {
    padding: 0.5rem 0;
    position: fixed;
    background: #fff;
    box-shadow: 0px 0.5rem 0.75rem 0px rgba(162, 24, 120, 0.1); }
    .header__logo {
      height: 4.5rem; }
    .header-mobile {
      display: inline-flex;
      justify-content: center;
      align-items: center; }
    .header-menu {
      display: none; }

  .main {
    padding-top: 10rem; }
    .main::after {
      background-image: none; }
    .main .container {
      flex-direction: column;
      gap: 3rem;
      align-items: flex-start; }
    .main__title {
      font-size: 4rem;
      padding-right: 4rem; }
    .main__video {
      width: 90vw;
      height: 88vw;
      padding: 8vw 0 5vw 8vw;
      align-self: flex-end; }
      .main__video video, .main__video img {
        border-radius: 34vw 0 23vw 20vw; }
      .main__video::after {
        background-image: url(../img/pattern/main-mobi.svg);
        background-size: 100% 100%; }
    .main-project .main-content {
      padding-top: 0; }
    .main-project .main__video {
      width: 90vw;
      height: 72vw; }

  .about {
    padding-bottom: 4vw; }
    .about .container {
      flex-direction: column;
      gap: 0; }
    .about::after {
      background-image: url(../img/pattern/about-mobi.svg);
      background-size: 100% 100%; }
    .about-pattern .mobi {
      display: block; }
    .about-pattern .desk {
      display: none; }
    .about-content {
      padding-right: 4rem; }
    .about__video {
      margin-left: -4rem;
      height: 51vw;
      border-bottom-left-radius: 27vw;
      width: calc(100% + 4rem); }

  .numbers {
    padding: 10rem 0;
    margin-top: -5rem;
    margin-bottom: -5rem; }

  .info-item {
    padding: 7rem 0 2rem;
    margin-bottom: -1rem; }
    .info-item .container {
      flex-direction: column !important;
      gap: 2rem; }
    .info-item .section-text {
      height: 15rem; }
    .info-item::after {
      background-size: 100% 100%;
      background-image: url(../img/pattern/info-mobi.svg) !important; }
    .info-item__wrap {
      width: 100%; }
    .info-item__img {
      width: calc(100% + 6rem);
      margin-left: -3rem;
      height: 25rem;
      border-radius: 10rem; }

  .advantages-item {
    width: 100%; }

  .reviews {
    background-image: url(../img/pattern/to-left-mobi.svg);
    padding: 5rem 0; }

  .partners .section-title {
    margin-bottom: 4rem; }
  .partners-list {
    width: 40rem; }
  .partners-item:nth-child(9n + 1) {
    margin-left: 0; }
  .partners-item:nth-child(9n + 4) {
    margin-right: 0; }
  .partners-item:nth-child(5n + 1) {
    margin-left: 2rem; }
  .partners-item:nth-child(5n + 2) {
    margin-right: 2rem; }

  .team {
    padding: 5rem 0;
    background-image: url(../img/pattern/to-right-mobi.svg); }

  .map {
    padding: 11.5rem 0 4rem; }
    .map-main {
      width: 100%; }

  .stats-pattern .desk {
    display: none; }
  .stats-pattern .mobi {
    display: block; }

  .footer {
    padding-top: 5rem;
    height: auto; }
    .footer-pattern .desk {
      display: none; }
    .footer-pattern .mobi {
      display: block; }
    .footer .container {
      flex-direction: column; }
    .footer-wrap {
      width: 100%;
      border-radius: 2rem; }
    .footer-content {
      max-width: 30rem; }
    .footer__map {
      width: calc(100% + 3rem);
      margin-left: -3rem;
      height: 28rem;
      border-radius: 0; } }
@media (max-width: 767.98px) {
  :root {
    font-size: 16px; }

  .container {
    padding: 0 1rem; }

  .section-title {
    font-size: 2.2rem; }

  .feedback-content {
    transform: none;
    top: auto;
    left: 0;
    width: 100%;
    bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }

  .mobile-menu__logo {
    height: 4rem; }
  .mobile-menu__list {
    font-size: 1.5rem; }
    .mobile-menu__list li {
      margin-bottom: 1rem; }
  .mobile-menu__lang {
    font-size: 1.25rem; }

  .header__logo {
    height: 3.5rem; }

  .main {
    padding-top: 8rem; }
    .main__title {
      font-size: 3rem;
      padding-right: 1rem; }
    .main__video {
      width: 96vw;
      height: 94vw; }
    .main-project {
      padding-bottom: 0; }
      .main-project .main__video {
        width: 96vw;
        height: 75vw;
        padding: 0 2vw 2vw 2vw;
        margin-right: -2vw; }
    .main-content {
      font-size: 1.3rem;
      line-height: 2.5rem;
      padding-right: 1rem; }
      .main-content strong {
        font-size: 2.5rem; }

  .about {
    padding-bottom: 7vw; }
    .about .section-title {
      margin-bottom: 2.5rem; }
    .about__logo {
      height: 3rem;
      margin-bottom: 2rem; }
    .about-content {
      padding-right: 1rem; }
    .about__video {
      margin-left: -1rem;
      width: calc(100% + 1rem);
      height: 90vw;
      border-bottom-left-radius: 34vw; }

  .numbers {
    padding: 8rem 0; }
    .numbers-list {
      flex-wrap: wrap;
      gap: 2.5rem; }
    .numbers-item {
      width: 100%;
      text-align: center; }
    .numbers .section-title {
      margin-bottom: 1rem; }

  .info-item__title {
    font-size: 2rem; }
  .info-item__img {
    height: 19rem;
    border-radius: 8rem;
    margin-left: -1rem;
    width: calc(100% + 2rem); }

  .advantages {
    padding-top: 7rem;
    background-size: 150%; }
    .advantages .section-title {
      margin-bottom: 3rem; }
    .advantages-list {
      gap: 3rem; }
    .advantages-item {
      gap: 1rem; }
      .advantages-item__ico {
        width: 4rem;
        height: 4rem; }
      .advantages-item__title {
        font-size: 1.5rem; }
      .advantages-item__text {
        font-size: 1.1rem; }

  .reviews .section-title {
    margin-bottom: 2rem; }
  .reviews .owl-stage-outer {
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0 -1rem; }

  .partners {
    background-size: 150%; }
    .partners .section-title {
      margin-bottom: 3rem; }
    .partners-list {
      width: 100%;
      gap: .6rem;
      width: 22rem; }
    .partners-item {
      width: 6.5rem;
      height: 3.2rem; }

  .stats {
    padding: 8rem 0; }
    .stats .section-title {
      margin-bottom: 3rem; }
    .stats-list {
      justify-content: center;
      flex-wrap: wrap;
      gap: 1rem 0; }
    .stats-item {
      width: 50%; }
      .stats-item__ico {
        width: 5rem;
        height: 5rem; }
      .stats-item__title {
        font-size: 1.8rem; }
      .stats-item__text {
        font-size: 1rem; }

  .footer {
    position: relative; }
    .footer .container {
      padding: 1rem;
      align-items: flex-start; }
    .footer-social {
      margin-bottom: 3rem; }
    .footer__map {
      height: 25rem;
      margin-left: 0rem;
      width: calc(100% + 1rem); }
    .footer-wrap {
      position: static; }
    .footer-copy {
      position: absolute;
      bottom: 2rem;
      left: 1rem;
      width: calc(100% - 2rem); }
      .footer-copy span {
        display: none; } }
@media (max-width: 389.98px) {
  :root {
    font-size: 15px; } }
@media (max-width: 375.98px) {
  :root {
    font-size: 14px; } }
@media (max-width: 345.98px) {
  :root {
    font-size: 13px; } }
@media (max-width: 330.98px) {
  :root {
    font-size: 12px; } }
@media (max-width: 320.98px) {
  :root {
    font-size: 11px; } }
@media (max-width: 300.98px) {
  :root {
    font-size: 10px; } }
@media (max-width: 1000px) and (orientation: landscape) {
  :root {
    font-size: 8.5px; } }
@media (max-width: 700px) and (orientation: landscape) {
  :root {
    font-size: 8px; } }

/*# sourceMappingURL=main.css.map */
