/* Tab content styles */
.tab__content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
}
.tab__content.show {
  opacity: 1;
  visibility: visible;
  height: auto;
}

.contacts__hero .hero__title {
  max-width: 37.917vw;
}
.contacts__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
  max-width: 19.688vw;
}
.contacts__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
  max-width: 16.146vw;
}
.contacts__hero .hero__bottom-whats {
  font-size: 1.458vw;
}

.contacts__top {
  margin-top: 5.208vw;
}
.contacts__title {
  font-size: 2.083vw;
  font-style: normal;
  font-weight: 700;
  line-height: 2.188vw; /* 115% */
  letter-spacing: 0.031vw;
  text-transform: uppercase;
}
.contacts__info {
  display: flex;
  align-items: start;
  gap: 5.833vw;
  margin-top: 3.646vw;
}
.contacts__connect {
  display: flex;
  align-items: start;
  gap: 8.021vw;
}
.contacts__item a:hover {
  color: #ef642d;
}
.contacts__value {
  font-size: 1.667vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.812vw; /* 108.75% */
  letter-spacing: 0.036vw;
  text-transform: uppercase;
  margin-bottom: 0.885vw;
}
.contacts__label {
  font-size: 1.146vw;
  font-style: normal;
  font-weight: 400;
  line-height: 103%; /* 1.18vw */
  letter-spacing: 0.011vw;
  opacity: 0.5;
}
.contacts__label br {
  display: none;
}
.contacts__social {
  display: flex;
  gap: 0.521vw;
}
.contacts__social-link {
  display: flex;
  width: 2.292vw;
  height: 2.292vw;
  justify-content: center;
  align-items: center;
  border-radius: 0.521vw;
  background: #1f1f1d;
}
.contacts__social-link:hover {
  background: #ef642d;
}
.contacts__social-link svg {
  width: 1.302vw;
  height: 1.302vw;
}
.contacts__addresses {
  margin-top: 9.375vw;
}
.contacts__addr-wrap {
  margin-top: 4.01vw;
  display: flex;
  align-items: start;
  gap: 11.042vw;
}
.contacts__address:first-child {
  max-width: 22.188vw;
}
.contacts__address:last-child {
  max-width: 30.625vw;
}
.contacts__address-title {
  font-size: 1.667vw;
  font-style: normal;
  font-weight: 500;
  line-height: 1.812vw; /* 108.75% */
  letter-spacing: 0.031vw;
  text-transform: uppercase;
  margin-bottom: 0.625vw;
}

.req__container {
  margin-top: 5.208vw;
}
.req__list {
  margin-top: 3.646vw;
  display: flex;
  justify-content: space-between;
  width: 59.688vw;
  flex-wrap: wrap;
  gap: 3.646vw 4.427vw;
}
.req__item {
  max-width: 26.667vw;
}
.req__item:nth-child(4) {
  max-width: 23.646vw;
}

.quest__textarea {
  height: 4.427vw;
}

.request__field-wrap_textarea {
  width: 100%;
}

.request-question__form {
  width: 100%;
  max-width: 100%;
}
.request-question__form .request__fields {
  display: flex;
  gap: 0vw 1.042vw;
  flex-wrap: wrap;
}
.request-question__form .request__fields .request__field-wrap {
  width: 39.6vw;
}
.request-question__form .request__fields .request__field-wrap_textarea {
  width: 100%;
}
.request-question__form .request-vacancy__bottom {
  margin-top: 2.108vw;
}
.request-question__form .request-vacancy__bottom .form__agreement {
  margin-right: 4.69vw;
}

