/* Ramsbottom footer styles */

.footer {
  background-color: var(--footer-background-color);
  color: var(--footer-color);
  font-family: var(--font-family-medium);
}

.footer-wrapper {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wrapper-width-desktop);
}

.footer-logo {
  grid-area: logo;
}

.footer-logo__img {
  display: block;
  max-width: 100%;
}

.footer-nav {
  align-items: center;
  display: flex;
  grid-area: nav;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  grid-area: social;
  justify-content: center;
}

.footer-social__anchor {
  background-color: var(--footer-social-icon-background-color);
  border-radius: 50%;
  display: flex;
  margin-left: 5px;
  margin-right: 5px;
  transition: background-color 150ms ease-in-out;
  align-items: center;
  justify-content: center;
}

.footer-social__anchor:hover {
  background-color: var(--footer-social-icon-background-color-hover);
}

.footer-social  svg{
  fill: var(--footer-social-icon-background-color);
  transition: fill 150ms ease-in-out;
  height: 20px;
}

.footer-social__anchor:hover .svg {
  fill: var(--footer-social-icon-background-color-hover);
}

.path--footer-social {
  fill: var(--footer-social-icon-color);
  transition: fill 150ms ease-in-out;
}

.footer-social__anchor:hover .path--footer-social {
  fill: var(--footer-social-icon-color-hover);
}

.footer-nav__nav {
  display: flex;
  flex-wrap: wrap;
  grid-area: nav;
}

.footer-nav__anchor {
  color: var(--footer-color);
  font-family: var(--font-family-bold);
  text-align: left;
  text-transform: uppercase;
}

.footer-contact {
  grid-area: contact;
  text-align: left;
  text-transform: var(--footer-contact-text-transform);
}

.footer-contact__text {
  font-style: normal;
  padding-bottom: 10px;
}

.footer-contact__text a {
  color: var(--footer-color);
}

.footer-credit {
  align-items: center;
  display: flex;
  justify-content: center;
  grid-area: credit;
}

.footer-credit__text {
  font-size: 14px;
}

.footer-credit__anchor {
  color: var(--footer-color);
}

#adminbuttons {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px;
}

#adminbuttons input {
  margin: 5px;
}

/* Mobile */

@media only screen and (max-width: 767px) {
  .footer {
    text-align: center;
  }

  .footer-wrapper {
    grid-template-columns: 120px auto;
    grid-template-areas:
      'logo social'
      'nav nav'
      'contact contact'
      'credit credit';
    padding-bottom: 60px;
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    row-gap: 30px;
  }

  .footer-social {
  align-items: center;
  }

  .footer-social__anchor {
    height: 50px;
    width: 50px;
  }

  .footer-nav {
    justify-content: center;
  }

  .footer-nav__nav {
    align-items: center;
  }

  .footer-nav__anchor {
    font-size: 14px;
    padding: 8px 20px;
  }

  .footer-nav__anchor:first-of-type {
    padding-left: 0;
  }

  .footer-contact {
    text-align: center;
  }

  #adminbuttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Desktop */

@media only screen and (min-width: 768px) {
  .footer-wrapper {
    grid-template-columns: 210px auto 210px;
    grid-template-areas:
      'logo nav social'
      'logo contact credit';
    padding-bottom: 30px;
    padding-top: 30px;
    padding-left: 75px;
    padding-right: 75px;
  }

  .footer-social {
  padding-top: 10px;
  }

  .footer-social__anchor {
    height: 60px;
    width: 60px;
  }

  .footer-nav__anchor {
    font-size: 24px;
    margin-bottom: 10px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .footer-nav__anchor:first-of-type {
    padding-left: 0;
  }
}

/* Desktop (small) */

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .footer-wrapper {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media only screen and (max-width: 1199px) {
  .footer-nav {
    margin-bottom: 20px;
  }

  .footer-nav__nav {
    flex-direction: column;
  }

  .footer-nav__anchor {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Desktop (large) */

@media only screen and (min-width: 1024px) {
  .footer-wrapper {
    padding-left: 75px;
    padding-right: 75px;
  }
}
