@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;
  }
}

@mixin animation($str) {
  -webkit-animation: #{$str};
  -moz-animation: #{$str};
  -ms-animation: #{$str};
  -o-animation: #{$str};
  animation: #{$str};
}

.animate-height {
  max-height: 0;
  overflow: hidden;

  &--open {
    max-height: 1000px;
    overflow: auto;
    transition: max-height 250ms ease-in-out;
  }
}

@keyframes spin-clockwise {
  0% {
    transform: rotate(0deg) scaleX(-1); // scaleX flips the `sync` icon so arrows point the correct way
  }
  100% {
    transform: rotate(359deg) scaleX(-1);
  }
}

.spin-clockwise {
  animation: spin-clockwise 3s infinite linear;
}