@media (max-width: 1150px) {
  .contacts__hero .hero__title {
    max-width: 40.885vw;
  }
  .contacts__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
    max-width: 26.172vw;
  }
  .contacts__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
    max-width: 25.521vw;
  }
  .contacts__hero .hero__bottom-whats {
    font-size: 1.953vw;
  }
  .contacts__top {
    margin-top: 5.208vw;
  }
  .contacts__title {
    font-size: 2.344vw;
    font-weight: 700;
    line-height: 3.255vw; /* 115% */
    letter-spacing: 0.078vw;
  }
  .contacts__info {
    gap: 12.24vw;
    margin-top: 3.906vw;
  }
  .contacts__connect {
    gap: 4.818vw;
  }
  .contacts__value {
    font-size: 2.083vw;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.039vw;
    margin-bottom: 1.823vw;
  }
  .contacts__label {
    font-size: 1.693vw;
    line-height: 1; /* 2.951vw */
    letter-spacing: 0vw;
  }
  .contacts__label br {
    display: block;
  }
  .contacts__social {
    gap: 0.781vw;
  }
  .contacts__social-link {
    width: 4.427vw;
    height: 4.427vw;
    border-radius: 1.003vw;
  }
  .contacts__social-link svg {
    width: 2.604vw;
    height: 2.604vw;
  }
  .contacts__addresses {
    margin-top: 5.208vw;
  }
  .contacts__addr-wrap {
    margin-top: 3.906vw;
    gap: 8.724vw;
  }
  .contacts__address:first-child {
    max-width: 27.604vw;
  }
  .contacts__address:last-child {
    max-width: 38.542vw;
  }
  .contacts__address-title {
    font-size: 2.083vw;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.039vw;
    margin-bottom: 1.823vw;
  }
  .req__container {
    margin-top: 5.208vw;
  }
  .req__list {
    margin-top: 3.906vw;
    width: 69.661vw;
    gap: 3.906vw 9.115vw;
  }
  .req__item {
    max-width: 33.464vw;
  }
  .req__item:nth-child(4) {
    max-width: 26.823vw;
  }
  .quest__textarea {
    height: 3.906vw;
  }
  .request__field-wrap_textarea {
    width: 100%;
  }
  .request-question__form {
    width: 100%;
  }
  .request-question__form .request__fields {
    gap: 0vw 1.302vw;
  }
  .request-question__form .request__fields .request__field-wrap {
    width: 46.745vw;
  }
  .request-question__form .request__fields .request__field-wrap_textarea {
    width: 100%;
  }
  .request-question__form .request-vacancy__bottom {
    margin-top: 0;
  }
  .request-question__form .request-vacancy__bottom .form__agreement {
    margin-right: 0;
  }
  .request-question__form .request-quest__submit {
    margin-left: auto;
    width: 46.745vw;
  }
}
@media (max-width: 576px) {
  .contacts__hero .hero__title {
    max-width: 77.778vw;
  }
  .contacts__hero .hero__bottom-text-wrap:first-child .hero__bottom-text {
    max-width: 38.889vw;
  }
  .contacts__hero .hero__bottom-text-wrap:last-child .hero__bottom-text {
    max-width: 38.889vw;
  }
  .contacts__hero .hero__bottom-whats {
    font-size: 4.444vw;
  }
  .contacts__top {
    margin-top: 8.333vw;
  }
  .contacts__title {
    font-size: 5vw;
    font-weight: 700;
    line-height: 6.944vw; /* 115% */
    letter-spacing: 0.167vw;
  }
  .contacts__info {
    flex-direction: column;
    gap: 6.944vw;
    margin-top: 8.333vw;
  }
  .contacts__connect {
    flex-direction: column;
    gap: 6.944vw;
  }
  .contacts__value {
    font-size: 4.444vw;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.083vw;
    margin-bottom: 3.889vw;
  }
  .contacts__label {
    font-size: 3.611vw;
    line-height: 1; /* 6.294vw */
    letter-spacing: 0vw;
  }
  .contacts__label br {
    display: none;
  }
  .contacts__social {
    gap: 1.667vw;
  }
  .contacts__social-link {
    width: 9.444vw;
    height: 9.444vw;
    border-radius: 2.139vw;
  }
  .contacts__social-link svg {
    width: 5.556vw;
    height: 5.556vw;
  }
  .contacts__addresses {
    margin-top: 15.278vw;
  }
  .contacts__addr-wrap {
    margin-top: 8.333vw;
    flex-direction: column;
    gap: 6.944vw;
  }
  .contacts__address:first-child {
    max-width: 68.333vw;
  }
  .contacts__address:last-child {
    max-width: 82.222vw;
  }
  .contacts__address-title {
    font-size: 4.444vw;
    line-height: 1; /* 108.75% */
    letter-spacing: 0.083vw;
    /* margin-bottom: 0; */
  }
  .req__container {
    margin-top: 8.333vw;
  }
  .req__list {
    margin-top: 8.333vw;
    width: auto;
    gap: 6.944vw;
    flex-direction: column;
  }
  .req__item {
    max-width: 71.389vw;
  }
  .req__item:nth-child(4) {
    max-width: 57.222vw;
  }
  .quest__textarea {
    height: 22.222vw;
    resize: vertical;
  }
  .request__field-wrap_textarea {
    width: 100%;
  }
  .request-question__form {
    width: 100%;
  }
  .request-question__form .request__fields {
    gap: 0px;
    flex-direction: column;
  }
  .request-question__form .request__fields .request__field-wrap {
    width: 100%;
  }
  .request-question__form .request__fields .request__field-wrap_textarea {
    width: 100%;
  }
  .request-question__form .request-vacancy__bottom {
    margin-top: 5.556vw;
  }
  .request-question__form .request-vacancy__bottom .form__agreement {
    margin-right: 0;
  }
  .request-question__form .request-quest__submit {
    margin-left: auto;
    width: 100%;
  }
}

/* Yandex Maps balloon styles */
.ymaps-2-1-79-balloon {
  box-shadow: none !important;
  width: 20.313vw !important;
}

