$background-color-1: rgba(238, 238, 238, 0.154);
$background-color-2: rgba(230, 112, 144, 0.5);
$background-color-3: rgba(238, 238, 238, 0.06);
$background-color-4: #51a4e7;
$background-color-5: transparent;
$background-color-6: #171717;
$background-color-7: rgba(23, 23, 23, 0.3);
$background-color-8: rgba(23, 23, 23, 0.7);
$background-color-9: rgba(238, 238, 238, 0.7);
$background-color-10: rgba(238, 238, 238, 0.5);

.notification.critical {
    >box {
        box-shadow: inset 0 0 0.5em 0 #e67090;
    }
}

.notification {
    >box {
        all: unset;
        box-shadow: 0 0 4.5px 0 rgba(0, 0, 0, 0.4);
        margin: 9px 9px 0;
        background-color: $bg;
        padding: 16.2px;
        border: 2px solid $contrast-bg;

        * {
            font-size: 16px;
        }
    }

    &:hover {
        .close-button {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-color: $background-color-1;
            background-color: $background-color-2;
        }
    }

    .title {
        margin-right: 9px;
        font-size: 1.1em;
    }

    .description {
        font-size: .9em;
        min-width: 350px;
    }

    .icon {
        margin-right: 9px;
    }

    .icon.img {
        border: 1px solid rgba(238, 238, 238, 0.03);
    }

    .actions {
        button {
            all: unset;
            transition: all 500ms;
            background-color: $background-color-3;
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            font-size: 1.2em;
            padding: 4.5px 9px;
            margin: 9px 4.5px 0;

            * {
                font-size: 16px;
            }

            &:focus {
                box-shadow: inset 0 0 0 1px #51a4e7;
                background-color: $background-color-1;
            }

            &:hover {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
                background-color: $background-color-1;
            }

            &:active {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
                background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
                background-color: $background-color-4;

                &:hover {
                    box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
                }
            }

            &:checked {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
                background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
                background-color: $background-color-4;

                &:hover {
                    box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
                }
            }

            &:disabled {
                box-shadow: none;
                background-color: $background-color-5;
            }

            &:first-child {
                margin-left: 0;
            }

            &:last-child {
                margin-right: 0;
            }
        }

        button.on {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
            background-color: $background-color-4;

            &:hover {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
            }
        }

        button.active {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
            background-color: $background-color-4;

            &:hover {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
            }
        }
    }

    button.close-button {
        all: unset;
        transition: all 500ms;
        background-color: $background-color-5;
        background-image: none;
        box-shadow: none;
        margin-left: 9px;
        min-width: 1.2em;
        min-height: 1.2em;

        * {
            font-size: 16px;
        }

        &:focus {
            box-shadow: inset 0 0 0 1px #51a4e7;
            background-color: $background-color-1;
        }

        &:hover {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-color: $background-color-1;
            background-color: $background-color-2;
        }

        &:active {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-color: $background-color-4;
            background-image: linear-gradient(#e67090, #e67090);

            &:hover {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
            }
        }

        &:checked {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
            background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
            background-color: $background-color-4;

            &:hover {
                box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
            }
        }

        &:disabled {
            box-shadow: none;
            background-color: $background-color-5;
        }
    }

    button.close-button.on {
        box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
        background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
        background-color: $background-color-4;

        &:hover {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
        }
    }

    button.close-button.active {
        box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03);
        background-image: linear-gradient(to right, #51a4e7, #6cb2eb);
        background-color: $background-color-4;

        &:hover {
            box-shadow: inset 0 0 0 1px rgba(238, 238, 238, 0.03), inset 0 0 0 99px rgba(238, 238, 238, 0.154);
        }
    }
}