/*mobile and dropdown menu*/
.menu-burger-banner-container {/*positioned within the banner*/
    position: relative;
    height: 100%;
    width: 54px;
    flex: 0 0 auto;
    margin-left: auto;
    overflow: visible;
}
.menu-burger-banner {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 54px;
    height: 40px;
    outline: none;
    text-decoration: none;
    background: url('/img/menu-burger-54x36-162x120.png') center center / contain no-repeat;
    cursor: pointer;
    z-index: 1100;
    transition: background .5s;
}
.menu-burger-banner-dropdown {
    position:absolute;
    font-size: 0;
    top: 100%;/*right below container*/
    right: 0;
    background-color: var(--bg-page-color);
    color: var(--tx-content-color);
    width: auto;
    font-weight: normal;
    transition: font-size .1s;
    padding: 0;
    border: none;
    border-bottom-left-radius: 8px;
    box-shadow: .05em .4em .8em rgba(100, 100, 100, 0.2);
}
@media (max-width: 45rem) {
    .menu-burger-banner-dropdown {
        display: none;
    }
}

.menu-burger-banner-dropdown a.menu-item {
    display: block;
    white-space: nowrap;
    padding: .3em 1em .3em 1em;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    color: var(--tx-content-color);
    font-weight: 500;
    outline: none;
}
.menu-burger-banner-dropdown a.menu-item:last-child {
    border: none;
    border-bottom-left-radius: 8px;
}
.menu-burger-banner-dropdown a.menu-item:link,
.menu-burger-banner-dropdown a.menu-item:visited {
    color: var(--tx-menu-color);
    background-color: var(--bg-menu-color);
}
.menu-burger-banner-dropdown a.menu-item:hover,
.menu-burger-banner-dropdown a.menu-item:active {
    color: var(--tx-menu-hover-color);
    background-color: var(--bg-menu-hover-color);
}
@media (min-width: 45rem) {
    .menu-burger-banner:hover + .menu-burger-banner-dropdown, .menu-burger-banner-dropdown:hover {
        font-size: 1em;
    }
}
/*the popup menu component*/
.modal-custom .modal-mobile-menu {
    /* 'font-size 0' style is one option for mobile menu, alternative to 'opacity' style */
    /*font-size:0;/ * start with 0, then transition to about 1em*/

    /* 'opacity' style is alternative to 'font-size: 0'*/
    opacity: 0;
    font-size: 1em;
    box-sizing: border-box;
    height: 100%;
    background-color: var(--bg-menu-color);

    /*common styles*/
    transition: font-size .2s, opacity .5s;
    box-sizing: border-box;
    color: var(--tx-menu-color);
    padding: 0;
}
.modal-custom .modal-mobile-menu .mobile-menu-header {
    position: relative;
    background-color: var(--bg-banner-color);
    color: var(--tx-banner-color);
    padding: .3em 0 .3em 0;
    text-align: center;
}
.modal-custom .modal-mobile-menu .mobile-menu-header .menu-cancel-modal-header {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 54px;
    height: 40px;
    background: url('/img/menu-cross-54x36-162x120.png') center center / contain no-repeat;
    cursor: pointer;
    z-index: 1100;
}
.modal-custom .modal-mobile-menu .mobile-menu-container {
    background-color: var(--bg-page-color);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding-top: .5em;
    padding-bottom: .5em;
    border: none;
    /* rounded border at the bottom is only for 'font-size: 0' style */
/*    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0 .8em .4em rgba(0, 0, 0, 0.3);*/
}
.modal-custom .modal-mobile-menu .mobile-menu-item {
    padding: .3em 0 .3em 3em;
    cursor: pointer;
    font-weight: 500;
    color: var(--tx-menu-color);
    background-color: var(--bg-menu-color);
}
.modal-custom .modal-mobile-menu .mobile-menu-item:hover,
.modal-custom .modal-mobile-menu .mobile-menu-item:active {
    color: var(--tx-menu-hover-color);
    background-color: var(--bg-menu-hover-color);
}
