@media screen and (max-aspect-ratio: 10/7) {
  .footer__wrap:before {
    background-position: left bottom;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
  }
}

@media screen and (max-aspect-ratio: 8/7) {
  .footer:before {
    right: -webkit-calc(50% + 6em);
    right: -moz-calc(50% + 6em);
    right: calc(50% + 6em);
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    background-size: auto 100%;
  }

  .footer:after {
    left: -webkit-calc(50% + 4em);
    left: -moz-calc(50% + 4em);
    left: calc(50% + 4em);
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    background-size: auto 100%;
  }

  .footer__wrap:before {
    left: -webkit-calc(50% + 20vh);
    left: -moz-calc(50% + 20vh);
    left: calc(50% + 20vh);
    background-position: left bottom;
    -webkit-background-size: 115% auto;
    -moz-background-size: 115% auto;
    background-size: 115% auto;
  }

  body:before {
    bottom: 10%;
    background-image: url("../images/elements-left-full.png");
    background-position: -10vw bottom;
  }

  body:after {
    background-position: -webkit-calc(100% + 10vw) bottom;
    background-position: -moz-calc(100% + 10vw) bottom;
    background-position: calc(100% + 10vw) bottom;
    bottom: 10%;
  }

  .footer__add:after {
    display: none;
  }
}




@media screen and (max-aspect-ratio: 3/4) {
  body {
    font-size: 2.7vw;
  }

  .footer:before {
    bottom: -webkit-calc(100% - 2.5em);
    bottom: -moz-calc(100% - 2.5em);
    bottom: calc(100% - 2.5em);
    height: 8em;
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    background-size: auto 100%;
  }

  .footer:after {
    bottom: -webkit-calc(100% - 1.5em);
    bottom: -moz-calc(100% - 1.5em);
    bottom: calc(100% - 1.5em);
    left: 50%;
    height: 8em;
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    background-size: auto 100%;
  }

  .footer__wrap {
    padding: 4em 4em 0em 4em;
  }

  .footer__wrap > img {
    max-height: 3vw;
    margin: 0em 1em 2em 1em;
  }

  .footer__wrap:before {
    top: -150%;
    left: -webkit-calc(50% + 10vh);
    left: -moz-calc(50% + 10vh);
    left: calc(50% + 10vh);
  }

  .footer__wrap:after {
    height: 100%;
  }

  body:before {
    bottom: 20%;
    background-position: -20vw bottom;
  }

  body:after {
    bottom: 20%;
    background-position: -webkit-calc(100% + 20vw) bottom;
    background-position: -moz-calc(100% + 20vw) bottom;
    background-position: calc(100% + 20vw) bottom;
  }
}



@media screen and (max-aspect-ratio: 6/10) {
  .footer__wrap {
    padding: 6em 8em 3em 8em;
  }

  .footer__wrap > img {
    max-height: 3vw;
  }

  .footer__wrap:before {
    top: -75%;
    left: -webkit-calc(50% + 5vh);
    left: -moz-calc(50% + 5vh);
    left: calc(50% + 5vh);
    -webkit-background-size: 115% auto;
    -moz-background-size: 115% auto;
    background-size: 115% auto;
  }
}



@media screen and (max-aspect-ratio: 1/2) {
  .header {
    padding-bottom: 5em;
  }
}
