/* ==========================================================================
   FOOTER
   ========================================================================== */

.absolute-footer {
  display: none !important;
}

.footer {
  padding: 96px 0 40px !important;
}

.footer-wrapper {
  padding-bottom: 0 !important;
}

.footer-logo {
  max-width: 72px;
  margin-bottom: 32px !important;
}

.footer-icon {
  max-width: fit-content !important;
  padding: 0 !important;
}

.footer-socials {
  padding-left: 15px !important;
  gap: 28px;
}

.footer-social-icon {
  width: 24px !important;
  height: 24px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-contact {
  flex-flow: unset !important;
}

.footer-contact+.footer-contact {
  margin-top: 12px;
}

.footer-contact-icon {
  width: 24px !important;
}

.footer-contact-leftcol {
  max-width: fit-content !important;
  margin-right: 12px !important;
}

.footer-contact-rightcol {
  max-width: 100% !important;
  flex-basis: 100% !important;
}

.footer-title>h2 {
  font-size: clamp(20px, 1.7vw, 24px);
  font-weight: 500;
  line-height: 1.33;
  letter-spacing: 0.4px;
  color: var(--text-heading);
  margin-bottom: 24px;
}

.ux-menu {
  gap: 12px;
}

.ux-menu-link__link {
  padding: 4px 0 !important;
  min-height: unset !important;
  max-width: fit-content !important;
}

.ux-menu-link__link span {
  transition: color 0.3s ease;
}

.ux-menu-link__link:hover span {
  color: var(--text-accent);
}

.ux-menu-link__text,
.footer-contact-text>p {
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--text-body-bold);
}

.footer-content {
  padding-bottom: 34px !important;
}

.footer-copyright>p {
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--text-body-bold);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

/* Desktop */

@media screen and (min-width: 1025px) {
  .footer-icon {
    padding-bottom: 0 !important;
  }

  .footer-services-col {
    padding-left: 18.3px !important;
  }

  .footer-contact-col {
    padding-left: 28.7px !important;
  }
}

/* Tablet */

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .footer {
    padding: 72px 0 32px !important;
  }

  .footer-logo {
    margin-bottom: 28px !important;
  }

  .footer-socials {
    gap: 24px;
  }

  .footer-title>h2 {
    line-height: 1.4;
    margin-bottom: 20px;
  }

  .ux-menu {
    gap: 8px;
  }

  .ux-menu-link__text,
  .footer-contact-text>p {
    line-height: 1.56;
    font-size: clamp(16px, 2.16vw, 18px);
  }

  .footer-services-col {
    padding-left: 30px !important;
  }

  .footer-contact-col {
    padding-left: 34px !important;
  }

  .footer-contact-leftcol {
    margin-right: 8px !important;
  }

  .footer-contact+.footer-contact {
    margin-top: 8px;
  }

  .footer-group {
    max-height: fit-content !important;
  }

  .footer-content {
    padding-bottom: 18px !important;
  }

  .footer-copyright>p {
    font-size: 16px;
  }
}

/* Mobile */

@media screen and (max-width: 767px) {
  .footer {
    padding: 56px 0 24px !important;
  }

  .footer-logo {
    margin-bottom: 24px !important;
  }

  .footer-title>h2 {
    line-height: 1.4;
    margin-bottom: 16px;
  }

  .ux-menu {
    gap: 8px;
  }

  .ux-menu-link__text,
  .footer-contact-text>p {
    line-height: 1.5;
  }

  .footer-copyright>p {
    font-size: 14px;
  }
  
  .footer-row-wrapper {
    flex-direction: column !important;
  }

  .footer-row-wrapper>div {
    max-width: 100% !important;
  }

  .footer-row {
    flex-direction: column !important;
  }

  .footer-row>div {
    max-width: 100% !important;
  }

  .footer-group {
    padding-bottom: 40px !important;
  }

  .footer-services-col {
    padding-bottom: 32px !important;
  }

  .footer-contact-leftcol {
    margin-right: 8px !important;
    max-height: 24px;
  }

  .footer-contact-col {
    padding-bottom: 0 !important;
  }

  .footer-contact-icon {
    height: 24px;
  }

  .footer-contact-icon img {
    object-fit: contain;
  }

  .footer-contact-icon>div {
    height: 100%;
  }

  .footer-contact+.footer-contact {
    margin-top: 8px;
  }

  .footer-content {
    padding-bottom: 32px !important;
  }
}