/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #footer {
    /* 60px - 100px top and bottom */
    padding: 2rem 1rem;
    background-color: #1a1a1a;
    /* Contact Links */
  }
  #footer .container {
    width: 100%;
    /* reset on tablet */
    max-width: 34.375rem;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #footer .logo-group {
    /* takes up all the space, lets the other ul's wrap below it */
    width: 100%;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #footer .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0;
    gap: 1rem;
    row-gap: 0.5rem;
    margin: 0;
    margin-bottom: 0.5rem;
  }
  #footer .nav.second {
    margin-top: 2rem;
  }
  #footer .nav-li {
    list-style: none;
    line-height: 1.5em;
    margin-bottom: 0.5rem;
  }
  #footer .nav-li:last-of-type {
    margin-bottom: 0;
  }
  #footer .nav-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    color: #fff;
    position: relative;
  }
  #footer .contact {
    margin: 0;
    padding: 0;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
  #footer .contact-li {
    list-style: none;
    margin-bottom: 0rem;
  }
  #footer .contact-li:last-of-type {
    margin-bottom: 0;
  }
  #footer .contact-link {
    font-size: 1rem;
    text-decoration: none;
    line-height: 1.5em;
    text-align: left;
    color: #fff;
    display: inline-block;
  }
  #footer .contact-link:hover {
    text-decoration: underline;
  }
  #footer .address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
  #footer .social-group {
    /* pushes away from the other flex items */
    margin-top: auto;
    margin-left: auto;
  }
  #footer .social {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0.75rem;
  }
  #footer .social-link {
    width: 1.5rem;
    height: 1.5rem;
    background-color: #ffff;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 1;
    -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
    transition: background-color 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, background-color 0.3s;
    transition: transform 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  }
  #footer .social-link:hover {
    -webkit-transform: translateY(-0.1875rem);
            transform: translateY(-0.1875rem);
  }
  #footer .social-img {
    height: 80%;
    width: 80%;
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #footer .container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* 68px - 100px */
    -webkit-column-gap: clamp(4.25rem, calc(10%), 6.25rem);
            column-gap: clamp(4.25rem, calc(10%), 6.25rem);
    max-width: 80rem;
    row-gap: 0;
  }
  #footer .nav {
    gap: 0.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #footer .logo-group {
    width: auto;
    /* pushes everything to the right of it as far as possible in a flexbox */
    margin-right: auto;
  }
  #footer .social-link {
    width: 1.75rem;
    height: 1.75rem;
  }
  #footer .nav,
  #footer .contact {
    /* 8px - 12px */
    margin-top: clamp(0.5rem, 1.2vw, 0.75rem);
  }
}
