.component_notification{ position: fixed; bottom: 20px; left: 20px; right: 0; 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: white; } &.error{ background: var(--error); color: var(--emphasis); } &.success{ background: var(--success); color: var(--emphasis); } .message{ flex: 1 1 auto; } .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; } }