/* ----------------------------------------------- 
//////////////////////////////////////////////////
animations
//////////////////////////////////////////////////
----------------------------------------------- */
.anim {
  opacity: 0;
}
/* pop in animation */
.pop.visible {
  opacity: 0;
  display: inline-block;
  animation: pop .7s ease forwards;
  animation-delay: .2s;
}
.pop2.visible {
  opacity: 0;
  display: inline-block;
  animation: pop .7s ease forwards;
  animation-delay: .4s;
}
.pop3.visible {
  opacity: 0;
  display: inline-block;
  animation: pop .7s ease forwards;
  animation-delay: .6s;
}
.pop4.visible {
  opacity: 0;
  display: inline-block;
  animation: pop .7s ease forwards;
  animation-delay: .8s;
}
@keyframes pop {
  0% {
    opacity: 1;
    -moz-transform: scale(0);
    -webkit-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
  }
  90% {
    opacity: 1;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}
/* slide in from right animation */
.slide-right.visible {
  animation: slide-right .3s ease forwards;
  position: relative;
  opacity: 0;
}
@keyframes slide-right {
  0% {
    left: -100px;
    opacity: 0;
  }
  100% {
    left: 0px;
    opacity: 1;
  }
}
/* slide in from left animation */
.slide-left.visible {
  opacity: 0;
  animation: slide-left 1s ease forwards;
  position: relative;
}
@keyframes slide-left {
  0% {
    right: -100px;
    opacity: 0;
  }
  100% {
    right: 0px;
    opacity: 1;
  }
}
/* slide in from bottom animation */
.slide-bottom.visible {
  animation: slide-bottom .6s ease forwards;
  position: relative;
  opacity: 0;
}
@keyframes slide-bottom {
  0% {
    bottom: -100px;
    opacity: 0;
  }
  100% {
    bottom: 0px;
    opacity: 1;
  }
}
/* fade in animation */
.fade-in {
  display: block;
  animation: fade-in 3s ease forwards;
  opacity: 0;
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bw.visible {
  animation: nobw .5s ease forwards;
  animation-delay: 1s;
}
@keyframes nobw {
  0% {}
  100% {
    filter: none; /* IE6-9 */
    -webkit-filter: none; /* Google Chrome, Safari 6+ & Opera 15+ */
  }
}


.rotate {
  animation: rotateAnim 30s linear 0s infinite forwards;
}
.rotate-counter {
  animation: rotateCounterAnim 30s linear 0s infinite forwards;
}
@keyframes rotateAnim {
  0% {
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotateCounterAnim {
  0% {
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
    -o-transform: rotate(-360deg);
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
.rock {
  animation: swing 5s ease-in-out 0s infinite forwards;
	-webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}


.swing {
  -webkit-transform-origin: bottom center;
  -ms-transform-origin: bottom center;
  transform-origin: bottom center;
  -webkit-animation-name: swing;
  animation-name: swing;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
animation-iteration-count: infinite;
  }

  @keyframes swing {
  0% {
  -webkit-transform: rotate3d(0, 0, 1, 2deg);
  transform: rotate3d(0, 0, 1, 2deg);
  }
  50% {
  -webkit-transform: rotate3d(0, 0, 1, -2deg);
  transform: rotate3d(0, 0, 1, -2deg);
  }
  100% {
  -webkit-transform: rotate3d(0, 0, 1, 2deg);
  transform: rotate3d(0, 0, 1, 2deg);
  }
  }

.tilt {
  animation: rockingAnim 3s ease-in-out 0s infinite forwards;
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
}
@keyframes rockingAnim {
  0% {
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  40% {
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -moz-transform: rotate(3deg);
    -webkit-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  90% {
    -moz-transform: rotate(3deg);
    -webkit-transform: rotate(3deg);
    -o-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg);
  }
	100% {
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}