@mixin keyframes($animation-name) {
  @-webkit-keyframes #{$animation-name} {
    @content;
  }

  @-moz-keyframes #{$animation-name} {
    @content;
  }

  @-ms-keyframes #{$animation-name} {
    @content;
  }

  @-o-keyframes #{$animation-name} {
    @content;
  }

  @keyframes #{$animation-name} {
    @content;
  }
}

@include keyframes(animation-clouds) {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-$bg-width, $bg-height, 0);
  }
}

@mixin animation-fade-in() {
  &.ng-hide-remove {
    opacity: 0;
    transition: opacity 0.2s ease-in;

    &.ng-hide-remove-active {
      opacity: 1;
    }
  }

  &.ng-enter {
    opacity: 0;
    transition: opacity 0.2s ease-in;

    &.ng-enter-active {
      opacity: 1;
    }
  }
}

.animate-fade-in {
  @include animation-fade-in();
}

@mixin animation-fade-out() {
  &.ng-hide-add {
    transition: opacity 0.2s ease-in;

    &.ng-hide-add-active {
      opacity: 0;
    }
  }
}

.animate-fade-out {
  @include animation-fade-out();
}
