.site-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 5rem 20rem;
  background: #004972;
  color: #e3e5e7;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer__top,
.site-footer__bottom {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.site-footer__top {
  align-items: flex-start;
  padding-bottom: 2rem;
  border-bottom: 0.0625rem solid rgba(227, 229, 231, 0.34);
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.125rem;
}

.site-footer__brand a {
  display: block;
  width: 10.5rem;
  height: 2.775rem;
}

.site-footer__brand img {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}

.site-footer__brand p {
  width: 12.4375rem;
  margin: 0;
  color: #e3e5e7;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

.site-footer__nav {
  display: flex;
  align-items: flex-start;
  gap: 8.5rem;
}

.site-footer__nav-group,
.site-footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.125rem;
}

.site-footer__nav-group {
  white-space: nowrap;
}

.site-footer__nav-group--offset {
  padding-top: 1.8125rem;
}

.site-footer__nav h2,
.site-footer__contacts h2 {
  margin: 0;
  color: #f1f2f3;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.site-footer__nav a,
.site-footer__contacts a,
.site-footer__location {
  color: #f1f2f3;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

.site-footer__contacts {
  margin: 0;
  color: #f1f2f3;
  font-style: normal;
}

.site-footer__contacts a,
.site-footer__location {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.site-footer__contacts img {
  display: block;
  width: 1rem;
  height: 1rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.site-footer__location img {
  height: 1.25rem;
}

.site-footer__bottom {
  align-items: center;
}

.site-footer__bottom p,
.site-footer__credit {
  margin: 0;
  color: #e3e5e7;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

.site-footer__credit {
  display: flex;
  align-items: center;
  gap: 0.4375rem;
}

.site-footer__credit img {
  display: block;
  width: 1.8125rem;
  height: auto;
}

@media (max-width: 1919px) {
  .site-footer {
    gap: 1.667vw;
    padding: 4.167vw 16.667vw;
  }

  .site-footer__top {
    padding-bottom: 1.667vw;
    border-bottom-width: 0.052vw;
  }

  .site-footer__brand {
    gap: 0.938vw;
  }

  .site-footer__brand a {
    width: 8.75vw;
    height: 2.313vw;
  }

  .site-footer__brand p {
    width: 10.365vw;
    font-size: 0.833vw;
  }

  .site-footer__nav {
    gap: 7.083vw;
  }

  .site-footer__nav-group,
  .site-footer__contacts {
    gap: 0.938vw;
  }

  .site-footer__nav-group--offset {
    padding-top: 1.51vw;
  }

  .site-footer__nav h2,
  .site-footer__contacts h2 {
    font-size: 0.938vw;
  }

  .site-footer__nav a,
  .site-footer__contacts a,
  .site-footer__location {
    font-size: 0.833vw;
  }

  .site-footer__contacts a,
  .site-footer__location {
    gap: 0.417vw;
  }

  .site-footer__contacts img {
    width: 0.833vw;
    height: 0.833vw;
  }

  .site-footer__location img {
    height: 1.042vw;
  }

  .site-footer__bottom p,
  .site-footer__credit {
    font-size: 0.729vw;
  }

  .site-footer__credit {
    gap: 0.365vw;
  }

  .site-footer__credit img {
    width: 1.51vw;
  }
}

@media (min-width: 1367px) and (max-width: 1919px) {
  .site-footer__brand p,
  .site-footer__nav a,
  .site-footer__contacts a,
  .site-footer__location,
  .site-footer__bottom p,
  .site-footer__credit {
    font-size: clamp(16px, 0.833vw, 16px);
  }

  .site-footer__nav h2,
  .site-footer__contacts h2 {
    font-size: clamp(24px, 0.938vw, 24px);
  }
}

@media (max-width: 1366px) {
  .site-footer__brand a {
    width: clamp(120px, 8.75vw, 168px);
    height: auto;
  }

  .site-footer__brand p,
  .site-footer__nav a,
  .site-footer__contacts a,
  .site-footer__location,
  .site-footer__bottom p,
  .site-footer__credit {
    font-size: clamp(14px, 0.833vw, 16px);
  }

  .site-footer__nav h2,
  .site-footer__contacts h2 {
    font-size: clamp(20px, 1.318vw, 22px);
  }

  .site-footer__contacts img {
    width: clamp(14px, 0.833vw, 16px);
    height: clamp(14px, 0.833vw, 16px);
  }

  .site-footer__location img {
    height: clamp(18px, 1.042vw, 20px);
  }

  .site-footer__credit img {
    width: clamp(24px, 1.51vw, 29px);
  }
}

@media (max-width: 1024px) {
  .site-footer__brand p {
    font-size: clamp(14px, 0.833vw, 16px);
  }

  .site-footer__nav h2,
  .site-footer__contacts h2 {
    font-size: clamp(20px, 0.938vw, 20px);
  }

  .site-footer__nav a,
  .site-footer__contacts a,
  .site-footer__location {
    font-size: clamp(14px, 0.833vw, 16px);
  }

  .site-footer__bottom p,
  .site-footer__credit {
    font-size: clamp(14px, 0.729vw, 14px);
  }
}

@media (max-width: 767px) {
  .site-footer {
    align-items: stretch;
    gap: 8vw;
    padding: 12vw 6.4vw;
  }

  .site-footer__top {
    flex-direction: column;
    gap: 9vw;
    padding-bottom: 8vw;
  }

  .site-footer__brand a {
    width: 42.667vw;
  }

  .site-footer__brand p {
    width: 58vw;
  }

  .site-footer__nav {
    width: 100%;
    justify-content: space-between;
    gap: 6vw;
  }

  .site-footer__nav-group,
  .site-footer__contacts,
  .site-footer__brand {
    gap: 4.267vw;
  }

  .site-footer__nav-group--offset {
    padding-top: 7.2vw;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 4vw;
  }

  .site-footer__credit {
    gap: 1.867vw;
  }

  .site-footer__credit img {
    width: 7.733vw;
  }
}
