﻿/* Navigation */
#nav {
    position: relative;
    clear: left; /*below logo*/
}

#nav ul {
    margin: 0;
}
.nav_control {
    position: absolute;
    top: -44px;
    right: -12px;
    width: 44px;
    height: 44px;
}
.nav_control .hamburger {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: #006341;
    border: 12px solid #f7f7f7;/*increase touch zone*/
}
.nav_control .hamburger:before,
.nav_control .hamburger:after {
    content: '';
    position: absolute;
    top: 20%;
    left: 0;
    width: 100%;
    height: 20%;
    background: #f7f7f7;
    transition: all ease .2s;
    -webkit-transform: translateZ(0); /*leverage hardware acceleration*/
}
.nav_control:hover .hamburger {
    background: #338267;
}
.nav_control .hamburger:after {
    top: 60%;
}

.nav_control a:active .hamburger {
    background-color: #135d38;
}

/* ---- open ---- */
#nav.open .hamburger,
#nav.open .nav_control a:active .hamburger,
#nav.open .nav_control a:focus .hamburger {
    background-color: #1e1e1e;
    border-color: #1e1e1e;
}
#nav.open .hamburger:before {
    top: 40%;
    -webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#nav.open .hamburger:after {
    top: 40%;
    -webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#nav .nav_menu {
    clear: both;
    overflow: hidden;
    -moz-transition: all 250ms cubic-bezier(.42,0,.58,1); /* ease-in-out */
    -ms-transition: all 250ms cubic-bezier(.42,0,.58,1);
    -o-transition: all 250ms cubic-bezier(.42,0,.58,1);
    -webkit-transition: all 250ms cubic-bezier(.42,0,.58,1);
    transition: all 250ms cubic-bezier(.42,0,.58,1);
    width: 100vw;
    margin-left: -20px;
}

.js #nav .nav_menu {
    display: none;
}

.js #nav.open .nav_menu {
    display: block;
}

.csstransitions #nav .nav_menu {
    display: block;
    height: 0;
}

#nav ul {
    overflow: hidden;
    margin-bottom: 0;
    padding: 6% 0;
    background: #1e1e1e;
}

#nav li {
    margin: 0;
}

/* tab ----------------------------------------------- */
#nav .tab {
    display: block;
    padding: 3% 16%;
    color: #fff;
    line-height: 1; /* 14px */
}

    #nav .tab strong {
        font-weight: normal;
        font-size: 1em; /* 14px */
        text-transform: uppercase;
        letter-spacing: .18em;
    }

    /* ---- hover, active, focus ---- */
    #nav .tab:hover,
    #nav .tab:focus {
        background: #272727;
    }

    #nav .tab:active {
        background: #2B8815;
    }

#menus {
    position: absolute;
    left: 0;
    z-index: 10000000000;
}
/* Touch */

body.touch #menus {
    position: relative;
    z-index: inherit;
}

/* individual menus ----------------------------------------------- //// */
#menus .fields {
    display: none;
}


@media (min-width:480px) {
    /* nav menu ----------------------------------------------- //// */
    #nav li {
        float: left;
        width: 50%;
    }

    /* tab ----------------------------------------------- */
    #nav .tab {
        padding: 3% 8%;
    }

    .menu_content > ol {
        padding: 2em 0 0 0;
    }

    .menu_content .blocks a {
        font-size: 1.25em;
    }
}

