.apak-footer {
  grid-column: 1;
  grid-row: 7;
  position: relative;
  z-index: 1;
  color: var(--apak-ink);
  background: var(--apak-footer);
}

.apak-footer__body {
  padding-block: 51px 41px;
}

.apak-footer__row {
  column-gap: 32px;
  align-items: start;
}

.apak-footer__row > .apak-col {
  grid-column: span 4;
}

.apak-footer__navigation-column {
  padding-block-start: 16px;
}

.apak-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--apak-font-ui);
  font-size: 16px;
  font-weight: 800;
  line-height: 27px;
  text-transform: uppercase;
}

.apak-footer__menu a {
  display: table;
  max-inline-size: 100%;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.apak-footer__brand-column {
  padding-block-start: 31px;
  padding-inline-end: 3px;
}

.apak-footer__brand {
  display: block;
  inline-size: min(235px, 100%);
  margin-inline: auto;
}

.apak-footer__brand img {
  inline-size: 100%;
  block-size: auto;
}

.apak-footer__contact {
  max-inline-size: 300px;
  margin-inline-start: auto;
  text-align: right;
}

.apak-footer__details {
  margin: 0 16px 0 0;
  font-size: 13px;
  font-style: normal;
  line-height: 16px;
  overflow-wrap: anywhere;
}

.apak-footer__details p {
  margin: 0;
}

.apak-footer__details .apak-footer__email {
  margin-block-start: 16px;
}

.apak-footer__contact-line {
  display: inline-flex;
  align-items: baseline;
  justify-content: end;
  gap: 5px;
  max-inline-size: 100%;
}

.apak-footer__contact-line > span {
  min-inline-size: 0;
}

.apak-footer__icon {
  display: inline-block;
  flex: none;
}

.apak-footer__icon--location {
  inline-size: 9.75px;
  block-size: 13.012725px;
}

.apak-footer__icon--email {
  inline-size: 13px;
  block-size: 9.75px;
}

.apak-footer__icon--company {
  inline-size: 14.6059px;
  block-size: 12.980975px;
}

/* These two exported Font Awesome glyphs extend below the text baseline. */
.apak-footer__icon--location, .apak-footer__icon--company {
  transform: translateY(1.625px);
}

.apak-footer__email a {
  position: relative;
  color: inherit;
  text-decoration: none;
}

.apak-footer__email a::before {
  content: "";
  position: absolute;
  inset: -4px 0;
}

.apak-footer .apak-footer__appointment {
  min-inline-size: min(231px, 100%);
  margin-block-start: 21px;
  padding-block: 5px 1px;
  border: 0;
  background: var(--apak-orange);
}

.apak-footer .apak-footer__appointment::before {
  inset: -2.5px 0;
}

.apak-footer__legal {
  padding-block: 8.5px;
  background: var(--apak-lime);
}

.apak-footer__legal-column {
  padding-inline-end: 3px;
}

.apak-footer__legal-copy {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  overflow-wrap: anywhere;
}

.apak-footer__copyright, .apak-footer__credit {
  display: inline-block;
  max-inline-size: 100%;
}

.apak-footer__copyright img {
  display: inline-block;
  inline-size: 11.625px;
  block-size: 11.625px;
  vertical-align: -1.3125px;
}

.apak-footer__legal a {
  position: relative;
  display: inline-block;
  max-inline-size: 100%;
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: .0445em;
  text-underline-offset: .255em;
  text-decoration-skip-ink: none;
}

.apak-footer__legal a::before {
  content: "";
  position: absolute;
  inset: -2px 0;
}

.apak-footer :where(a):focus-visible {
  outline-color: var(--apak-ink);
}

.apak-footer__menu a:focus-visible, .apak-footer__email a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .15em;
}

.apak-footer__legal a:focus-visible {
  color: var(--apak-white);
  background: var(--apak-ink);
}

@media (hover: hover) and (pointer: fine) {
  .apak-footer__menu a:hover, .apak-footer__email a:hover {
    text-decoration: underline;
    text-underline-offset: .15em;
  }
}

/* Only the supplied About/footer pairing owns this six-pixel surface overlap.
   All content stays in flow; a missing About leaves no negative gap. */
@media (min-width: 1101px) {
  .apak-main:has(> .apak-about:not([hidden]):last-child) + .apak-footer {
    margin-block-start: -6px;
  }
}

@media (max-width: 900px) {
    .apak-footer__body {
        padding-block: 70px 45px;
    }

  .apak-footer__row {
    row-gap: 36px;
  }

  .apak-footer__row > .apak-footer__brand-column {
    grid-column: span 12;
    grid-row: 1;
    padding: 0;
  }

  .apak-footer__row > .apak-footer__navigation-column, .apak-footer__row > .apak-footer__contact-column {
    grid-column: span 6;
  }

  .apak-footer__navigation-column {
    padding-block-start: 0;
  }

  .apak-footer__legal-column {
    padding-inline-end: 0;
  }

  .apak-footer__legal {
    padding-block: 12px;
  }
}

@media (max-width: 560px) {
  .apak-footer__row {
    column-gap: 0;
  }

  .apak-footer__row > .apak-footer__navigation-column, .apak-footer__row > .apak-footer__contact-column {
    grid-column: span 12;
  }

  .apak-footer__contact {
    margin-inline: 0;
    text-align: left;
  }

  .apak-footer__details {
    margin-inline: 0;
  }

  .apak-footer__contact-line {
    justify-content: start;
  }

  .apak-footer__address br {
    display: none;
  }

  .apak-footer__address {
    display: flex;
    flex-direction: column;
  }

  .apak-footer__menu a {
    padding-block: 4px;
  }
}

@media (width < 767px) {
  .apak-footer .apak-footer__appointment {
    font-size: 14px;
    line-height: 32px;
  }
}

.apak-footer .apak-container {
  width: min(calc(100% - 160px), 1120px);
  margin-inline: auto;
}
@media  (min-width: 1201px) and (max-width: 1500px) {.apak-footer .apak-container {
  width: min(calc(100% - 160px), 1080px);
  margin-inline: auto;
}}
@media  (min-width: 1025px) and (max-width: 1200px) {.apak-footer .apak-container {
  width: min(calc(100% - 120px), 1080px);
  margin-inline: auto;
}}
@media  (min-width: 768px) and (max-width: 1024px) {.apak-footer .apak-container {
  width: min(calc(100% - 80px), 1080px);
  margin-inline: auto;
}}
@media  (max-width: 767px) {.apak-footer .apak-container {
  width: min(calc(100% - 40px), 1080px);
  margin-inline: auto;
}}