.nav-container {
    position: absolute;
    position: fixed;
    top: 42px; /* 1 */
    left: 0;
    z-index: 9999;
    overflow-y: auto;
    visibility: hidden; /* 2 */
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%); /* 2 */
    -webkit-overflow-scrolling: touch; /* 3 */
}

/* 1. Show when `.is-visible` class is added */
.nav-container.is-visible {
    visibility: visible; /* 1 */
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); /* 1 */
}

/* Nav toggle */
.nav-toggle {
    line-height: 1;
    display: inline-block;
    padding: 10px;
    height: 42px;
    border: 0;
    background-color: #796E66;
}

/* Nav toggle icon */
.nav-toggle .icon-menu {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 20px;
    vertical-align: middle;
    fill: none;
}

/* Nav toggle icon lines */
.icon-menu .line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 4px;
    -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
    background-color: #fff;
}

/* Nav toggle icon line 1 */
.icon-menu .line-1 { top: 0; }

/* When active, rotate line 1 to be lefthand part of X */
.is-active .icon-menu .line-1 {
    -webkit-transform: translateY(8px) translateX(0) rotate(45deg);
    -ms-transform: translateY(8px) translateX(0) rotate(45deg);
    transform: translateY(8px) translateX(0) rotate(45deg);
}

/* Nav toggle icon line 2 */
.icon-menu .line-2 {
    top: 50%;
    margin-top: -2px;
}

/* When active, hide line 2 */
.is-active .icon-menu .line-2 { opacity: 0; }

/* Nav toggle icon line 3 */
.icon-menu .line-3 { bottom: 0; }

/* When active, rotate line 3 to be righthand part of X */
.is-active .icon-menu .line-3 {
    -webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
    -ms-transform: translateY(-8px) translateX(0) rotate(-45deg);
    transform: translateY(-8px) translateX(0) rotate(-45deg);
}

/* Remove default list styles for menus */
.menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/** 
* 1. Give menu a lighter background than its container 
* 2. Prevent menu text from being accidentally highlighted
*/
.nav-menu {
    /*background-color: #dedede;*/ /* 1 */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;         /* 2 */
}

/* Give menu items a top border */
.nav-menu li { margin:0 20px 0 0; }

/* 1. Menu links are block level, by default */
.nav-menu a {
    position:relative;
    display: block; /* 1 */
    text-align:center;
    vertical-align:middle;
    padding:0;
    font-family: 'Calibri-Regular';
    font-size:18px;
    line-height:18px;
    text-transform:uppercase;
    color:#000000;
}
.nav-menu li:hover > a,
.nav-menu a.active{
    color:#151515;
}

/* 1. Menu items with dropdowns appear clickable */
.has-dropdown {
    position: relative;
    cursor: pointer; /* 1 */
}

/* 1. Parent menu links inlined so you can toggle the dropdown */
/*
.has-dropdown > a { display: inline-block; }
*/

/* 1. Add an icon to menu items that have sub menus */
.has-dropdown:after {
    font-size: 25px;
    position: absolute;
    top: 8px;
    right: 1rem;
    bottom: 0;
    content: "+"; /* 1 */
    color: #222;
}
.has-dropdown:hover:after {
    color: #F1F1F1;
}

/* 1. Switch icon to n-dash when toggled */
.has-dropdown.is-active:after { content: "\2013"; /* 1 */ }

/**
 * Dropdowns
 * 1. Hide dropdowns by default
 */
.nav-dropdown {
    display: none; /* 1 */
}

/* 1. Show dropdown when toggled */
.has-dropdown.is-active > .nav-dropdown { display: block; /* 1 */ }

