.casher-message-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.error-message {
    display: inline-block;
    font-size: 16px;
}

.casher-row {
    height: 200px;
    display: table-row;
}

.casher-td {
    text-align: center;
    vertical-align: middle;
}

.casher-error {
    box-sizing: border-box;
    border-bottom: 2px solid #c93728;
    padding: 0.4em 0.4em 0.4em 0.4em;
    width: 100vw;
    position: fixed;
    z-index: 1;
    top: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    background: #e3b1ac;
}

.casher-error span.error-message {
    color: #c93728;
}

.casher-error.hide {
    opacity: 0;
    visibility: hidden;
    /* Animate opacity over 0.3s, delay visibility hiding until after opacity finishes */
    transition: opacity 0.3s ease-out, visibility 0s linear 0.3s;
}

.casher-error.show {
    opacity: 1;
    visibility: visible;
    /* Animate opacity over 0.3s, make visibility instantly visible (0s delay) */
    transition: opacity 0.3s ease-out, visibility 0s linear 0s;
}