:root {
    --toast-background: #292B2D;
    --toast-success: #9CE6A8;
    --toast-danger: #d63939;
    --toast-warning: #f76707;
    --toast-info: #4299e1;
    --toast-show-time: 60s;
}

.aous_aw_notification {
    position: fixed;
    background-color: var(--toast-background);
    color: var(--aous-aw-white);
    max-width: 320px;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    animation: fade-in var(--toast-show-time) linear;
    border-radius: 12px;
    z-index: 99999;
    transform: translateY(5px);
}

.aous_aw_notification[data-position='top-right'] {
    top: 0.5rem;
    right: 0;
}

.aous_aw_notification[data-position='top-left'] {
    top: 0.5rem;
    left: 0;
}

.aous_aw_notification[data-position='top-center'] {
    top: 1%;
    left: 40%;
}

.aous_aw_notification[data-position='bottom-right'] {
    bottom: 0.5rem;
    right: 0;
}

.aous_aw_notification[data-position='bottom-left'] {
    bottom: 0.5rem;
    left: 0;
}

.aous_aw_notification[data-position='bottom-center'] {
    bottom: 1%;
    left: 40%;
}

.aous_aw_notification_description {
    display: flex;
    gap: 4px;
    align-items: center;
    font-size: 0.9rem;
    flex-grow: 2;
}

.aous_aw_notification_icon {
    height: 26px;
    width: 26px;
    margin-right: 4px;
}

.aous_aw_notification_body {
    display: flex;
    flex-direction: row;
    padding: 12px;
}

.aous_aw_notification_progress {
    position: absolute;
    left: 8px;
    bottom: 4px;
    width: calc(100% - 16px);
    height: 3px;
    transform: scaleX(0);
    transform-origin: left;
    border-radius: inherit;
    animation: progress var(--toast-show-time) 500ms linear;
}

.icon_wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    margin-right: 8px;
    padding: 6px;
}

.aous_aw_notification[data-color="success"] .icon_wrapper {
    background-color: var(--toast-success);
}

.aous_aw_notification[data-color="success"] .aous_aw_notification_progress {
    background: linear-gradient(to right, var(--toast-background), var(--toast-success));
}

.aous_aw_notification[data-color="danger"] .icon_wrapper {
    background-color: var(--toast-danger);
}

.aous_aw_notification[data-color="danger"] .aous_aw_notification_progress {
    background: linear-gradient(to right, var(--toast-background), var(--toast-danger));
}

.aous_aw_notification[data-color="warning"] .icon_wrapper {
    background-color: var(--toast-warning);
}

.aous_aw_notification[data-color="warning"] .aous_aw_notification_progress {
    background: linear-gradient(to right, var(--toast-background), var(--toast-warning));
}

.aous_aw_notification[data-color="info"] .icon_wrapper {
    background-color: var(--toast-info);
}

.aous_aw_notification[data-color="info"] .aous_aw_notification_progress {
    background: linear-gradient(to right, var(--toast-background), var(--toast-info));
}

.icon_wrapper svg {
    stroke: var(--aous-aw-white);
    stroke-width: 3px;
}

@keyframes fade-in {
    5% {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    95% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes progress {
    to {
        transform: scaleX(1);
    }
}
