/* Dedicated cache-busting stylesheet for the hierarchical mobile Services menu. */
.services-mobile-menu {
    display: none;
}

@media (max-width: 1023px) {
    .services-mega-menu {
        padding: .5rem 0 1rem 1.5rem;
    }

    .services-mega-menu__grid {
        display: none;
    }

    .services-mobile-menu {
        display: block;
    }

    .services-mobile-menu__item {
        position: relative;
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .services-mobile-menu__row {
        position: relative;
        padding-right: 3rem;
    }

    .services-mobile-menu__link {
        display: inline;
        color: #000;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.45;
        text-transform: uppercase;
        border-bottom: 1px solid #000;
    }

    .services-mobile-menu__link.is-placeholder {
        color: #8b8a8a;
        border-bottom-color: #8b8a8a;
    }

    .services-mobile-menu__toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 2.4rem;
        height: 2.4rem;
    }

    .services-mobile-menu__toggle::after {
        content: '';
        position: absolute;
        top: 2px;
        right: 4px;
        width: 1rem;
        height: 1rem;
        transform: rotate(45deg);
        border-right: 2px solid #000;
        border-bottom: 2px solid #000;
        transition: transform .25s ease, top .25s ease;
    }

    .services-mobile-menu__item.is-open > .services-mobile-menu__row .services-mobile-menu__toggle::after {
        top: 7px;
        transform: rotate(225deg);
    }

    .services-mobile-menu__submenu {
        display: none;
        margin-top: 1.5rem;
        padding-left: 1.5rem;
    }

    .services-mobile-menu__item.is-open > .services-mobile-menu__submenu {
        display: block;
    }

    .services-mobile-menu__submenu .services-mobile-menu__item {
        margin-bottom: 1rem;
    }
}
