.overlay-panel {
    overflow: auto;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;

    display: flex;
    flex-flow: column;

    background: rgba(0,0,0,0);
}

.overlay-panel > * {
    position: relative;
    top: -15rem;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    transition : all 0.2s ease-out 0.01s;
}

.overlay-panel.visible {
    height: 100%;
}

.overlay-panel.visible > * {
    top: 0;
}

.overlay-panel.visible .overlay-close {
    display: block;
}

.overlay-panel .overlay-close {
    display: none;
    position: fixed !important;
    z-index: 1001;
    right: 0.5rem !important;
    top: 0.5rem !important;
}
.overlay-panel .overlay-close:before, .overlay-panel .overlay-close:after {
    background-color: #ffffff !important;
}

.overlay-panel.visible .overlay-close {
    display: block;
}

.mobile-menu {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    max-width: 68%;
    margin-left: auto;
    padding: 2.5rem 2rem 0 2rem;
    background-color: #ffffff;
}

.mobile-menu-gray {
    display: flex;
    flex-flow: column;
    align-self: stretch;
    margin: 0 -2rem;
    padding: 0 2rem;
    background: #F5F5F5;
}

.mobile-menu a {
    display: flex;
    align-items: center;
    min-height: 4rem;
    border-bottom: .2rem solid transparent;
    font: 600 1.3rem/1.6rem Montserrat;
    color: #3D4153;
}

.mobile-menu a:hover, .mobile-menu > a.selected {
    border-color: #EE7950;
}

.mobile-menu a.header-top-link {
    margin: 0 !important;
    background-color: #F5F5F5;
    text-transform: none;
}

.mobile-menu .header-loc-selector {
    order: 1;
    align-items: stretch;
    margin: 0;
    font: 600 1.3rem/1.6rem Montserrat;
    color: #FFFFFF;
    background-color: #f5f5f5;
}

.mobile-menu .header-loc-selector > .header-loc {
    background-color: rgba(255,255,255,.2);
}

.mobile-menu .header-loc-selector .header-loc {
    display: flex;
    min-height: 4rem;
    margin: 0;
}

.mobile-menu .header-loc-selector .header-loc:after {
    margin: 0 0 0 var(--small-gap);
    border-top-color: #EE7950;
}

.mobile-menu .header-locs {
    position: static;
    margin: 0;
    padding: 0;
    box-shadow: none;
    background: transparent;
}

.mobile-menu .header-locs {
    padding-left: 1rem !important;
}

.mobile-menu .header-locs > .header-loc {
    font: 500 1.1rem/3.1rem Montserrat;
}

.mobile-menu-subscription {
    padding-left: 3.2rem;
    order: 2;
    background: url('/i/icon-login.svg') no-repeat left center;
}
