/**
 * 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 {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 300px;
    z-index: 1001;
    visibility: hidden;
    background: #444
}

.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: #444;
    visibility: hidden;
    -moz-transform: translate(-100%, 0);
    -0-transform: translate(-100%, 0);
    -webkit-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    transform: translate(-100%, 0)
}

.fancynav-subnav-active {
    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-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;
    -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;
    -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: 9999;
    -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)
}