
/* Perspective */
.compactmenu {
  position: relative;
  -webkit-perspective: 500px;
  -moz-perspective: 500px;
  -ms-perspective: 500px;
  -o-perspective: 500px;
  perspective: 500px;
  -webkit-perspective-origin: 50%;
  -moz-perspective-origin: 50%;
  -ms-perspective-origin: 50%;
  -o-perspective-origin: 50%;
  perspective-origin: 50%;
  /* Animation */
}

  .compactmenu ul,
  .compactmenu ol,
  .compactmenu li {
    list-style: none;
  }

  .compactmenu ul {
    left: 0;
    display: inline-block;
    position: absolute;
    z-index: 10;
  }

ul.topul { /* Top UL of each drop down menu after script transformation */
}

.compactmenu ul li {
  position: relative;
  border: 1px #636363 solid;
}

  .compactmenu ul li span.sub { /* "Pointer" span that gets added to LI elements containing a sub menu. */
  }

  .compactmenu ul li > ul {
    margin-top: 50px;
  }

.compactmenu a {
  text-decoration: none;
}

.compactmenu * {
  margin: 0;
  padding: 0;
}

.compactmenu {
  font-family: "Lato";
}

  .compactmenu .compactanchor { /* text link anchor */
    font: bold 20px Lato;
    color: white;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .compactmenu ul > li {
    padding: 0px;
  }

    .compactmenu ul > li .sub { /* "Pointer" span that gets added to LI elements containing a sub menu. */
    }

  .compactmenu ul a {
    display: block;
    color: #fff;
    padding: 14px 20px;
    background: #515151;
    -ms-opacity: .95;
    opacity: .95;
    -moz-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

    .compactmenu ul a:hover {
      background: #515151;
      opacity: 1;
    }

@-moz-keyframes inside-slide-fade-left {
  50% {
    -moz-transform: translateZ(-250px) rotateY(30deg);
    opacity: 1;
  }

  75% {
    -moz-transform: translateZ(-350px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    -moz-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

@-webkit-keyframes inside-slide-fade-left {
  50% {
    -webkit-transform: translateZ(-250px) rotateY(30deg);
    opacity: 1;
  }

  75% {
    -webkit-transform: translateZ(-350px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    -webkit-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

@keyframes inside-slide-fade-left {
  50% {
    transform: translateZ(-250px) rotateY(30deg);
    opacity: 1;
  }

  75% {
    transform: translateZ(-350px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

.compactmenu .inside-slide-fade-left-animation {
  -webkit-animation: inside-slide-fade-left ease 0.4s;
  -moz-animation: inside-slide-fade-left ease 0.4s;
  -ms-animation: inside-slide-fade-left ease 0.4s;
  -o-animation: inside-slide-fade-left ease 0.4s;
  animation: inside-slide-fade-left ease 0.4s;
}

@-moz-keyframes inside-slide-fade-left-out {
  0% {
    -moz-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }

  25% {
    -moz-transform: translateZ(-400px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    -moz-transform: translateZ(5px) rotateY(0deg);
    opacity: 1;
  }
}

@-webkit-keyframes inside-slide-fade-left-out {
  0% {
    -webkit-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }

  25% {
    -webkit-transform: translateZ(-400px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    -webkit-transform: translateZ(5px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes inside-slide-fade-left-out {
  0% {
    transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }

  25% {
    transform: translateZ(-400px) rotateY(15deg);
    opacity: 0.5;
  }

  100% {
    transform: translateZ(5px) rotateY(0deg);
    opacity: 1;
  }
}

.compactmenu .inside-slide-fade-left-out-animation {
  -webkit-animation: inside-slide-fade-left-out ease 0.4s;
  -moz-animation: inside-slide-fade-left-out ease 0.4s;
  -ms-animation: inside-slide-fade-left-out ease 0.4s;
  -o-animation: inside-slide-fade-left-out ease 0.4s;
  animation: inside-slide-fade-left-out ease 0.4s;
}

@-moz-keyframes fade-out-scale-down {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }

  100% {
    opacity: 0;
    -moz-transform: translateY(30%);
  }
}

@-webkit-keyframes fade-out-scale-down {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(30%);
  }
}

@keyframes fade-out-scale-down {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(30%);
  }
}

.compactmenu .fade-out-scale-down-animation {
  -webkit-animation: fade-out-scale-down ease 0.4s;
  -moz-animation: fade-out-scale-down ease 0.4s;
  -ms-animation: fade-out-scale-down ease 0.4s;
  -o-animation: fade-out-scale-down ease 0.4s;
  animation: fade-out-scale-down ease 0.4s;
}

@-moz-keyframes fade-in-scale-up {
  0% {
    opacity: 0;
    -moz-transform: translateY(30%);
  }

  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}

@-webkit-keyframes fade-in-scale-up {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes fade-in-scale-up {
  0% {
    opacity: 0;
    transform: translateY(30%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.compactmenu .fade-in-scale-up-animation {
  -webkit-animation: fade-in-scale-up ease 0.4s;
  -moz-animation: fade-in-scale-up ease 0.4s;
  -ms-animation: fade-in-scale-up ease 0.4s;
  -o-animation: fade-in-scale-up ease 0.4s;
  animation: fade-in-scale-up ease 0.4s;
}

@-moz-keyframes fade-out-fall-down {
  0% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -moz-transform: translateZ(-150px);
  }
}

@-webkit-keyframes fade-out-fall-down {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-150px);
  }
}

@keyframes fade-out-fall-down {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  100% {
    opacity: 0;
    transform: translateZ(-150px);
  }
}

.compactmenu .fade-out-fall-down-animation {
  -webkit-animation: fade-out-fall-down ease 0.4s;
  -moz-animation: fade-out-fall-down ease 0.4s;
  -ms-animation: fade-out-fall-down ease 0.4s;
  -o-animation: fade-out-fall-down ease 0.4s;
  animation: fade-out-fall-down ease 0.4s;
}

@-moz-keyframes fade-in-rise-up {
  0% {
    opacity: 0;
    -moz-transform: translateZ(-150px);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }
}

@-webkit-keyframes fade-in-rise-up {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-150px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }
}

@keyframes fade-in-rise-up {
  0% {
    opacity: 0;
    transform: translateZ(-150px);
  }

  100% {
    opacity: 1;
    transform: translateZ(0);
  }
}

.compactmenu .fade-in-rise-up-animation {
  -webkit-animation: fade-in-rise-up ease 0.4s;
  -moz-animation: fade-in-rise-up ease 0.4s;
  -ms-animation: fade-in-rise-up ease 0.4s;
  -o-animation: fade-in-rise-up ease 0.4s;
  animation: fade-in-rise-up ease 0.4s;
}

@-moz-keyframes fade-out-rising-up {
  0% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -moz-transform: translateZ(250px);
  }
}

@-webkit-keyframes fade-out-rising-up {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(250px);
  }
}

@keyframes fade-out-rising-up {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  100% {
    opacity: 0;
    transform: translateZ(250px);
  }
}

.compactmenu .fade-out-rising-up-animation {
  -webkit-animation: fade-out-rising-up ease 0.4s;
  -moz-animation: fade-out-rising-up ease 0.4s;
  -ms-animation: fade-out-rising-up ease 0.4s;
  -o-animation: fade-out-rising-up ease 0.4s;
  animation: fade-out-rising-up ease 0.4s;
}

@-moz-keyframes fade-in-falling-down {
  0% {
    opacity: 0;
    -moz-transform: translateZ(250px);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }
}

@-webkit-keyframes fade-in-falling-down {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(250px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }
}

@keyframes fade-in-falling-down {
  0% {
    opacity: 0;
    transform: translateZ(250px);
  }

  100% {
    opacity: 1;
    transform: translateZ(0);
  }
}

.compactmenu .fade-in-falling-down-animation {
  -webkit-animation: fade-in-falling-down ease 0.4s;
  -moz-animation: fade-in-falling-down ease 0.4s;
  -ms-animation: fade-in-falling-down ease 0.4s;
  -o-animation: fade-in-falling-down ease 0.4s;
  animation: fade-in-falling-down ease 0.4s;
}

@-moz-keyframes fade-in-rising-up {
  0% {
    opacity: 0;
    -moz-transform: translateZ(-250px);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }
}

@-webkit-keyframes fade-in-rising-up {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-250px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }
}

@keyframes fade-in-rising-up {
  0% {
    opacity: 0;
    transform: translateZ(-250px);
  }

  100% {
    opacity: 1;
    transform: translateZ(0);
  }
}

.compactmenu .fade-in-rising-up-animation {
  -webkit-animation: fade-in-rising-up ease 0.4s;
  -moz-animation: fade-in-rising-up ease 0.4s;
  -ms-animation: fade-in-rising-up ease 0.4s;
  -o-animation: fade-in-rising-up ease 0.4s;
  animation: fade-in-rising-up ease 0.4s;
}

@-moz-keyframes fade-out-fall-down2 {
  0% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -moz-transform: translateZ(-250px);
  }
}

@-webkit-keyframes fade-out-fall-down2 {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-250px);
  }
}

@keyframes fade-out-fall-down2 {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  100% {
    opacity: 0;
    transform: translateZ(-250px);
  }
}

.compactmenu .fade-out-fall-down2-animation {
  -webkit-animation: fade-out-fall-down2 ease 0.4s;
  -moz-animation: fade-out-fall-down2 ease 0.4s;
  -ms-animation: fade-out-fall-down2 ease 0.4s;
  -o-animation: fade-out-fall-down2 ease 0.4s;
  animation: fade-out-fall-down2 ease 0.4s;
}

.sample {
  -webkit-transform: translateZ(-400px) rotateY(15deg);
  -moz-transform: translateZ(-400px) rotateY(15deg);
  -ms-transform: translateZ(-400px) rotateY(15deg);
  -o-transform: translateZ(-400px) rotateY(15deg);
  transform: translateZ(-400px) rotateY(15deg);
}
