﻿:root {
    font-family: sans-serif;
    font-size: 16px;
    --gradient: linear-gradient(to bottom, var(--bs-primary2), var(--bs-primary), var(--bs-primary3));
    --color: #ffffff;
    --startingMargin: 75px;
    --hoverMove: 2px;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.notifications {
    width: 18rem;
    display: flex;
    flex-direction: column;
    justify-content: end;
    margin: 0.5rem;
    top: 10px;
    left: 44%;
    transform: translateX(-44%);
    /*margin-inline-start: 100px;*/
    position: fixed;
    z-index: 9999;
}

.noti {
    position: relative;
    height: 0;
    transition: height 300ms ease;
    flex-shrink: 0;
    opacity: 1;
}

    .noti.out {
        animation: notiOut 500ms ease forwards
    }

@keyframes notiOut {
    to {
        height: 0;
    }
}

.noticard {
    position: absolute;
    bottom: 0;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    width: calc(300px + 10vw);
    min-height: 5rem;
   
    background: #29292c;
    border-radius: 1rem;
    border: 1px solid #646464;
    overflow: hidden;
    animation: notiCardIn 500ms ease;
    box-shadow: 0px 0px 20px rgb(0, 0, 0);
    transition: 300ms ease;
}

    .noticard:hover {
        margin-inline-start: 4px;
    }

@keyframes notiCardIn {
    from {
        transform: translateY(50%);
        opacity: 0;
    }
}

.noti.out .noticard {
    animation: notiCardOut 500ms ease forwards
}

@keyframes notiCardOut {
    to {
        opacity: 0;
        transform: translateY(0);
    }
}

.noticard:before {
    position: absolute;
    content: "";
    inset: 0.0625rem;
    border-radius: 0.9375rem;
    background: #18181b;
    z-index: 2
}


.notiicon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    transition: 300ms ease;
    z-index: 10;
    margin-inline-start:19px;
    color: red;
}
.noti:hover .notiicon {
    margin-inline-start: calc(19px + var(--hoverMove));
}



.noticard:hover:after {
    margin-inline-start: calc(var(--startingMargin) + var(--hoverMove));
}

.notititle {
    color: var(--color);
    padding: 0.65rem 0.5rem 0.4rem;
    padding-inline-start: 1.25rem;
    margin-inline-start: var(--startingMargin);
    font-weight: 500;
    font-size: 1.1rem;
    transition: 300ms ease;
    z-index: 5;
}

.noti:hover .notititle {
    margin-inline-start: calc(var(--startingMargin) + var(--hoverMove));
}

.notidesc {
    color: #99999d;
    padding: 0 0.5rem 0.85rem;
    padding-inline-start: 1.25rem;
    transition: 300ms ease;
    z-index: 5;
    margin-inline-start: var(--startingMargin);
}

.noti:hover .notidesc {
    margin-inline-start: calc(var(--startingMargin) + var(--hoverMove));
}

.notiglow, .notiborderglow {
    position: absolute;
    width: 20rem;
    height: 20rem;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle closest-side at center, white, transparent);
    opacity: 0;
    transition: opacity 300ms ease;
}

.notiglow {
    z-index: 3;
}

.notiborderglow {
    z-index: 1;
}

.noti:hover .notiglow {
    opacity: 0.1
}

.noti:hover .notiborderglow {
    opacity: 0.1
}
