message-container{
    display: flex;
    flex-direction: column;
    position: fixed;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    margin: 15px;
    width: max(25vw, 30%);
    z-index: calc(var(--project-modal-z-index) + 100);
}

message-container:empty{
    display:none;
}

.cdx-notify {
    z-index: var(--project-modal-z-index) + 100;
}

message-item {
    display:flex;
/*     flex-direction: row; */
    box-sizing: border-box;
    animation-play-state: running;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-duration: 800ms;
    overflow: hidden;
    background: white;
    color: black;
    border-radius: 4px;
    box-shadow: 5px 0px 20px rgba(0,0,0,.3);
    /* --height: 100px; */
    /* --min-height: 100px; */
    height: auto;
    max-height: calc(100vh - calc(var(--margins) * 4));
    --margins: 15px;
    margin: var(--margins);
    /* padding: 15px; */
    position: relative;
    interpolate-size: allow-keywords;
    @starting-style {
        height: 0;
    }
}

    message-item i{
        min-height: 100px;
        width: 1.2em;
        font-size: 3rem;
        white-space: nowrap;
        flex-grow: 0;
        flex-shrink: 0;
        box-sizing: border-box;
        padding: 0 calc(var(--margins) / 2);
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    message-item div.message-container{
        padding: calc(var(--margins) / 2) 0;
        /* height: var(--height); */
        box-sizing: border-box;
        display: inline-block;
        align-items: center;
        padding-right: 1em;
        max-height: 100%;
        overflow-y: scroll;
        scrollbar-width: none;
        box-sizing: border-box;
    }

    message-item button{
        height: 1.5em;
        width: 1.5em;
        background-color: var(--project-color-table-border);
        color: var(--project-color-input-border-nofocus);
        border: none;
        border-left: 1px solid var(--project-color-input-border-nofocus);
        padding: 0;
        flex-grow: .1;
        position: absolute;
        top: 0;
        right: 0;
    }

    .status-message--opening {
        animation-name: status-message--opening;
    }

    .status-message--closing {
        animation-name: status-message--closing;
    }
    
    


@keyframes status-message--opening{
    from {
        height: 0;
        padding: 0;
        margin: 0 var(--margins);
        opacity: 0;
    }
}

@keyframes status-message--closing {
    to {
        height: 0px;
        margin: 0 var(--margins);
        opacity: 0;
    }
}

    .status-message--no {
        animation-name: status-message--no;
        animation-timing-function: cubic-bezier(.36,.07,.19,.97);
        animation-fill-mode: both;
        animation-duration: 500ms;
        animation-iteration-count: 1;
        backface-visibility: hidden;
        perspective: 1000px;
    }

@keyframes status-message--no {
    10%, 90% {
      transform: translate3d(-1px, 0, 0);
    }
    
    20%, 80% {
      transform: translate3d(2px, 0, 0);
    }
  
    30%, 50%, 70% {
      transform: translate3d(-4px, 0, 0);
    }
  
    40%, 60% {
      transform: translate3d(4px, 0, 0);
    }
}

    .status-message--update {
        animation-name: status-message--update;
        animation-duration: 300ms;
        animation-timing-function: ease-in;
    }

@keyframes status-message--update {
    from {
        transform: scale(1.1);
    }
}

/* status-item */

@media only screen and (max-width: 35em) {
    message-container {
        width:100vw;
        margin: 0;
    }
    
}

message-item[name="success"] i {
    color: var(--project-color-active);
}

:is(message-item[name="warning"],message-item.status-message--warning) {
    border: 1px solid var(--project-color-input-invalid-border);
}

:is(message-item[name="warning"] i, message-item.status-message--warning i) {
    color: var(--project-color-input-invalid-border);
}

:is(message-item[name="error"],message-item.status-message--error) {
    background-color: var(--project-color-input-invalid-border);
    color: white;
}

:is(message-item[name="error"],message-item.status-message--error) button {
    border-left: rgba(255,255,255,.8);
    color: white;
}

:is(message-item[name="error"],message-item.status-message--error) button:hover {
    background: white;
    color:var(--project-color-input-invalid-border);
}

:is(message-item[name="error"],message-item.status-message--error) i {
    color: white;
}

message-item[name="pizza"] {
    background-color: #facd8e;
    color: black;
    border: 3px solid #f8efd9;
}

    message-item[name="pizza"] i {
        color: #b52a04;
    }

    message-item[name="pizza"] button {
        border-left: inherit;
        color: #f8efd9;
    }

    message-item[name="pizza"] button:hover {
        background: #fb8b23;
    }
