.navContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    overflow-y: visible;
    z-index: 999;
    box-sizing: border-box;
    /* margin-bottom: 20px; */
    border-bottom: 2px solid #7BB137;
}

.navContainer .menu {
    list-style: none;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-height: 0; /* MOBILE: Ensures that nav elements are fully hidden */
    transition: max-height .2s ease-out; /* MOBILE: On btn press, navs fold down */
    overflow-y: visible;
    z-index: 999;
    box-sizing: border-box;
    width: 100%;
}

.navContainer .navHeader {
    display: flex;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
}
.navContainer .navHeader img {
    width: 100px;
    height: initial;
    display: inline-block;
    text-decoration: none;

    box-sizing: border-box;
    display: none;
    visibility: hidden;
}

.navContainer .navHeader h1 {
    display: inline-block;
    text-decoration: none;
    color: black;
    
    box-sizing: border-box;
    border-bottom: 2px #7BB137 solid;
}
.navContainer .menu li  {
    margin: 0px;
    padding: 0px;
    width: 100%;
}
.navContainer .menu li a {
    display: inline-block;
    text-decoration: none;
    padding: 5px;
    margin: 0px;
    width: 100%;
}
.navContainer .menu li a:link, .navContainer .menu li a:visited {
    color: #0d0d0d;
}
.navContainer .menu li a:focus, .navContainer .menu li a:hover, .navContainer .menu li a:active {
    color: #20232d;
    background-color: #f5f5f5;
}
.navContainer .menu-icon {
    cursor: pointer;
    display: inline-block;
    padding: 20px 20px;
}
.navContainer .menu-icon .navicon {
    background: #7BB137;
    display: block;
    height: 2px;
    position: relative;
    width: 1.625rem;
}
.navContainer .menu-icon .navicon:before, .navContainer .menu-icon .navicon:after {
    background: #7BB137;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}
.navContainer .menu-icon .navicon:before {
    top: 7px;
}
.navContainer .menu-icon .navicon:after {
    top: -7px;
}
.navContainer .menu-btn {
    display: none;
}
.navContainer .menu-btn:checked ~ .menu {
    max-height: 300px;
}
.navContainer .menu-btn:checked ~ .menu-icon .navicon {
    background: transparent;
}
.navContainer .menu-btn:checked ~ .menu-icon .navicon:before {
    transform: rotate(-45deg);
}
.navContainer .menu-btn:checked ~ .menu-icon .navicon:after {
    transform: rotate(45deg);
}
.navContainer .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before, .navContainer .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
    top: 0;
}

.desktopOnly    {   display: none;  visibility: hidden; }
.mobileOnly     {   display: inherit; visibility: visible;}

@media (min-width: 320px) {

    .navContainer .navHeader img {
        display: block;
        visibility: visible;
    }
    
    .navContainer .navHeader h1 {
        border-bottom: none;
    }
}

@media (min-width: 320px) {
    .navContainer .navHeader {
        display: flex;
        justify-content: center;
        text-decoration: none;
    }
    .navContainer .navHeader img {
        width: 100px;
        display: inline-block;
        text-decoration: none;
    }
    
    .navContainer .navHeader h1 {
        display: inline-block;
        text-decoration: none;
        color: black;
    }
}

@media (min-width: 768px) {

    .desktopOnly    {   display: inherit; visibility: visible;}
    .mobileOnly     {   display: none !important;  visibility: hidden; }

    .navContainer ul li a {
        text-decoration: none;
    }
    
    .navContainer {
        /* font-family: monospace; */
        box-sizing: border-box;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .navContainer .menu {
        overflow: visible;
    }
    
    .navContainer ul {
        list-style: none;
        margin: 0;
        padding-left: 0;
        box-sizing: border-box;
        float: right;
    }
    
    .navContainer ul li {
        box-sizing: border-box;
        display: block;
        float: left;
        /* padding: 1rem; */
        position: relative;
        text-decoration: none;

        margin: initial;
        padding: initial;
        width: 100%;
    }
        
    .navContainer ul li a {
        color: #000;
        box-sizing: border-box;
        display: block;
        float: left;
        padding: 1rem !important;
        /* margin: initial;
        width: initial; */
        white-space: nowrap;
    }
    
    .navContainer ul li:hover {
        /* background: red; */
        cursor: pointer;
        background-color: #F5F5F5; /* Hover colour */
        box-sizing: border-box;
        /* border-bottom: solid 2px lightgray; */
    }
    
    .navContainer ul li ul {
        /* background: orange; */
        background-color: #fff; /* Drop down background colour */
        box-sizing: border-box;
        visibility: hidden;
        /* opacity: 0; */
        min-width: 5rem;
        position: absolute;
        transition: all 0.5s ease;
        margin-top: 3.4rem;
        right: 0;
        display: none;
        z-index: 50;
    }
    
    .navContainer ul li:hover > ul,
    .navContainer ul li:focus-within > ul, /* this is the line we add */
    .navContainer ul li ul:hover {
        visibility: visible;
        opacity: 1;
        display: block;
        box-sizing: border-box;
        text-align: right;
        border-left: solid 2px lightgray;
        border-right: solid 2px lightgray;
        border-bottom: solid 2px lightgray;
    
        -webkit-box-shadow: 0px 13px 72px -39px rgba(0,0,0,0.25);
        -moz-box-shadow: 0px 13px 72px -39px rgba(0,0,0,0.25);
        box-shadow: 0px 13px 72px -39px rgba(0,0,0,0.25);
    }
    
    ul li ul li {
        clear: both;
        width: 100%;
    }


    .navContainer li {
        display: block;
        float: left;
        position: relative;
        text-decoration: none;
    }

    .navContainer .menu {
        width: auto;
        max-height: none;
        flex-direction: row;
    }

    .navContainer .menu-icon {
        display: none;
    }
}