﻿body {
    --site-menu-main-color: #554596;
    --site-menu-alternate-color: #ffffff;
    --site-menu-background-color: #BFA8D1;
}

.site-menu-nav * {
    box-sizing: border-box;
}

.site-menu-nav {
    border-top: 1px solid var(--site-menu-main-color);
    border-bottom: 1px solid var(--site-menu-main-color);
}

    .site-menu-nav ul {
        margin: 0;
    }

.site-menu {
    display: flex;
    flex-direction: column;
}

    .site-menu li {
        display: block;
        list-style-type: none;
        position: relative;
    }

        .site-menu li a {
            display: flex;
            text-align: center;
            text-decoration: none;
            color: var(--site-menu-main-color);
            padding: 1rem;
            font-weight: bold;
            white-space: nowrap;
        }

        .site-menu li:hover {
            background: var(--site-menu-background-color);
            color: var(--site-menu-alternate-color);
        }

@media (min-width: 800px) {
    .site-menu {
        flex-direction: row;
        justify-content: space-between;
    }
}

.sub-menu-toggle:after {
    font-family: 'FontAwesome';
    content: '\f078';
    padding: 1px;
    margin-left: 5px;
    color: var(--site-menu-main-color);
}

.sub-menu-toggle {
    position: absolute;
    top: 16px;
    right: 20px;
}

.menu-item-has-children a {
    margin-right: 50px;
}

nav ul ul {
    display: none;
}

@media (min-width: 800px) {
    nav ul ul {
        display: none;
        position: absolute;
    }
}

nav ul li:hover > ul {
    display: block;
    color: var(--site-menu-alternate-color);
    padding-left: 2rem;
    opacity: 1;
    z-index: 5;
}

@media (min-width: 800px) {
    nav ul li:hover > ul {
        padding-left: 0;
        background: var(--site-menu-background-color);
    }

        nav ul li:hover > ul a {
            color: var(--site-menu-alternate-color);
        }

    .sub-menu li {
        display: flex;
        padding-right: 2em;
    }

        .sub-menu li:hover, .sub-menu li a:hover {
            background: var(--site-menu-main-color);
            color: var(--site-menu-alternate-color);
        }

    .site-menu-nav ul ul ul {
        margin: 0 0 0 100%;
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
    }

    .menu-item-has-children .menu-item-has-children > a:after {
        font-family: 'FontAwesome';
        content: '\f054';
        padding: 1px;
    }
}
