/* Footer. */

/* Footer */
.rf-footer {
  background-color: var(--light-blue);
  padding: 90px 0 60px;
}
.rf-footer a {
  color: var(--navy);
  text-decoration: none;
}
.rf-footer a:hover {
  text-decoration: underline;
}
.rf-footer--logo {
  display: inline-block;
  margin-bottom: 80px;
}
.rf-footer--logo img {
  width: 190px;
  height: auto;
}
.rf-footer--main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
}
.rf-footer--contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.rf-footer--contact h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
}
.rf-footer--contact p,
.rf-footer--contact a {
  display: block;
  font-size: 18px;
  line-height: 1.65;
  color: var(--navy);
  margin: 0;
}
.rf-footer--contact strong {
  font-weight: 400;
}
.rf-footer--nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
}
.rf-footer--column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.rf-footer--column a {
  font-size: 18px;
}
.rf-footer--column .rf-footer--column-title {
  font-weight: 700;
}
.rf-footer--bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  margin-top: 50px;
}
.rf-footer--legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 40px;
}
.rf-footer--legal a {
  font-size: 17px;
}
.rf-footer--social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
.rf-footer--social a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1199px) {
  .rf-footer--main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 767px) {
  .rf-footer {
    padding: 60px 0 40px;
  }
  .rf-footer--logo {
    margin-bottom: 50px;
  }
  .rf-footer--contact,
  .rf-footer--nav,
  .rf-footer--bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 30px;
  }
}

/* Smartphone: zwei Spalten, Logo rechts */
@media (max-width: 767px) {
  .rf-footer .rf-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 20px;
  }
  .rf-footer--main,
  .rf-footer--contact,
  .rf-footer--nav,
  .rf-footer--bottom {
    display: contents;
  }
  .rf-footer--logo {
    grid-column: 1 / -1;
    justify-self: end;
    margin-bottom: 15px;
  }
  .rf-footer--logo img {
    width: 170px;
  }
  .rf-footer--contact p,
  .rf-footer--contact a,
  .rf-footer--column a,
  .rf-footer--column span {
    font-size: 16px;
  }
  .rf-footer--contact h3 {
    font-size: 16px;
  }
  .rf-footer--social {
    -ms-flex-item-align: start;
        align-self: start;
    gap: 18px;
  }
  .rf-footer--legal {
    grid-column: 1 / -1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 8px 14px;
  }
  .rf-footer--legal a {
    font-size: 15px;
  }
}
