/**
 * FancyNav - Mobile Navigation with CSS3 Transitions
 * http://kratzik.com/fancynav
 * Copyright (c) 2017 Johann Kratzik
 * Version 1.0.0
*/
.fancynav-inner,.fancynav-mainnav,.fancynav-subnav,.fancynav-overlay {
    -moz-transition: all .5s;
    -o-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s
}

.fancynav-outer {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background: rgba(68,68,68,0.3)
}

.fancynav-inner {
    background: #fff;
    min-height: 100vh;
    position: relative;
    z-index: 999
}

.fancynav-mainnav {
    opacity: 0.9;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 300px;
    z-index: 1001;
    visibility: hidden;
    background: #35495a
}

.fancynav-header {
    font-size: 18px;
    color: #fff;
    overflow: hidden;
    background: rgba(0,0,0,0.2)
}

.fancynav-header::before,.fancynav-header::after {
    display: table;
    content: " "
}

.fancynav-header::after {
    clear: both
}

.fancynav-title {
    float: left;
    padding: 15px
}

.fancynav-close {
    float: right;
    width: 50px;
    text-align: center;
    padding: 15px 0;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    cursor: pointer
}

.fancynav-close::before {
    content: "\2715"
}

.fancynav-mainnav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    border-top: 1px solid rgba(0,0,0,0.3)
}

.fancynav-mainnav > ul {
    position: relative;
    z-index: 1
}

.fancynav-mainnav ul > li {
    border-bottom: 1px solid rgba(0,0,0,0.3);
}

.fancynav-mainnav ul > li > a {
    display: block;
    padding: 15px 60px 15px 15px;
    position: relative;
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none
}

.fancynav-subnav {
    /* position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
    background: #35495a;
    -moz-transform: translate(-100%,0);
    -0-transform: translate(-100%,0);
    -webkit-transform: translate(-100%,0);
    -ms-transform: translate(-100%,0); */
    /* visibility:hidden; */
    /* transform:translate(-100%,0); */
    display: none;
    padding-left: 20px;
}

.fancynav-subnav-active {
    /* opacity: 0.9;
    visibility: visible;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0) */
    display: block;
}

.fancynav-next {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 100%;
    cursor: pointer;
    color: #fff;
    background: rgba(0,0,0,0.1);
}

.fancynav-next::before,.fancynav-next::after {
    content: ' ';
    position: absolute;
    width: 10px;
    height: 2px;
    left: 20px;
    top: 50%;
    background: #fff;
    border-radius: 1px;
}

.fancynav-next::before {
    /* margin-top: -5px; */
    margin-left: -5px;
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.fancynav-next::after {
    /* margin-top: 1px; */
    margin-left: 1px;
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.fancynav-next.active::before {
    /* margin-top: -5px; */
    margin-left: 5px;
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.fancynav-next.active::after {
    /* margin-top: 1px; */
    margin-left: -1px;
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.fancynav-back {
    box-sizing: border-box;
    position: relative;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    padding: 10px 15px 10px 45px;
    display: block;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    background: rgba(0,0,0,0.1)
}

.fancynav-back::before,.fancynav-back::after {
    content: ' ';
    position: absolute;
    width: 10px;
    height: 2px;
    left: 15px;
    top: 50%;
    background: #fff;
    border-radius: 1px
}

.fancynav-back::before {
    margin-top: -5px;
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.fancynav-back::after {
    margin-top: 1px;
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.fancynav-overlay {
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(68,68,68,0.3);
    cursor: pointer
}

.fancynav .fancynav-overlay {
    visibility: visible
}

.fancynav-blue .fancynav-mainnav,.fancynav-blue .fancynav-subnav {
    background: #336ca6
}

.fancynav-blue .fancynav-outer,.fancynav-blue .fancynav-overlay {
    background: rgba(51,108,166,0.3)
}

.fancynav-green .fancynav-mainnav,.fancynav-green .fancynav-subnav {
    background: #48a770
}

.fancynav-green .fancynav-outer,.fancynav-green .fancynav-overlay {
    background: rgba(72,167,112,0.3)
}

.fancynav-animation-slide-top .fancynav-mainnav {
    -moz-transform: translate(-100%,0);
    -o-transform: translate(-100%,0);
    -webkit-transform: translate(-100%,0);
    -ms-transform: translate(-100%,0);
    transform: translate(-100%,0)
}

.fancynav-animation-slide-top.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0)
}

.fancynav-animation-slide-along .fancynav-mainnav {
    -moz-transform: translate(-50%,0);
    -o-transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    transform: translate(-50%,0)
}

.fancynav-animation-slide-along.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    z-index: 999;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0)
}

.fancynav-animation-slide-along .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-slide-along.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-slide-reverse .fancynav-mainnav {
    -moz-transform: translate(100%,0);
    -o-transform: translate(100%,0);
    -webkit-transform: translate(100%,0);
    -ms-transform: translate(100%,0);
    transform: translate(100%,0)
}

.fancynav-animation-slide-reverse.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0)
}

.fancynav-animation-slide-reverse .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-slide-reverse.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-reveal.fancynav-opened .fancynav-mainnav {
    visibility: visible
}

.fancynav-animation-reveal .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-reveal.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-push .fancynav-mainnav {
    -moz-transform: translate(-100%,0);
    -o-transform: translate(-100%,0);
    -webkit-transform: translate(-100%,0);
    -ms-transform: translate(-100%,0);
    transform: translate(-100%,0)
}

.fancynav-animation-push.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0)
}

