/* Sub menu */

.main-nav li.menu-item-has-children>a:before, .main-nav li.menu-item-has-children>details>summary:before {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: 0;
    content: '';
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    padding: 2px;
    transform: rotate(45deg);
}

.main-nav .menu-item-has-children .sub-menu {
    list-style: none;
    opacity: 0;
    pointer-events: none;
}

.main-nav .menu-item-has-children:hover>a+.sub-menu, .main-nav details[open] .sub-menu {
    opacity: 1;
    pointer-events: visible;
}


/* Bigger screen nav */

@media (min-width: 768px) {
    .main-nav .menu-item-has-children {
        position: relative;
    }

    .main-nav li.menu-item-has-children {
        padding-right: calc(.5em);
    }

    .main-nav li.menu-item-has-children>a:before, .main-nav li.menu-item-has-children>details>summary:before {
        border-color: var(--green-dark);
        right: .75em;
    }

    .main-nav li.menu-item-has-children:not(.current-menu-item):not(.current-menu-parent):hover [data-text]:before,
    .main-nav li.menu-item-has-children:not(.current-menu-item):not(.current-menu-parent) details[open] summary[data-text]:before,
    .main-nav li.menu-item-has-children:not(.current-menu-item):not(.current-menu-parent) [data-text]:hover:before {
        right: .625em;
    }

    .navtrigger.show {
        display: block;
        position: fixed;
        z-index: 90;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .main-nav .menu-item-has-children .sub-menu {
        background-color: var(--white);
        box-shadow: 0 0 0 1px var(--green-dark);
        border-radius: .5rem;
        padding: 1rem .5em;
        text-align: center;
        width: auto;
        min-width: 8rem;
        z-index: 101;
        position: absolute;
        top: 2.625em;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .main-nav .menu-item-has-children .sub-menu li {
        width: auto;
        white-space: nowrap;
    }

    .main-nav .menu-item-has-children .sub-menu li:not(:last-child) {
        margin-bottom: .125em;
    }

    .main-nav .menu-item-has-children .sub-menu a {
        display: inline-block;
    }
}


/* Mobile nav */

@media (max-width: 768px) {
    .main-nav-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
        padding: calc(var(--nav-height) + 1rem) var(--site-padding) 2.5rem;
        text-align: center;
    }

    .main-nav ul:not(.socials) {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .main-nav ul:not(.socials) li a, .main-nav li details summary {
        display: inline-block;
        padding: .375em .75em .25em;
        border-radius: 1.375em;
        line-height: 1.125;
        font-size: 1.25rem;
        text-decoration: none;
        color: var(--white);
    }

    .main-nav ul.primary-menu>li>a, .main-nav ul.primary-menu>li>details summary {
        padding: .25em .5em .125em;
        font-weight: var(--heavy);
        font-size: 2rem;
        color: var(--yellow);
        transform: rotate(-1deg);
    }

    .main-nav ul:not(.socials) li a:hover {
        color: var(--white);
        text-decoration: none;
    }

    .main-nav ul:not(.socials) li a:active, .main-nav ul:not(.socials) li details summary:active {
        background-color: rgba(0, 0, 0, .08);
        color: var(--white);
        translate: 0 1px;
    }

    .main-nav .menu-item-has-children a, .main-nav .menu-item-has-children details summary {
        display: inline-block;
        position: relative;
        padding-right: .625em;
        margin-left: -.25em;
    }

    .main-nav .menu-item-has-children .sub-menu {
        margin-bottom: .75em;
    }

    .main-nav ul.secondary-menu {
        margin-top: auto;
    }

    .main-nav .socials svg {
        width: 2rem;
    }

    .main-nav ul>li.current-menu-item>a, .main-nav ul>li.current-menu-parent>a,
    .main-nav ul>li.current-menu-item>details>summary, .main-nav ul>li.current-menu-parent>details>summary {
        text-decoration: underline !important;
    }
}


/* Logo animations */

@media (prefers-reduced-motion: no-preference) {
    .logo svg {
        overflow: visible;
    }

    .logo .type {
        transition: opacity 200ms;
    }

    .logo.compact .type {
        opacity: 0;
    }

    .logo.compact:hover .type {
        opacity: 1;
    }

    .logo .icon {
        transform-origin: top;
        transition: 200ms cubic-bezier(0, .6, .3, 1.3)
    }

    .logo.compact .icon {
        transform: rotate(-20deg) scale(2) translate(-20%, -7%);
    }

    .logo.compact:hover .icon {
        transform: rotate(0deg) scale(1) translate(0%, 0%);
    }
}