@mixin notification($color) color: $color .sniffle__notification-time background-color: $color .notifications margin: 0 padding: 0 width: 450px height: auto position: fixed top: 0.3rem right: 0.3rem display: flex flex-direction: column gap: 0.3rem z-index: 70 .sniffle__notification margin: 0 padding: 0 width: 450px height: auto display: flex flex-direction: row position: relative background-color: $black border-radius: $rad-inner color: $white opacity: 0 transform: scale(0.8) box-sizing: border-box overflow: hidden transition: all 0.25s ease-in-out, opacity 0.2s ease-in-out, transform 0.2s cubic-bezier(.68,-0.55,.27,1.55) .sniffle__notification-icon margin: 0 padding: 1rem width: auto height: auto display: flex justify-content: center align-items: center background-color: $black2 svg width: 1.25rem height: 1.25rem .sniffle__notification-text margin: 0 padding: 1rem width: auto height: auto display: flex flex-direction: column justify-self: center align-self: center font-size: 1rem font-weight: 600 line-height: 1 text-align: left .sniffle__notification-time margin: 0 padding: 0 width: 450px height: 3px position: absolute bottom: 0px left: 0px background-color: $white animation: notificationTimeout 4.9s linear .sniffle__notification--success @include notification($succes) .sniffle__notification--error @include notification($critical) .sniffle__notification--warning @include notification($warning) .sniffle__notification--info @include notification($info) .sniffle__notification-show opacity: 1 transform: scale(1) .sniffle__notification--hide opacity: 0 transform: translateX(100%) transition: all 0.25s ease-in-out @media (max-width: $breakpoint) .notifications width: calc(100vw - 0.6rem) height: auto .sniffle__notification width: 100% .sniffle__notification-time width: 100% .sniffle__notification--hide opacity: 0 transform: translateY(-5rem)