aside#alert {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 990;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity var(--transition-duration) var(--transition-function),
        transform var(--transition-duration) var(--transition-function),
        visibility 0s linear var(--transition-duration);
    height: 100dvh;
    width: 90px;
    transform: translateX(60px);
    font-size: calc( 1.5 * var(--font-size) );
}

aside#alert.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

aside#alert.is-hidden {
    opacity: 0;
    visibility: hidden;
}

aside#alert .alert__inner {
    display: inline-flex;
    align-items: center;
    color: var(--col-black);
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    background: linear-gradient(0deg, transparent 0%, var(--col-white--area-transparent) 90%);
    background: -webkit-linear-gradient(0deg, transparent 0%, var(--col-white--area-transparent) 90%);
}

aside#alert.is-visible .alert__inner {
    background: linear-gradient(0deg, transparent 0%, var(--col-white--area) 90%);
    background: -webkit-linear-gradient(0deg, transparent 0%, var(--col-white--area) 90%);
    animation: alert-breathe 2s ease-in-out infinite;
}

aside#alert .alert__arrow {
    display: inline-block;
    transform: translateX(20px);
}

@keyframes alert-breathe {
    0% {
        opacity: .2;
    }
    50% {
        opacity: .8;
    }
    100% {
        opacity: .2;
    }
}