.treed {
  -webkit-perspective: 600;
  -moz-perspective: 600;
  -o-perspective: 600;
  -ms-perspective: 600;
  perspective: 600;
}
.portrait {
  content: "";
  display: block;
  position: absolute;
  width: 92%;
  height: 64%;
  z-index: 1000;
  top: 9px;
  left: 9px;
}
.befores,
.legend-down:before,
.legend-up:before,
.legend-left:before,
.legend-right:before,
.legend-flip:before,
.portrait-before:before,
.portrait-blur:before,
.scale-before:before {
  content: "";
  display: block;
  position: absolute;
  width: 92%;
  height: 64%;
  z-index: 1000;
  top: 9px;
  left: 9px;
}
.all-animation,
.all-animation * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
/***** Especials ******/
.dance {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-animation: dance 1 2s linear;
  -moz-animation: dance 1 2s linear;
  -ms-animation: dance 1 2s linear;
  -o-animation: dance 1 2s linear;
  animation: dance 1 2s linear;
}
@-webkit-keyframes dance {
  0%, 10%, 20% {
    -webkit-transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    -webkit-transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    -webkit-transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    -webkit-transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-moz-keyframes dance {
  0%, 10%, 20% {
    -moz-transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    -moz-transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    -moz-transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    -moz-transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-ms-keyframes dance {
  0%, 10%, 20% {
    -ms-transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    -ms-transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    -ms-transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    -ms-transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-o-keyframes dance {
  0%, 10%, 20% {
    -o-transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    -o-transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    -o-transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    -o-transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-moz-keyframes dance {
  0%, 10%, 20% {
    transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-webkit-keyframes dance {
  0%, 10%, 20% {
    transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@-o-keyframes dance {
  0%, 10%, 20% {
    transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
@keyframes dance {
  0%, 10%, 20% {
    transform: rotateZ(10deg);
  }
  5%, 15%, 25% {
    transform: rotateZ(-10deg);
  }
  35%, 60%, 100% {
    transform: scale(1) rotateZ(0deg);
    box-shadow: inset 0 0 0 0 transparent;
  }
  40% {
    transform: scale(1.3);
    box-shadow: inset 0 0 0 0;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,0.1);
  }
}
.journal {
  -webkit-animation: journal 1 2s ease-in;
  -moz-animation: journal 1 2s ease-in;
  -ms-animation: journal 1 2s ease-in;
  -o-animation: journal 1 2s ease-in;
  animation: journal 1 2s ease-in;
  opacity: 1 !important;
  visibility: visible !important;
}
@-webkit-keyframes journal {
  0% {
    -webkit-transform: scale(0) rotate(-360deg);
  }
  80% {
    -webkit-transform: scale(0.5) rotate(-180deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
  }
}
@-moz-keyframes journal {
  0% {
    -moz-transform: scale(0) rotate(-360deg);
  }
  80% {
    -moz-transform: scale(0.5) rotate(-180deg);
  }
  100% {
    -moz-transform: scale(1) rotate(0);
  }
}
@-ms-keyframes journal {
  0% {
    -ms-transform: scale(0) rotate(-360deg);
  }
  80% {
    -ms-transform: scale(0.5) rotate(-180deg);
  }
  100% {
    -ms-transform: scale(1) rotate(0);
  }
}
@-o-keyframes journal {
  0% {
    -o-transform: scale(0) rotate(-360deg);
  }
  80% {
    -o-transform: scale(0.5) rotate(-180deg);
  }
  100% {
    -o-transform: scale(1) rotate(0);
  }
}
@-moz-keyframes journal {
  0% {
    transform: scale(0) rotate(-360deg);
  }
  80% {
    transform: scale(0.5) rotate(-180deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@-webkit-keyframes journal {
  0% {
    transform: scale(0) rotate(-360deg);
  }
  80% {
    transform: scale(0.5) rotate(-180deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@-o-keyframes journal {
  0% {
    transform: scale(0) rotate(-360deg);
  }
  80% {
    transform: scale(0.5) rotate(-180deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
@keyframes journal {
  0% {
    transform: scale(0) rotate(-360deg);
  }
  80% {
    transform: scale(0.5) rotate(-180deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.pulse {
  -webkit-animation: pulse infinite alternate linear 0.5s;
  -moz-animation: pulse infinite alternate linear 0.5s;
  -ms-animation: pulse infinite alternate linear 0.5s;
  -o-animation: pulse infinite alternate linear 0.5s;
  animation: pulse infinite alternate linear 0.5s;
  opacity: 1 !important;
  visibility: visible !important;
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
  }
}
@-moz-keyframes pulse {
  0% {
    -moz-transform: scale(1);
  }
  100% {
    -moz-transform: scale(1.05);
  }
}
@-ms-keyframes pulse {
  0% {
    -ms-transform: scale(1);
  }
  100% {
    -ms-transform: scale(1.05);
  }
}
@-o-keyframes pulse {
  0% {
    -o-transform: scale(1);
  }
  100% {
    -o-transform: scale(1.05);
  }
}
@-moz-keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
@-webkit-keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
@-o-keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
.pulse-slow {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-animation: pulseSlow infinite alternate 1s ease-in-out;
  -moz-animation: pulseSlow infinite alternate 1s ease-in-out;
  -ms-animation: pulseSlow infinite alternate 1s ease-in-out;
  -o-animation: pulseSlow infinite alternate 1s ease-in-out;
  animation: pulseSlow infinite alternate 1s ease-in-out;
}
@-webkit-keyframes pulseSlow {
  0% {
    -webkit-transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.85);
    opacity: 0.5;
  }
}
@-moz-keyframes pulseSlow {
  0% {
    -moz-transform: scale(1);
    opacity: 1;
  }
  100% {
    -moz-transform: scale(0.85);
    opacity: 0.5;
  }
}
@-ms-keyframes pulseSlow {
  0% {
    -ms-transform: scale(1);
    opacity: 1;
  }
  100% {
    -ms-transform: scale(0.85);
    opacity: 0.5;
  }
}
@-o-keyframes pulseSlow {
  0% {
    -o-transform: scale(1);
    opacity: 1;
  }
  100% {
    -o-transform: scale(0.85);
    opacity: 0.5;
  }
