@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");

@media screen and (max-width: 1023px) {
    nav {
        font-size: 14px;
        margin: 0;
        padding: 10px;
        background-color: #005aab;
        overflow-y: auto;
        /* Enable vertical scrolling */
        max-height: calc(100vh - 60px);
    }

    nav ul li {
        margin: 0px;
        display: inline-block;
        float: left;
        background-color: #005aab;
        overflow-y: auto;
    }

    nav a {
        display: block;
        padding: 0 20px;
        color: #fff;
        font-size: 20px;
        line-height: 60px;
        text-decoration: none;
    }

    body {
        word-wrap: break-word !important;
    }

    h3 a {
        color: #fff;
    }

    a {
        color: #fff;
    }

    #container {
        margin: 0 auto;
        max-width: 890px;
    }

    .toggle,
    [id^="drop"] {
        display: none;
    }
}

nav:after {
    content: "";
    display: table;
    clear: both;
}

nav ul {
    float: right;
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
}

nav.mobile-menu ul li ul li:hover {
    background: #005aab;
}

nav.mobile-menu a:hover {
    background-color: #005aab;
}

nav ul ul {
    display: none;
    position: absolute;
    top: 60px;
}

nav ul li:hover > ul {
    display: inherit;
}

nav ul ul li {
    width: 170px;
    float: none;
    display: list-item;
    position: relative;
}

nav ul ul ul li {
    position: relative;
    top: -60px;
    left: 170px;
}

li > a:after {
    content: " +";
}

li > a:only-child:after {
    content: "";
}

/* Media Queries
--------------------------------------------- */

@media all and (max-width: 1023px) {
    #logo {
        display: block;
        padding: 0;
        width: 100%;
        text-align: center;
        float: none;
    }

    nav {
        margin: 0;
    }

    .toggle + a,
    .menu {
        display: none;
    }

    .toggle {
        display: block;
        background-color: #005aab;
        padding: 0 20px;
        color: #fff;
        font-size: 20px;
        line-height: 60px;
        text-decoration: none;
        border: none;
    }

    .toggle:hover {
        background-color: #005aab;
    }

    [id^="drop"]:checked + ul {
        display: block;
    }

    nav ul li {
        display: block;
        width: 100%;
    }

    nav ul ul .toggle,
    nav ul ul a {
        padding: 0 40px;
    }

    nav ul ul ul a {
        padding: 0 80px;
    }

    nav.mobile-menu a:hover,
    nav.mobile-menu ul.menu ul ul a {
        background-color: #3092e7;
    }

    nav.mobile-menu ul.menu li ul li .toggle,
    nav.mobile-menu ul.menu ul a {
        background-color: #2a5981;
    }

    nav ul ul {
        float: none;
        position: static;
        color: #ffffff;
    }

    nav ul ul li:hover > ul,
    nav ul li:hover > ul {
        display: none;
    }

    nav ul ul li {
        display: block;
        width: 100%;
    }

    nav ul ul ul li {
        position: static;
    }
}

@media all and (max-width: 330px) {
    nav ul li {
        display: block;
        width: 100%;
    }
}

.hamburger {
    cursor: pointer;
    width: 24px;
    height: 24px;
    transition: all 0.25s;
    position: relative;
}

.hamburger-top,
.hamburger-middle,
.hamburger-bottom {
    position: absolute;
    width: 24px;
    height: 2px;
    top: 0;
    left: 0;
    background: #fff;
    transform: rotate(0);
    transition: all 0.5s;
}

.hamburger-middle {
    transform: translateY(7px);
}

.hamburger-bottom {
    transform: translateY(14px);
}

.open {
    transform: rotate(90deg);
}

.open .hamburger-top {
    transform: rotate(45deg) translateY(6px) translateX(6px);
}

.open .hamburger-middle {
    display: none;
}

.open .hamburger-bottom {
    transform: rotate(-45deg) translateY(6px) translateX(-6px);
}
