footer {
  padding: 8rem;
  padding-top: 6rem;
  background-color: var(--lightblue);
  background-image: linear-gradient(to bottom, var(--lightblue), white);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem;

  grid-template-rows: auto;
  align-items: start;   /* Verhindert vertikales Stretching */
  justify-items: start; /* Verhindert horizontales Stretching */


  margin-top: 8rem;

  header {
    padding: 0;
  }

  h3, h4 {
    font-size: var(--wa-font-size-l);
    font-weight: var(--wa-font-weight-heading);
    margin-block-end: var(--wa-content-spacing);
  }

  ul {
    list-style: none;
    margin: 0;
    padding: 0;
    
    li {
      padding: .25rem 0;
      margin-inline-start: 0;

      a {
        text-decoration: none;
        color: var(--brand);
        font-size: 1rem;
        font-weight: normal;
      }

      img {
        width: 40px;
        height: 40px;
      }
    }
  }

  #allgemein, #service {
    ul li a,
    .cookie-set {
      position: relative;

      &:after {
        position: absolute;
        content: "";
        height: 2px;
        width: 0;
        background: deepskyblue;
        left: 0;
        bottom: -.25rem;
        transition: width .5s;
      }

      &:hover {

        &:after {
          width: 100%;
        }
      }
    }
  }
  #social ul li a:hover img {
    transform: scale(1.1);
  }

  #social ul {
    display: flex;
	
    li + li {
      margin-left: .5rem;
    }
  }

  #sterne {
    transform: translateY(-8rem);
    border-radius: 1rem;
    overflow: hidden;    
    width: 240px;
    filter: drop-shadow(0px 20px 20px rgba(0, 0, 0, 0.125));

    img {
      width: 100%;
      height: auto;
      display: block;
    }
  }
  
  .cookie-set {
  	text-decoration: none;
    color: var(--brand);
    font-size: 1rem;
    font-weight: normal;
    /* margin-left: 1.35em; */
    padding: .25rem 0;
    line-height: 32px;
  }
}


@media (max-width: 1280px) {
  footer {
    grid-template-columns: repeat(2, 1fr);
    gap: 0rem;
    padding-right: 0;

    #sterne {
      order: 1;
      transform: translate(-2rem, -8rem);
    }
    #social {
      order: 2;
    }
    #service {
      order: 3;
    }
    #allgemein {
      order: 4;
    }
  }
}

@media (max-width: 768px) {
  footer {
    grid-template-columns: repeat(1, 1fr);
    padding: 4rem;
    gap: 4rem;
  }
}

@media (max-width: 560px) {
  footer {
    gap: 0rem;
    padding: 2rem;
    padding-bottom: 4rem;

    #sterne {
      transform: translate(-50%, -4rem);
      margin-left: 50%;
    }

    #social {
      transform: translateY(-1rem);
    }

    #service {
      margin-top: 1rem;
    }
    #allgemein {
      margin-top: 3rem;
    }

    #social, #allgemein, #service {
      align-items: center;
      justify-content: center;
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    #allgemein, #service {
      text-align: center;
    }
  }
}