.fancynav-animation-push .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-push.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-rotate-in .fancynav-mainnav {
    -moz-transform: translate(-100%,0) rotateY(-90deg);
    -o-transform: translate(-100%,0) rotateY(-90deg);
    -webkit-transform: translate(-100%,0) rotateY(-90deg);
    -ms-transform: translate(-100%,0) rotateY(-90deg);
    transform: translate(-100%,0) rotateY(-90deg);
    -moz-transform-origin: 100% 50%;
    -o-transform-origin: 100% 50%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%
}

.fancynav-animation-rotate-in.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0) rotateY(0);
    -o-transform: translate(0,0) rotateY(0);
    -webkit-transform: translate(0,0) rotateY(0);
    -ms-transform: translate(0,0) rotateY(0);
    transform: translate(0,0) rotateY(0)
}

.fancynav-animation-rotate-in .fancynav-outer {
    -moz-perspective: 1500px;
    -webkit-perspective: 1500px;
    perspective: 1500px;
    -moz-perspective-origin: 0 50%;
    -webkit-perspective-origin: 0 50%;
    perspective-origin: 0 50%
}

.fancynav-animation-rotate-in.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-rotate-out .fancynav-mainnav {
    -moz-transform: translate(-100%,0) rotateY(90deg);
    -o-transform: translate(-100%,0) rotateY(90deg);
    -webkit-transform: translate(-100%,0) rotateY(90deg);
    -ms-transform: translate(-100%,0) rotateY(90deg);
    transform: translate(-100%,0) rotateY(90deg);
    -moz-transform-origin: 100% 50%;
    -o-transform-origin: 100% 50%;
    -webkit-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%
}

.fancynav-animation-rotate-out.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0) rotateY(0);
    -o-transform: translate(0,0) rotateY(0);
    -webkit-transform: translate(0,0) rotateY(0);
    -ms-transform: translate(0,0) rotateY(0);
    transform: translate(0,0) rotateY(0)
}

.fancynav-animation-rotate-out .fancynav-outer {
    -moz-perspective: 1500px;
    -webkit-perspective: 1500px;
    perspective: 1500px;
    -moz-perspective-origin: 0 50%;
    -webkit-perspective-origin: 0 50%;
    perspective-origin: 0 50%
}

.fancynav-animation-rotate-out.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-rotate-delayed .fancynav-mainnav {
    -moz-transform: translate3d(-100%,0,0) rotateY(90deg);
    -o-transform: translate3d(-100%,0,0) rotateY(90deg);
    -webkit-transform: translate3d(-100%,0,0) rotateY(90deg);
    -ms-transform: translate3d(-100%,0,0) rotateY(90deg);
    transform: translate3d(-100%,0,0) rotateY(90deg);
    -moz-transform-origin: 0 50%;
    -o-transform-origin: 0 50%;
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%
}

.fancynav-animation-rotate-delayed.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transition-delay: .1s;
    -o-transition-delay: .1s;
    -webkit-transition-delay: .1s;
    transition-delay: .1s;
    -moz-transform: translate3d(0,0,0) rotateY(0deg);
    -o-transform: translate3d(0,0,0) rotateY(0deg);
    -webkit-transform: translate3d(0,0,0) rotateY(0deg);
    -ms-transform: translate3d(0,0,0) rotateY(0deg);
    transform: translate3d(0,0,0) rotateY(0deg)
}

.fancynav-animation-rotate-delayed .fancynav-outer {
    -moz-perspective: 1500px;
    -webkit-perspective: 1500px;
    perspective: 1500px;
    -moz-perspective-origin: 0 50%;
    -webkit-perspective-origin: 0 50%;
    perspective-origin: 0 50%
}

.fancynav-animation-rotate-delayed .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-rotate-delayed.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}

.fancynav-animation-scale-up .fancynav-mainnav {
    -moz-transform: translate3d(0,0,-300px);
    -o-transform: translate3d(0,0,-300px);
    -webkit-transform: translate3d(0,0,-300px);
    -ms-transform: translate3d(0,0,-300px);
    transform: translate3d(0,0,-300px);
    -moz-perspective: 1000px;
    -webkit-perspective: 1000px;
    perspective: 1000px
}

.fancynav-animation-scale-up.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    -webkit-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.fancynav-animation-scale-up .fancynav-outer {
    -moz-perspective: 1500px;
    -webkit-perspective: 1500px;
    perspective: 1500px;
    -moz-perspective-origin: 0 50%;
    -webkit-perspective-origin: 0 50%;
    perspective-origin: 0 50%
}

.fancynav-animation-scale-up .fancynav-inner {
    -moz-perspective: 1000px;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    z-index: 1001
}

.fancynav-animation-scale-up.fancynav-opened .fancynav-inner {
    -moz-transform: translate3d(300px,0,0);
    -o-transform: translate3d(300px,0,0);
    -webkit-transform: translate3d(300px,0,0);
    -ms-transform: translate3d(300px,0,0);
    transform: translate3d(300px,0,0)
}

.fancynav-animation-fall-down .fancynav-mainnav {
    -moz-transform: translate(0,-100%);
    -o-transform: translate(0,-100%);
    -webkit-transform: translate(0,-100%);
    -ms-transform: translate(0,-100%);
    transform: translate(0,-100%)
}

.fancynav-animation-fall-down.fancynav-opened .fancynav-mainnav {
    visibility: visible;
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0)
}

.fancynav-animation-fall-down .fancynav-inner {
    z-index: 1001
}

.fancynav-animation-fall-down.fancynav-opened .fancynav-inner {
    -moz-transform: translate(300px,0);
    -o-transform: translate(300px,0);
    -webkit-transform: translate(300px,0);
    -ms-transform: translate(300px,0);
    transform: translate(300px,0)
}
