*{
    box-sizing:border-box;
    margin: 0;
    padding: 0;
}

body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.button{
    cursor: pointer;
    background-color: rgb(32, 32, 32);
    color: aliceblue;
    text-align: center;
    padding: 1rem;
    margin: 1rem;
    border: none;
    outline: none;
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.1);
    z-index: 999;
    transition: 0.5s;
    font-size: 2rem;
}

.button:active{
    transform: translateY(10%) translateX(10%);
    box-shadow: 0px 0px 0px #fff;
}

.notification{
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: inherit;
    position: relative;
    color: #f2f2f2;
}

.notification::after{
    min-width: 20px;
    height: 20px;
    content: attr(data-count);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(236, 36, 170);
    position: absolute;
    top: -5px;
    right: 5px;
    transition: 0.3s;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0.5);
}

.notification::before{
    content: "\f0f3";
    font-family: "FontAwesome";
    display: block;
    color: black;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.notification.count::after{
   opacity: 1;
   transform: scale(1);  
}

.notification.notify::before{
    animation:bell 1s ease-out;
    transform-origin: center top ;
}

@keyframes bell {
    0% {
      transform: rotate(40deg);
    }
    12.5% {
      transform: rotate(-35deg);
    }
    25% {
      transform: rotate(30deg);
    }
    37.5% {
      transform: rotate(-25deg);
    }
    50% {
      transform: rotate(20deg);
    }
    62.5% {
      transform: rotate(-15deg);
    }
    75% {
      transform: rotate(10deg);
    }
    87.5% {
      transform: rotate(-5deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
  