.ymaps-2-1-79-balloon__layout {
  border-radius: 2.083vw;
  border: 1px solid #1f1f1d;
  background: #fafafa !important;
  padding: 1.042vw 1.042vw 1.563vw;
  left: 19% !important;
  transform: translateX(-50%);
}

.ymaps-2-1-79-balloon__content {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ymaps-2-1-79-balloon__close-button {
  display: none !important;
}

.ymaps-2-1-79-balloon__tail {
  display: none !important;
}

.ymaps-2-1-79-balloon-content__header {
  margin: 0 !important;
}

.ymaps-2-1-79-balloon-content__footer {
  display: none !important;
}

/* Map marker card styles */
.marker__container {
  position: relative;
  width: 18.229vw;
}
.marker__img {
  height: 10.208vw;
  width: 18.229vw !important;
  width: 100%;
  border-radius: 1.563vw;
  -o-object-fit: cover;
     object-fit: cover;
}
.marker__tag {
  position: absolute;
  color: #fafafa;
  font-size: 0.677vw;
  font-style: normal;
  font-weight: 500;
  line-height: 103%; /* 0.697vw */
  letter-spacing: 0.007vw;
  display: inline-flex;
  padding: 0.521vw 0.625vw 0.469vw 0.625vw;
  justify-content: center;
  align-items: center;
  border-radius: 180px;
  background: #1f1f1d;
  top: 0.677vw;
  left: 0.677vw;
}
.marker__addr {
  margin-top: 1.302vw;
  font-size: 1.094vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.011vw;
}
.marker__contacts {
  margin-top: 1.094vw;
  display: flex;
  flex-direction: column;
  gap: 0.313vw;
}
.marker__item {
  display: flex;
  gap: 0.208vw;
}
.marker__item-label {
  opacity: 0.57;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
}
.marker__item-value {
  text-decoration: underline;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
}
.marker__item-value:hover {
  color: #ef642d;
}
.marker__shedule {
  opacity: 0.57;
  font-size: 0.938vw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.349vw;
  margin-top: 1.146vw;
}

@media (max-width: 1150px) {
  /* #map {
    height: 39.063vw;
    margin-top: 5.208vw;
    border-radius: 1.563vw;
  } */
  .ymaps-2-1-79-balloon {
    width: 27.214vw !important;
  }
  .ymaps-2-1-79-balloon__layout {
    border-radius: 2.604vw;
    padding: 1.823vw;
    left: 27% !important;
  }
  .marker__container {
    width: 23.568vw;
  }
  .marker__img {
    height: 13.151vw;
    width: 23.568vw !important;
    border-radius: 0.911vw;
  }
  .marker__tag {
    font-size: 1.432vw;
    font-weight: 400;
    line-height: 112%; /* 1.743vw */
    letter-spacing: 0.014vw;
    padding: 1.042vw 1.042vw 0.781vw 1.042vw;
    border-radius: 23.438vw;
    top: 0.651vw;
    left: 0.651vw;
  }
  .marker__addr {
    margin-top: 2.083vw;
    font-size: 1.563vw;
    line-height: normal;
    letter-spacing: 0.027vw;
  }
  .marker__contacts {
    margin-top: 2.344vw;
    gap: 1.042vw;
  }
  .marker__item {
    display: flex;
    gap: 4px;
  }
  .marker__item-label {
    opacity: 0.57;
    font-size: 1.563vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__item-value {
    font-size: 1.563vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__shedule {
    font-size: 1.693vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    margin-top: 2.083vw;
  }
}

@media (max-width: 576px) {
  #map {
    height: 100.333vw;
    margin-top: 11.111vw;
    border-radius: 3.333vw;
  }
  .ymaps-2-1-79-balloon {
    width: 58.056vw !important;
  }
  .ymaps-2-1-79-balloon__layout {
    border-radius: 5.556vw;
    padding: 3.889vw;
    left: 27% !important;
  }
  .marker__container {
    width: 50.278vw;
  }
  .marker__img {
    height: 28.056vw;
    width: 50.278vw !important;
    border-radius: 1.944vw;
  }
  .marker__tag {
    font-size: 3.056vw;
    font-weight: 400;
    line-height: 112%; /* 3.719vw */
    letter-spacing: 0.031vw;
    padding: 2.222vw 2.222vw 1.667vw 2.222vw;
    border-radius: 50vw;
    top: 1.389vw;
    left: 1.389vw;
  }
  .marker__addr {
    margin-top: 4.444vw;
    font-size: 3.333vw;
    line-height: normal;
    letter-spacing: 0.058vw;
  }
  .marker__contacts {
    margin-top: 5vw;
    gap: 2.222vw;
  }
  .marker__item {
    display: flex;
    gap: 4px;
  }
  .marker__item-label {
    opacity: 0.57;
    font-size: 3.333vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__item-value {
    font-size: 3.333vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
  }
  .marker__shedule {
    font-size: 3.611vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    margin-top: 4.444vw;
  }
}