#notification {
  display: none;
}

#notifications {
  font-size: 14px;
  list-style: none;
  margin: 0;
  padding: 0 24px 0 0;
  position: absolute;
  right: 0;
  top: 0;
}
#notifications:not(:empty)::before {
  background: url("icon/notification.svg") center no-repeat;
  content: "";
  cursor: pointer;
  height: 24px;
  position: absolute;
  right: 1px;
  top: 1px;
  width: 24px;
}
#notifications.ring::before {
  animation: ring 4s 0.7s ease-in-out infinite;
  transform-origin: 50% 4px;
}
#notifications > li {
  border: 1px solid;
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.2) 0 3px 5px -1px, rgba(0, 0, 0, 0.14) 0 6px 10px 0;
  cursor: pointer;
  transition: 0.1s;
}
#notifications:not(.visible) > li:not(.new) {
  height: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
}
#notifications.visible > li, #notifications > li.new {
  margin: 0.5em 0.5em 0;
  padding: 0.8em 1.2em;
}
#notifications > li:not(.read) {
  color: white;
}
#notifications > li:not(.read):not(.error) {
  background: #333;
  border-color: #333;
}
#notifications > li:not(.read).error {
  background: #b22;
  border-color: #b22;
}
#notifications > li.read:not(.error) {
  background: #eee;
  border-color: #ccc;
  color: #333;
}
#notifications > li.read.error {
  background: #fee;
  border-color: #fcc;
  color: #b22;
}
