footer a {
  text-decoration: none;
  transition: all 0.5s ease 0s;
  color: inherit;
}

footer a:hover,
#footer-mitte a:hover {
  color: var(--as-global-color-3);
}

#footer {
  z-index: 999;
  position: relative;
}

#footer * {
  color: var(--ast-global-color-3) !important;
}

/* -------------------------- start fonts footer -------------------------- */

#footer {
  padding-top: var(--cont-gap);
  display: flex;
  flex-direction: column;
  padding-bottom: var(--cont-gap);
  background-color: var(--ast-global-color-0);
}

footer p,
footer li,
footer a {
  font-size: var(--h5-font-size);
  font-family: var(--headlinefont);
  list-style: none;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

footer h4 {
  font-family: var(--headlinefont);
  font-size: var(--h2-font-size);
  font-style: normal;
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0;
}

/**footer grid*/
.wrapper-footer-grid {
  display: flex;
  justify-content: center;
  gap: var(--gap-xl);
  margin-bottom: var(--cont-gap);
}

.wrapper-footer-grid a {
  display: flex;
  gap: var(--gap-s);
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.wrapper-footer-grid img {
  max-height: 238px;
  width: auto;
}

/**footer seperator*/
#footer-seperator {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: var(--gap-2xl);
  --seperator-height: 134px;
}

#footer-seperator::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  border: 1px solid var(--ast-global-color-3);
  bottom: calc(var(--seperator-height) * 34.1 / 100);
}

.footer-seperator {
  border: calc(var(--gap-m) + 5px) solid var(--ast-global-color-0);
  border-top: 0;
  border-bottom: 0;
  z-index: 9;
  background-color: var(--ast-global-color-0);
}

#footer-seperator img {
  height: var(--seperator-height) !important;
  width: auto;
}

/**normal footer*/
#footer .wrap {
  display: flex;
  justify-content: center;
  position: relative;
}

.inner-wrap {
  display: flex;
  width: 90%;
  align-items: flex-start;
  gap: calc(var(--gap-2xl) - 33px);
  justify-content: space-between;
  text-align: center;
  justify-content: center;
  transform: translateX(-1.2%);
}

.inner-wrap h4 {
  font-size: var(--mainfont);
  margin-bottom: 2.1em;
  font-size: var(--base-font-size);
}

.inner-wrap p,
.inner-wrap a {
  font-size: 17px;
}

#footer-links,
#footer-mitte,
#footer-rechts {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: var(--gap-m);
}

#menu-footer-menu {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin: var(--gap-2xl) 0 0 0;
}

#footer-menu * {
  text-align: center;
  font-size: var(--h6-font-size);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
}

.wpml-ls-sub-menu,
.wpml-ls-legacy-dropdown .wpml-ls-current-language:focus .wpml-ls-sub-menu,
.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover .wpml-ls-sub-menu {
  visibility: none;
}

/*----------------- END SOCIAL SHARE -------------*/

@media (min-width: 1920px) {
  .ft-logo {
    margin: 0 50px;
  }
}

@media (max-width: 1500px) {
  /*----------------- ELEMENT -------------*/
  /*----------------- END ELEMENT ---------*/
}

@media (max-width: 1300px) {
  #footer .textwidget * {
    font-size: 0.9rem;
  }
}

@media (max-width: 1150px) {
  #footer .inner-wrap {
    flex-direction: column;
    align-items: center;
    transform: translateX(0);
  }
}

@media (max-width: 990px) {
  div#mobile-bar {
    display: flex;
  }
}

@media (max-width: 768px) {
  #footer #menu-footer-menu {
    flex-wrap: wrap;
    gap: 20px;
    max-width: 90vw;
    align-self: center;
    justify-self: center;
  }

  #footer #menu-footer-menu * {
    font-size: calc(var(--h6-font-size) * 0.7);
  }

  #footer .wrapper-footer-grid {
    max-width: 90vw;
    align-self: center;
    gap: var(--gap-m);
  }
  #footer .wrapper-footer-grid p {
    font-size: calc(var(--h5-font-size) * 0.7);
    text-align: center;
    line-height: 1.1;
  }

  .wrapper-footer-grid img {
    max-width: 100px !important;
  }
}

@media (max-width: 576px) {
  #footer-menu {
    margin: 0 auto;
    max-width: 90vw;
  }
}

@media (max-width: 420px) {
  /*----------------- ELEMENT -------------*/
  /*----------------- END ELEMENT ---------*/
}

@media (max-width: 320px) {
  /*----------------- ELEMENT -------------*/
  /*----------------- END ELEMENT ---------*/
}
