:host {
    --menu-min-width: 270px;
    --menu-max-width: 28%;
    --menu-box-shadow: var(--core-menu-box-shadow-end);
    --menu-z: 2;
    --menu-border-width: 1;
    --menu-display: flex;
    --content-display: block;
    --content-outlet-display: none;
    --content-placeholder-display: var(--content-display);

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    position: absolute;
    inset: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    contain: strict;

    .menu,
    .content-outlet {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        position: relative;
        box-shadow: none;
        z-index: 0;
    }

    .menu {
        box-shadow: var(--menu-box-shadow);
        z-index: var(--menu-z);
        display: var(--menu-display);
        flex-shrink: 0;
        order: -1;
        width: 100%;
        border-inline-start: 0;
        border-inline-end: var(--border);
        min-width: var(--menu-min-width);
        max-width: var(--menu-max-width);
    }

    .content-outlet {
        display: var(--content-outlet-display);
        flex: 1;

        ::ng-deep ion-header {
            display: none;
        }

    }

    .content-placeholder {
        display: var(--content-placeholder-display);
        flex: 1;
        position: relative;
        background-color: var(--ion-background);
    }

}

:host(.menu-only) {
    --menu-min-width: 0;
    --menu-max-width: 100%;
    --content-display: none;
    --menu-border-width: 0;
    --menu-box-shadow: none;
    --menu-z: 0;
    --selected-item-color: transparent;
}

:host(.content-only) {
    --menu-display: none;
    --menu-border-width: 0;
}

:host(.outlet-activated) {
    --content-placeholder-display: none;
    --content-outlet-display: var(--content-display);
}

:host-context(ion-app.md) {
    --border: calc(var(--menu-border-width) * 1px) solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, .13))));
}

:host-context(ion-app.ios) {
    --border: calc(var(--menu-border-width) * .55px) solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));
}
