.component_notification{
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 70px;
    font-size: 0.95em;
    z-index: 1001;

    .component_notification--container{
        overflow: hidden;
        width: 400px;
        text-align: left;
        display: inline-block;
        padding: 15px 20px 15px 15px;
        border-radius: 2px;
        box-shadow: rgba(158, 163, 172, 0.3) 5px 5px 20px;
        display: flex;
        align-items: center;

        &.info{
            background: var(--color);
            color: rgba(255,255,255,0.8);
        }
        &.error{
            background: var(--error);
            color: rgba(0,0,0,0.5);
        }
        &.success{
            background: var(--success);
            color: rgba(0,0,0,0.5);
        }

        .message{
            flex: 1 1 auto;
            max-height: 92px;
            max-width: 100%;
            overflow: hidden;
        }
        .close{
            .component_icon{
                height: 18px;
            }
            cursor: pointer;
            padding: 0 2px;
        }
    }
}

@media (max-width: 490px){
    .component_notification{
        bottom: 0px;
        left: 0px;
        .component_notification--container{
            width: 100%;
            box-sizing: border-box;
        }
    }
}


.component_notification{
    .notification-leave{
        opacity: 1;
    }
    .notification-leave.notification-leave-active{
        opacity: 0;
        transition: opacity 0.2s ease-out;
    }

    .notification-enter{
        transform: translateY(50px);
        opacity: 0;
        display: inline-block;
    }
    .notification-enter.notification-enter-active{
        opacity: 1;
        transform: translateY(0);
        transition: all 0.1s ease-out;
    }
}

.component_notification .component_notification--container{
    box-shadow: rgba(0, 0, 0, 0.3) 5px 5px 20px;
}