@media (min-width:768px) {
    
    .nav_control {
        display: none;
    }

    .js #nav .nav_menu {
        display: block;
    }

    #nav .nav_menu {
        margin-left: -8px;
        width: auto;
    }

    .csstransitions #nav .nav_menu {
        height: auto;
    }

    #nav ul {
        padding: 0;
        background: none;
    }

    #nav li {
        margin: 0 1px 0 0;
        width: auto;
    }

    /* tab ----------------------------------------------- */
    #nav .tab {
        float: left;
        padding: 1em .65em;
        color: #242221;
    }

        #nav .tab strong {
            font-size: 1em; /* 14px */
            line-height: 1; /* 18px */
            text-transform: uppercase;
        }

    #nav .selected .tab strong {
        color: #1e1e1e;
    }

    /* ---- hover, active, focus ---- */
    #nav .tab:hover,
    #nav .tab:active,
    #nav .tab:focus {
        background: #e1e1e1;
    }

    /* ---- menu sensitivity blockers  -- */
    #nav li {
        position: relative;
        display: block;
    }

        #nav li .null_left,
        #nav li .null_right {
            display: none;
        }

        #nav li:hover .null_left,
        #nav li:hover .null_right {
            position: absolute;
            display: block;
            width: 600px;
            height: 50px;
            left: -600px;
            margin-top: 27px;
            background: url(/static/images/transparent.gif) 0px -9999px no-repeat; /* needed for IE fix */
        }

        #nav li:hover .null_right {
            left: 100%;
            right: -600px;
            z-index: 15;
        }
    /* ---- open ---- */
    #nav .open .tab {
        border-bottom-color: #1e1e1e;
        background-color: #1e1e1e;
    }

        #nav .open .tab strong {
            color: #f7f7f7;
        }

    /* individual menus ----------------------------------------------- //// */
    #menus {
        width: 100%;
        margin: -1px 0 0;
        background: #1e1e1e;
        color: #fff;
    }

        #menus > .container {
            overflow: hidden;
        }

    .csstransitions #menus > .container {
        height: 0;
        -moz-transition: all 250ms cubic-bezier(.42,0,.58,1); /* ease-in-out */
        -ms-transition: all 250ms cubic-bezier(.42,0,.58,1);
        -o-transition: all 250ms cubic-bezier(.42,0,.58,1);
        -webkit-transition: all 250ms cubic-bezier(.42,0,.58,1);
        transition: all 250ms cubic-bezier(.42,0,.58,1);
        transition-delay: 200ms;
        -webkit-transition-delay: 200ms; /* Safari */
    }

    body.touch #menus > .container, .csstransitions body.touch #menus > .container {
        -moz-transition: none;
        -ms-transition: none;
        -o-transition: none;
        -webkit-transition: none;
        transition: none;
    }

    #menus .fields {
        background: #1e1e1e url(/static/images/global/pattern_stars.png) repeat 0 0;
        font-size: .928571em; /* 13px */
        line-height: 1.230769;
    }
        /* 16px */

        #menus .fields.open {
            display: block;
        }

            #menus .fields.open div.menu_content {
                padding: .8em 0 1.6em 0;
            }

    body.touch #menus .fields.open {
        -webkit-transition: opacity 400ms cubic-bezier(.42,0,.58,1);
        -webkit-transform: translate3d(0,0,0);
    }

    #menus p {
        color: #e6e8e8;
    }

        #menus p,
        #menus p a {
            font-weight: bold;
        }

    .menu_content {
        background: #1e1e1e;
    }

        .menu_content ol {
            margin: 0 0 1em;
            list-style: none;
        }

        .menu_content > ol {
            min-height: 109px;
        }

        .menu_content p,
        .menu_content li li {
            margin-bottom: .3076923em;
        }
        /* 4px */

        .menu_content a {
            color: #fff;
        }

        .menu_content li li a {
            color: rgba(255,255,255,.9);
        }

        .menu_content .blocks a {
            font-weight: normal;
        }

        .menu_content .selected a {
            background: #2B8815;
        }

    /* ---- menu heading ---- */
    .menu_heading {
        position: relative;
        margin: 0 8px 1.3em 12px;
        padding: 1em 0 .25em 4px;
        border-bottom: 2px solid #68ab3c;
        font-size: 1.230769em;
    }
        /* 16px */
        .menu_heading > a {
            font-size: 1.125em;
        }
    /* 18px */

    #menus .button_cancel {
        position: absolute;
        top: 10px;
        right: 0;
        display: block;
        margin: 0;
    }

        #menus .button_cancel button {
            padding: 2px 5px;
            border-color: #1e1e1e;
            color: #fff;
            font-size: .875em;
        }
    /* 14px */

    /* ---- menu suggestion title ---- */
    #menus .menu_suggestion_title {
        clear: both;
        margin: 0 8px .5em 12px;
        padding: .75em 4px 0;
        border-top: 1px solid #5e5f62;
        font-weight: normal;
        font-size: 1.230769em; /* 16px */
        line-height: 1.125;
    }
    /* 18px */

    /* ---- menu links ---- */
    .menu_suggestion_links {
        overflow: hidden;
        margin: 0 8px 0 12px;
        padding: 0 4px;
    }

        .menu_suggestion_links li {
            float: left;
            margin-right: 16px;
        }

    /* menu promo ----------------------------------------------- */
    .menu_promo a,
    .menu_promo .anchor {
        display: block;
        overflow: hidden;
        margin: 20px 11px;
        padding: 5px 5px 5px 159px;
        color: #fff;
        font-size: 1.076923em; /* 14px */
        line-height: 1.357143;
    }
    /* 19px */
    #menus .menu_promo p {
        margin-bottom: .461538em; /* 6px */
        max-width: 270px;
        color: #fff;
        font-weight: normal;
    }

    .menu_promo img {
        float: left;
        margin: 0 0 0 -154px;
    }
}

@media (min-width:769px) {
    
    /* menu content ----------------------------------------------- */
    .menu_content {
        padding: 0 0 0 110px;
    }

        .menu_content .blocks a {
            font-size: 1em;
        }

        .menu_content > ol {
            padding: 1em 0 0 0;
        }

    /* menu promo ----------------------------------------------- */
    .menu_promo a,
    .menu_promo .anchor {
        margin-right: 0;
        margin-left: 0;
        padding-left: 5px;
        max-width: 139px;
    }

    .menu_promo img {
        float: none;
        margin: 0;
    }
}


@media (min-width:992px) {
    #nav {
        float: left;
        clear: none;
        margin-left: 26px;
        margin-top: 12px;
    }

    #nav .tab {
        border-bottom: 3px solid #f7f7f7;
        padding: 1em;
    }

    #nav .tab strong {
        font-size: 1em; /* 14px */
        line-height: 1.136364; /* 25px */
        text-transform: uppercase;
    }

    #nav li:hover .null_left,
    #nav li:hover .null_right {
        margin-top: 40px;
    }

    #nav .nav_menu {
        margin-left: 0px;
    }
    
}