@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);

/* Desktop menu background color. */
.menu-bar {
    position: relative;
    width: 100%;
    height: auto;
    float: left;
    padding: 0;
    vertical-align: middle;
    background-color: #333333;
    font-family: Montserrat, sans-serif;
    font-weight: bold;
}

/* Mobile menu background color and text efect. */
.menu {
    background-color: #333333;
    text-transform: uppercase;
}

/* Mobile menu background color and text efect. */
.sub-menu { 
    text-transform: capitalize;
}

/* Menu margin and padding. */
.menu ul {
    margin: 0;
    padding: 0;
}

/* Hide the main menu. */
.menu .main-menu {
    display: none;
}

/* Show the main menu when the toggle menu checkbox is checked. */
input[class="toggle-menu"]:checked+.main-menu {
    display: block;
}

/* Hide submenu on desktop devices. */
input[type="checkbox"]:checked+.sub-menu {
    display: none;
}

/* Hide the toggle menu checkbox. */
.menu input[type="checkbox"],
.menu ul span.drop-icon {
    display: none;
}

/* Menu and submenu border style and color. */
.menu li,
.toggle-menu,
.menu .sub-menu {
    border-style: solid;
    border-color: #606060;
}

/* Submenu border width. */
.menu li,
.toggle-menu {
    border-width: 0 0 1px;
}

/* Submenu background color, border width and margins. */
.menu .sub-menu {
    margin: 0 1em;
    background-color: #808080;
    border-width: 1px 1px 0;
}

/* Subsubmenu background color, border width and margins. */
.menu .sub-menu .sub-menu {
    margin: 0;
    background-color: #a0a0a0;
    border-width: 1px 1px 0;
}

/* Last menu item, border width. */
.menu .sub-menu li:last-child {
    border-width: 0;
}

/* Links foreground color and decoration. */
.menu li,
.toggle-menu,
.menu a {
    position: relative;
    display: block;
    color: #dddddd;
    text-decoration: none;
}

/* Toggle menu background color. */
.toggle-menu {
    background-color: #333333;
}

/* Menu and toggle menu padding. */
.toggle-menu,
.menu a {
    padding: 1em 1.5em;
}

/* Add a transition to menu labels. */
.menu a {
    transition: all .125s ease-in-out;
    -webkit-transition: all .125s ease-in-out;
}

/* Links background and foreground colors when mouse is over it. */
.menu a:hover {
    background-color: #333333;
    color: #c0c0c0;
}

/* Submenu links foreground color when mouse is over it. */
.menu .sub-menu a:hover {
    color: #ffffff;
}

/* Toggle menu button position (right side). */
.toggle-menu .nav-icon,
.menu li label.nav-icon {
    position: absolute;
    right: 1.5em;
    top: 1.25em;
}

/* Toggle menu button position (right side). */
.toggle-menu .drop-icon,
.menu li label.drop-icon {
    position: absolute;
    right: 1.5em;
    top: 1.25em;
}

/* Toggle mobile menu button size, align,
   background and foreground colors and text shadow. */
.menu label.nav-icon,
.toggle-menu span.nav-icon {
    width: 1em;
    height: 1em;
    text-align: center;
    background-color: #333333;
    color: #ffffff;
    text-shadow: 0 0 0 transparent;
}
   
/* Toggle menu button size, align,
   background and foreground colors and text shadow. */
.menu label.drop-icon,
.toggle-menu span.drop-icon {
    width: 1em;
    height: 1em;
    text-align: center;
    background-color: #ffffff;
    color: #000000;
    border-radius: 50%;
    text-shadow: 0 0 0 transparent;
}

/* Drop menu icon height. */
.menu .nav-icon, .drop-icon {
    line-height: 1;
}

/* Menu size on mobile devices. */
@media only screen and (max-width: 64em) and (min-width: 52.01em) {
    .menu li {
        width: 33.333%;
    }

    .menu .sub-menu li {
        width: auto;
    }
}

/* Menu size on desktop devices. */
@media only screen and (min-width: 52em) {
    .menu .main-menu {
        display: block;
    }

    /* Hide mobile toggle icon. */
    .toggle-menu,
    .menu label.drop-icon {
        display: none;
    }

    /* Show desktop toggle icon. */
    .menu ul span.drop-icon {
        display: inline-block;
    }

    /* Move menu to left on desktop devices. */
    .menu li {
        float: left;
        border-width: 0 1px 0 0;
    }

    /* Adjust menu to be horizontal on desktop devices. */
    .menu .sub-menu li {
        float: none;
    }

    /* Move menu to front of display and remove borders on desktop devices. */
    .menu .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 12em;
        z-index: 1000;
        margin: 0;
        border-width: 0;
    }

    /* Hide submenu on desktop devices. */
    .menu .sub-menu,
    .menu input[type="checkbox"]:checked+.sub-menu {
        display: none;
    }

    /* Define menu borders on desktop devices. */
    .menu .sub-menu li {
        border-width: 0 0 1px;
    }

    /* Move submenu to left side of the parent menu item on desktop device. */
    .menu .sub-menu .sub-menu {
        top: 0;
        left: 100%;
    }

    /* Show submenu when mouse is over parent item on desktop device. */
    .menu li:hover>input[type="checkbox"]+.sub-menu {
        display: block;
    }
}