
@keyframes bell-shake {
  0%  { transform: rotate(0deg); }
  10% { transform: rotate(10deg); }
  20% { transform: rotate(-10deg); }
  30% { transform: rotate(10deg); }
  40% { transform: rotate(-10deg); }
  50% {  transform: rotate(10deg); }
  60% { transform: rotate(-10deg); }
  70% { transform: rotate(10deg); }
  80% { transform: rotate(-10deg); }
  90% { transform: rotate(10deg); }
  100% { transform: rotate(0deg); }
}

.notification-bell {
  position: relative;
  z-index: 2;
  height: 24px;

  .ph-bell {
    display: inline-block;
    cursor: pointer;
  }

  &:hover,
  &:focus {
    .ph-bell {
      animation: bell-shake 1s infinite;
    }
  }

  .card:hover,
  .card:focus {
    .action-buttons { opacity: 1; }
  }

  .count {
    background-color: red;
    color: white;
    font-weight: 600;
    border-radius: 50%;
    font-size: 10px;
    width: 14px;
    height: 14px;
    line-height: 14px;
    text-align: center;
    position: absolute;
    top: -5px;
    right: -5px;
  }

  .notification-list {
    flex-direction: column;
    padding: var(--base-spacing);
    position: absolute;
    width: 300px;
    max-width: 80vw;
    z-index: 100;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    right: 0;
    max-height: 80vh;

    .scroll-list {
      /* max-height: 90%; */
      overflow-y: auto;
    }
  }

  .action-buttons {
    opacity: 0;
    transition: opacity 0.15s;
  }
}