.footer {
  background-color: var(--color-main-bg);
  bottom: 0;
  box-sizing: border-box;
  color: var(--color-accent-mud);
  left: 0;
  padding: calc(40 * 100vw / var(--page-width)) 0 0;
  position: sticky;
  right: 0;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .footer {
    padding-top: calc(52 * 100vw / var(--page-width));
  }
}

.footer-header {
  display: flex;
  flex-direction: column;
  margin: 0 auto calc(50 * 100vw / var(--page-width));
  opacity: 0.4;
  width: calc(220 * 100vw / var(--page-width));
}

@media only screen and (min-width: 768px) {
  .footer-header {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: calc(65 * 100vw / var(--page-width));
    width: calc(1410 * 100vw / var(--page-width));
  }
}

.footer-message-item {
  align-items: flex-end;
  display: flex;
  height: calc(96 * 100vw / var(--page-width));
  justify-content: space-between;
}

@media only screen and (min-width: 768px) {
  .footer-message-item {
    gap: calc(160 * 100vw / var(--page-width));
    height: calc(220 * 100vw / var(--page-width));
  }
}

.footer-message-item span:nth-child(even) {
  align-self: flex-start;
}

.footer-body {
  margin: 0 calc(16 * 100vw / var(--page-width)) 0;
}

@media only screen and (min-width: 768px) {
  .footer-body {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: calc(1410 * 100vw / var(--page-width));
  }
}

.footer-title {
  margin-bottom: calc(12 * 100vw / var(--page-width));
}

@media only screen and (min-width: 768px) {
  .footer-title {
    margin-bottom: calc(20 * 100vw / var(--page-width));
  }
}

.footer-contact {
  margin-bottom: calc(40 * 100vw / var(--page-width));
}

@media only screen and (min-width: 768px) {
  .footer-contact {
    margin-bottom: 0;
    width: calc(480 * 100vw / var(--page-width));
  }
}

.footer-social {
  margin-left: calc(190 * 100vw / var(--page-width));
}

@media only screen and (min-width: 768px) {
  .footer-social {
    margin-left: 0;
    min-width: calc(290 * 100vw / var(--page-width));
  }
}

.footer-social-links a {
  color: var(--color-light);
  display: block;
  text-decoration: none;
}

.footer-social-links a:hover,
.footer-social-links a:focus {
  color: var(--color-accent-sun);
}

.footer-bar {
  border-top: 1px solid rgba(157, 134, 143, 0.4);
  margin-top: calc(40 * 100vw / var(--page-width));
  padding: calc(20 * 100vw / var(--page-width))
    calc(16 * 100vw / var(--page-width)) calc(20 * 100vw / var(--page-width));
}

@media only screen and (min-width: 768px) {
  .footer-bar {
    padding-left: 0;
    padding-right: 0;
  }
}

.footer-copyright {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1410 * 100vw / var(--page-width));
}
