nav {
    z-index: 1000;
    font-family: "Century-Gothic-Bold-V1";
    -webkit-transition: .4s all ease;
    transition: .4s all ease;
}

nav * {
    text-decoration: none;
    list-style: none;
}



@media only screen and (min-width: 1231px) {
    .visible-xs {
        display: none;
    }
    nav {
        
    }
    nav > ul {
        z-index: 10;
        position: relative;
        text-align: center;
        padding: 35px 0;
        margin: 0;
        -webkit-transition: ease all .4s;
        transition: ease all .4s;
    }
    nav > ul > li {
        display: inline-block;
        vertical-align: middle;
        position: relative;
        text-align: center;
        margin: 0 15px;
        padding: 0;
    }
    nav > ul > li > a {
        position: relative;
        display: table;
        padding: 10px 8px;
        color: #000;
        font-size: 20px;
 
    }
    nav > ul > li > a:after {
        content: "";
        position: absolute;
        display: block;
        height: 3px;
        width: 100%;
        bottom: 0;
        left: 0;
        background-color: #ccc;
        opacity: 0;
        -webkit-transition: ease all .4s;
        transition: ease all .4s;
 
    }
    nav > ul > li:hover > a:after,
    nav > ul > li.active > a:after {
        opacity: 1;
    }

    nav > ul > li:hover > a,
    nav > ul > li.active > a {
        color: #40a98f;
    }
    nav > ul > li > a + ul {
        position: absolute;
        display: block;
        padding: 10px 5px;
        margin: 0 0;
        width: 250px;
        text-align: left;
        left: 0;
        background-color: rgba(0, 0, 0, .7);
        transform: scale(1, 0);
        -webkit-transform: scale(1, 0);
        transform-origin: top;
        -webkit-transform-origin: top;
    }
    nav > ul > li:hover > a + ul {
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
    }

    nav > ul > li > a + ul > li {
        position: relative;
        display: block;
        padding: 0 0;
        margin: 0 0;
        width: 100%;
    }
    nav > ul > li > a + ul > li > a {
        position: relative;
        display: table;
        width: 100%;
        padding: 5px 13px;
        color: #646464;
    }

    nav > ul > li > a + ul > li:hover > a {
        color: #40a98f;
    }
    .hidden-deskmenu {
        display: none;
    }
}

@media only screen and (max-width: 1230px) {
    .hidden-xs.hidden-sm {
        display: none;
    }
    
    nav {
        position: fixed;
        min-height: 100vh;
        background: rgba(0, 0, 0, .78);
        width: 100%;
        top: 0;
        left: -100%;
        padding: 20px 20px;
        font-size: 19px;
        bottom: 0;
    }
    nav.show {
        left: 0;
    }
    nav > .close {
        text-align: right;
        font-size: 25px;
        opacity: 1;
        color: #646464;
    }
    nav a {
        color: #fff;
    }
    nav a:hover {
        color: #40a98f;
    }

    nav ul {
        display: block;
        margin: 0 0;
        padding: 0 30px 0 0;
    }
    nav > ul > li {
        display: block;
        border-bottom: 1px dotted rgba(255, 255, 255, .5);
        padding: 10px 0;
    }
    nav > ul > li > a {
        position: relative;
        display: table;
        padding: 0 2px;
    }
    nav > ul > li > a + ul > li {
        padding: 10px 0 0;
    }
    nav > ul > li > a + ul > li > a {
        position: relative;
        display: table;
        padding: 0 15px;
        color: #646464;
    }
}