/* 2nd level dropdown */
.nav-dropdown .nav-dropdown { background-color:#84a39d; }
.nav-dropdown li { }
.nav-dropdown li > a { color:#FFFFFF; }
.nav-dropdown .nav-dropdown li {
  background-color: #b0b0b0;
}

@media (min-width: 1020px) {
    .nav { float:right; width:auto; margin:39px 0;}
    .nav,
    .nav-container,
    .nav-container.is-visible {
        position: static;
        top: auto;
        left: auto;
        z-index: auto;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
    .nav-container,
    .nav-container.is-visible {
        visibility: visible;
        height: auto;
        min-height: 0;
        overflow-y: visible;
    }
    .nav-toggle { display: none; }

    /* Give last menu item a bottom border */
    .nav-menu > li:last-child { margin-right:10px; }

    /* 1. Display menu items inline */
    .nav-menu ul.nav-dropdown a {
        text-align:left;
        background:none;
    }
    .nav-menu > li,
    .nav-menu > li.is-active {
        display: inline-block; /* 1 */
        background-color: transparent;
        border: 0;
    }
    .nav-menu > li > a{
        padding-top:5px;
        padding-bottom:5px;
    }
    .nav-menu > li > a:before{
        position:absolute;
        top:0;
        left:0;
        content:'';
        width:0;
        height:1px;
        background:#000000;
        transition:width ease-in-out 200ms;
    }
    .nav-menu > li > a:after{
        position:absolute;
        bottom:0;
        right:0;
        content:'';
        width:0;
        height:1px;
        background:#000000;
        transition:width ease-in-out 200ms;
    }
    .nav-menu > li > a.active:before,
    .nav-menu > li > a.active:after{
        width:100%;
    }

    /* Remove bottom border on last child */
    .nav-menu > li:last-child { border: 0; }
    .nav-menu li {
        -webkit-transition: background-color 0.15s ease-in-out,  color 0.15s ease-in-out;
        transition: background-color 0.15s ease-in-out,  color 0.15s ease-in-out;
    }

    /* Remove +/- icons */
    .has-dropdown:after { content: "" !important; display:none; }

    /* Add a caret to top-level menu items that have dropdowns */
    .nav-menu > .has-dropdown:after {
        position: absolute;
        top: 50%;
        right: 7px;
        width: 0;
        height: 0;
        margin-top: -2px;
        margin-left: -4px;
        content: "";
        border-width: 4px 5px 0 5px;
        border-style: solid;
        border-color: #444444 transparent transparent transparent;
    }
    .nav-menu > .has-dropdown:hover:after {
        border-color: #F1F1F1 transparent transparent transparent;
    }

    /* Increase padding to compensate for caret */
    /*.has-dropdown > a { padding-right: 25px; }*/
    
    /* Re-style dropdowns for larger screens */
    .nav-dropdown {
        display: block;
        opacity: 0;
        position: absolute;
        top: 100%;
        width: 200px;
        margin: 0px 0 0 0;
        padding: 0;
        background-color: #84a39d;
        box-shadow: 0 0 4px hsla(0, 0%, 0%, 0.15);
        visibility: hidden;
        -webkit-transition: visibility 0s linear 0.25s,  opacity 0.25s linear;
        transition: visibility 0s linear 0.25s,  opacity 0.25s linear;
        -webkit-box-shadow: 5px 5px 0px 1px rgba(0,0,0,0.23);
        -moz-box-shadow: 5px 5px 0px 1px rgba(0,0,0,0.23);
        box-shadow: 5px 5px 0px 1px rgba(0,0,0,0.23);
    }
    .has-dropdown:hover > .nav-dropdown {
        visibility: visible;
        opacity: 1;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
    .nav-dropdown li { margin:0; padding:0;}
    .nav-dropdown li a {
        padding:5px 10px;
        font-size:16px;
        line-height:16px;
    }
    .nav-dropdown li:hover > a,
    .nav-dropdown .nav-dropdown li:hover > a { background-color: #111111; color:#FFFFFF; }
    .nav-dropdown .nav-dropdown,
    .nav-dropdown .nav-dropdown li { background-color: #111111; color:#FFFFFF; }
    .nav-dropdown .nav-dropdown {
        z-index: 9998;
        top: 0;
        left: 100%;
    }
}

@media (max-width: 1019px) {
    .nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 110;
    }
    .nav-container {
        width:320px;
        background-color:#C7C7C7;
    }
    .nav-menu li { margin:0; }
    .nav-menu a {
        text-align:left;
        padding:10px 15px;
        color:#000000;
        border-bottom:solid 1px #A0A0A0;
    }
    .nav-dropdown li { margin:0; padding:0;}
    .nav-dropdown li a {
        padding:10px 15px 10px 25px;
        font-size:17px;
        line-height:17px;
    }
    /* Darker background color on hover, and when toggled */
    .nav-menu > li:hover > a,
    .nav-menu > li.is-active > a{ background-color: #84A39D; color:#FFFFFF; }
    .nav-dropdown > li:hover > a,
    .nav-dropdown > li.is-active > a{ background-color: #796E66; color:#FFFFFF; }
    .nav-dropdown {
        background-color: #111111;
    }
}
@media (max-width: 479px) {
    .nav-container {
        width:100%;
    }
}
@media only screen and (min-width: 1040px){
    .nav-menu > li:hover > a:before,
    .nav-menu > li:hover > a:after{
        width:100%;
    }
}
