/* ==========================================================================
   Nielsen footer
   Load after tokens.css and base.css.

   Class names are the Webflow class names. .v-green / .v-green-outline were
   .w-variant-<uuid> (the two button variants).

   Order: project classes -> tablet (max 991) -> mobile landscape (max 767) ->
   mobile (max 479) -> footer language list embed
   ========================================================================== */

.s.footer {
  background-color: var(--color--text-primary);
  color: var(--color--light);
}

.text-body {
  z-index: 1;
  font-size: var(--typography--body-m);
  line-height: 1.4;
  position: relative;
}

.text-body-s {
  font-size: var(--typography--body-s);
  line-height: 1.4;
}

.text-label {
  letter-spacing: -.03rem;
  font-weight: 500;
  line-height: 1.2;
}

.text-label-s {
  font-size: var(--spacing--gap);
  letter-spacing: -.02625rem;
  font-weight: 500;
  line-height: 1.2;
}

.footer-main {
  padding-top: var(--spacing--gap-64);
  grid-column-gap: var(--spacing--gap-64);
  grid-row-gap: var(--spacing--gap-64);
  flex-flow: column;
  display: flex;
}

.footer-fwlogo-w {
  width: 100%;
  color: var(--color--illum-green);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: -.0625rem;
  display: flex;
}

