/* ==========================================================================
   Desktop 3D Navigation Hover Transforms Engine
   ========================================================================== */

.top-menu > li > a {
    line-height: 2em;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

.top-menu > li > a > span {
    position: relative;
    display: inline-block;
    transition: transform .3s, -webkit-transform .3s;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.top-menu > li > a > span:after {
    position: absolute;
    text-align: center;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    content: attr(data-hover);
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.top-menu > li > a:focus > span, 
.top-menu > li > a:hover > span {
    -webkit-transform: rotateX(90deg) translateY(-22px);
    transform: rotateX(90deg) translateY(-22px);
}

/* High-Density Display Fixes */
@media (-webkit-min-device-pixel-ratio: 1.4), (-moz-device-pixel-ratio: 2) {
    .top-menu > li > a > span:after {
        top: 85%;
    }
}