.footer {
  position: relative;
  background: var(--footer-background-color);
  color: var(--footer-text-color);
  font-size: var(--footer-font-size);
  font-weight: var(--footer-font-weight);
}
.footer .content {
  justify-content: space-between;
  padding-top: var(--footer-vertical-spacing-top);
  padding-bottom: var(--footer-vertical-spacing-bottom);
}
.footer a {
  color: var(--footer-text-color);
  text-decoration: var(--footer-text-decoration-style);
  text-decoration-color: var(--footer-link-underline-color);
  text-decoration-thickness: var(--footer-link-underline-height);
  transition: all var(--transition-timing) var(--transition-ease);
}
.footer a:hover {
  color: var(--footer-text-color-hover);
  text-decoration-color: var(--footer-link-underline-color-hover);
  text-decoration-thickness: var(--footer-link-underline-height-hover);
}
.footer .footer-tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(var(--footer-tile-width) - var(--footer-tile-padding-horizontal));
}
.footer .footer-tile-title {
  width: 100%;
  font-family: var(--footer-tile-title-font-family);
  font-size: var(--footer-tile-title-font-size);
  font-weight: var(--footer-tile-title-font-weight);
  margin-bottom: var(--footer-tile-title-margin-bottom);
}
.footer .footer-logo-tile .footer-logo-container {
  position: relative;
}
.footer .footer-logo-tile img {
  width: 100%;
  max-width: var(--footer-logo-max-width);
  height: auto;
}
.footer .footer-nav-tile ul {
  padding-left: 0;
  margin: 0;
  list-style: none;
}
.footer .footer-nav-tile li {
  padding: 0;
  margin-top: 0;
  margin-bottom: var(--footer-nav-links-vertical-spacing);
}
.footer .footer-nav-tile li:before {
  display: none;
}
.footer .footer-nav-tile .sub-menu {
  display: none;
}
.footer .footer-contact-tile .contact-line {
  margin-bottom: var(--footer-contact-links-vertical-spacing);
}
.footer .footer-contact-tile .contact-line:last-child {
  margin-bottom: 0;
}
.footer .footer-social-tile {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}
.footer .footer-social-tile .social-icon {
  margin-right: var(--social-icon-horizontal-spacing);
}
.footer .footer-social-tile .social-icon i {
  font-size: var(--social-icon-font-size);
}
.footer .copyright {
  background: var(--copyright-background-color);
  width: 100%;
  text-align: center;
  padding: var(--copyright-vertical-padding) var(--horizontal-padding);
  color: var(--copyright-text-color);
  font-size: var(--copyright-font-size);
}