footer {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--site-header-height) var(--container-padding) 0;
  height: 100vh;

  .footer-headline {
    display: flex;
    align-items: center;
    gap: var(--space-4xl);

    & h3 {
      font-family: var(--title-font-family);
      font-size: var(--step-10);
      line-height: 1;
      margin: 30px 0;
    }

    .round-logo {
      width: 120px;
    }
  }

  .footer-sections {
    display: flex;
    flex-direction: column;

    > * {
      display: flex;
      flex-direction: column;

      & h4 {
        font-family: var(--title-font-family);
        font-size: var(--step-1);
      }

      & ul {
        display: flex;
        flex-direction: column;
        padding: 0;
        gap: 10px;
      }
    }

    .links {
      align-self: center;
    }

    .newsletter {
      gap: 30px;
      align-self: flex-end;
      max-width: 25%;
      text-align: center;

      & form {
        display: flex;
        flex-direction: column;
        gap: 30px;

        & input {
          text-align: center;
          color: var(--light-color);
          font-family: Nunito-Bold;
          border: solid;
          border-width: 0 0 1px;
          border-radius: 0;
          background-color: transparent;
        }

        & ::placeholder {
          color: var(--light-color);
        }

        & :focus {
          outline: none;
        }

        & button {
          font-family: Nunito-Bold;
          padding: 10px 25px;
          cursor: pointer;
        }
      }
    }
  }

  .references {
    display: flex;
    justify-content: space-between;
    padding: 50px 0 20px;
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media screen and (560px <= width <= 1000px) {
  footer {

    .footer-sections {
      gap: 50px;

      .links {
        align-self: unset;
      }

      .newsletter {
        max-width: 50%;
      }

    }
  }
}

@media screen and (width <= 559px) {
  footer {

    .footer-sections {
      gap: 50px;
      max-width: unset;

      .links {
        align-self: unset;
      }

      .newsletter {
        max-width: unset;
        align-self: unset;
      }

    }
  }
}

@media screen and (width <= 750px) {
  footer {
    .footer-headline {
      gap: unset;
      justify-content: space-between;

      .round-logo {
        width: 80px;
      }
    }
  }
}

@media screen and (height <= 700px) {
  footer {
    height: 150vh;
  }
}