.footer-top {
  grid-column-gap: var(--spacing--gap-88);
  grid-row-gap: var(--spacing--gap-88);
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer-mid {
  padding-bottom: var(--spacing--gap-36);
  border-top-style: solid;
  border-top-color: var(--color--light);
  border-top-width: calc(var(--spacing--gap) * .0625);
  padding-top: calc(var(--spacing--gap) * 3.75);
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-col-main {
  grid-column-gap: var(--spacing--gap-24);
  grid-row-gap: var(--spacing--gap-24);
  max-width: calc(var(--spacing--gap) * 23);
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-fwlogo {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.footer-cta-w {
  grid-column-gap: var(--spacing--gap-12);
  grid-row-gap: var(--spacing--gap-8);
  flex-flow: wrap;
  align-items: flex-start;
  display: flex;
}

.footer-logo-w {
  color: var(--color--illum-green);
  width: calc(var(--spacing--gap) * 7);
  height: calc(var(--spacing--gap) * 1.16216);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer-logo {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer-legal-w {
  grid-column-gap: var(--spacing--gap-20);
  grid-row-gap: var(--spacing--gap-20);
  margin-left: calc(var(--spacing--gap-4) * -1);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-link {
  padding: var(--spacing--gap-8) var(--spacing--gap-4);
  color: var(--color--warm-neutral);
  font-weight: 400;
}

.footer-link.text-label-s:hover {
  background-color: var(--color--warm-neutral);
  color: var(--color--text-primary);
}

.footer-lang-w {
  width: 17.7rem;
}

.footer-col-links {
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-link-list {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-col {
  grid-column-gap: var(--spacing--gap-32);
  grid-row-gap: var(--spacing--gap-32);
  flex: 1;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.button {
  padding-right: var(--spacing--gap-24);
  padding-left: var(--spacing--gap-24);
  grid-column-gap: var(--spacing--gap-8);
  grid-row-gap: var(--spacing--gap-8);
  background-color: var(--color--text-primary);
  padding-top: calc(1.03125 * var(--spacing--gap));
  border-style: solid;
  border-color: #0000;
  border-top-width: calc(var(--spacing--gap) * .09375);
  border-right-width: calc(var(--spacing--gap) * .09375);
  padding-bottom: calc(1.03125 * var(--spacing--gap));
  border-bottom-width: calc(var(--spacing--gap) * .09375);
  border-left-width: calc(var(--spacing--gap) * .09375);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.button:where(.v-green) {
  background-color: var(--color--illum-green);
  color: var(--color--text-primary);
}

.button:where(.v-green-outline) {
  border-top-style: solid;
  border-top-color: var(--color--illum-green);
  border-right-style: solid;
  border-right-color: var(--color--illum-green);
  border-bottom-style: solid;
  border-bottom-color: var(--color--illum-green);
  border-left-style: solid;
  border-left-color: var(--color--illum-green);
  color: var(--color--light);
  border-top-width: calc(var(--spacing--gap) * .09375);
  border-right-width: calc(var(--spacing--gap) * .09375);
  border-bottom-width: calc(var(--spacing--gap) * .09375);
  border-left-width: calc(var(--spacing--gap) * .09375);
  background-color: #0000;
}

.button:hover {
  background-color: var(--color--gray-1);
}

.button:hover:where(.v-green) {
  background-color: var(--color--light-green-2);
}

.button:hover:where(.v-green-outline) {
  background-color: var(--color--gray-1);
}

.button-text {
  font-weight: 500;
}

.button-icon-w {
  width: var(--spacing--gap-20);
  height: var(--spacing--gap-20);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.button-icon {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer-lang-trigger {
  justify-content: flex-end;
  align-items: center;
  position: relative;
}

.footer-lang-drop {
  height: 0;
  position: absolute;
  inset: auto 0% 1.7rem;
  overflow: hidden;
}

.footer-year-t {
  display: none;
}

.footer-locale-w {
  padding: var(--spacing--gap-12);
  background-color: var(--color--gray-1);
}

.footer-locale-list {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-locale-item {
  padding: var(--spacing--gap-10) var(--spacing--gap-8);
  grid-column-gap: var(--spacing--gap-8);
  grid-row-gap: var(--spacing--gap-8);
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.footer-locale-item:active {
  color: var(--color--text-primary);
}

.footer-lang-trigger-icon-w {
  width: var(--spacing--gap-20);
  height: var(--spacing--gap-20);
}

.footer-lang-trigger-icon {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer-lang-trigger-text-w {
  grid-column-gap: var(--spacing--gap-4);
  grid-row-gap: var(--spacing--gap-4);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-locale-item-icon-w {
  width: var(--spacing--gap);
  height: var(--spacing--gap);
  flex: none;
  display: none;
}

.footer-locale-item-icon {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer-locale-link {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.footer-lang-t {
  width: 100%;
  padding: var(--spacing--gap-2);
  grid-column-gap: var(--spacing--gap-10);
  grid-row-gap: var(--spacing--gap-10);
  cursor: pointer;
  justify-content: flex-end;
  display: flex;
}

.footer-header {
  padding: var(--spacing--gap-4);
  grid-column-gap: var(--spacing--gap-8);
  grid-row-gap: var(--spacing--gap-8);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-header:hover {
  background-color: var(--color--warm-neutral);
  color: var(--color--text-primary);
}

.footer-header-icon-w {
  width: var(--spacing--gap);
  height: var(--spacing--gap);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer-header-icon {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer-year {
  padding: var(--spacing--gap-8) var(--spacing--gap-4);
  color: var(--color--warm-neutral);
  font-weight: 400;
}

@media screen and (max-width: 991px) {
  .text-label {
    letter-spacing: -.02625rem;
  }

  .footer-main {
    padding-top: var(--spacing--gap-32);
    grid-column-gap: var(--spacing--gap-56);
    grid-row-gap: var(--spacing--gap-56);
    padding-bottom: 0;
  }

  .footer-top {
    grid-column-gap: calc(var(--spacing--gap) * 2.75);
    grid-row-gap: calc(var(--spacing--gap) * 2.75);
    flex-flow: column;
  }

  .footer-mid {
    padding-top: var(--spacing--gap-32);
    grid-column-gap: var(--spacing--gap-8);
    grid-row-gap: var(--spacing--gap-8);
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 0;
  }

  .footer-col-main {
    width: 100%;
    max-width: none;
  }

  .footer-legal-w {
    grid-column-gap: var(--spacing--gap-8);
    grid-row-gap: var(--spacing--gap-8);
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .footer-link {
    padding-left: 0;
  }

  .footer-link.text-label-s {
    margin-left: 0;
  }

  .footer-link.text-label-s.is-legal {
    padding-right: 0;
  }

  .footer-lang-w {
    padding-top: 0;
    padding-bottom: 0;
  }

  .footer-col-links,
  .footer-link-list {
    grid-column-gap: 0;
    grid-row-gap: 0;
  }

  .footer-col {
    grid-column-gap: var(--spacing--gap-32);
    grid-row-gap: var(--spacing--gap-32);
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    display: grid;
  }

  .footer-lang-trigger {
    grid-row-gap: 0;
    flex-flow: column;
  }

  .footer-lang {
    order: -9999;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .footer-year-t {
    flex: none;
    justify-content: space-between;
    display: flex;
  }

  .footer-year-d {
    display: none;
  }

  .footer-locale-item,
  .footer-header,
  .footer-year {
    padding-left: 0;
  }

  .footer-year.text-label-s {
    margin-left: 0;
  }

}

@media screen and (max-width: 767px) {
  .footer-main {
    padding-top: var(--spacing--gap-32);
    grid-column-gap: var(--spacing--gap-56);
    grid-row-gap: var(--spacing--gap-56);
  }

  .footer-top {
    grid-column-gap: calc(var(--spacing--gap) * 2.75);
    grid-row-gap: calc(var(--spacing--gap) * 2.75);
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .footer-mid {
    flex-flow: column;
  }

  .footer-col-main,
  .footer-col-links {
    max-width: none;
  }

}

@media screen and (max-width: 479px) {
  .footer-cta-w {
    flex-flow: wrap;
  }

  .footer-legal-w {
    grid-row-gap: 0;
    flex-flow: wrap;
    padding-bottom: 0;
  }

  .footer-lang-w {
    width: auto;
  }

  .footer-lang {
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center;
  }

  .footer-year-t {
    padding-top: var(--spacing--gap-2);
  }

  .footer-lang-t {
    grid-column-gap: var(--spacing--gap-8);
    grid-row-gap: var(--spacing--gap-8);
    display: flex;
  }

}

.footer-locale-item-icon-w {
  display: none;
}

.footer-locale-item .text-body,
.footer-locale-item .footer-locale-item-icon-w {
  pointer-events: none;
}

.footer-locale-link:hover,
.footer-locale-link.w--current {
  background-color: #E3E5D4;
}

.footer-locale-link:hover ~ .text-body,
.footer-locale-link.w--current ~ .text-body {
  color: #1F2211;
}

.footer-locale-link:hover ~ .footer-locale-item-icon-w {
  display: block;
}

.footer-locale-link.w--current ~ .footer-locale-item-icon-w {
  display: none !important;
}
