div.messageSektion {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: max-content;
  max-width: calc(100vw - 2rem);
  z-index: 2;
  transition: 0.3s all ease;
}

div.messageSektion.close {
  top: -2rem;
  opacity: 0;
  pointer-events: none;
}

div.messageSektion div.message {
  display: flex;
  justify-content: center;
  padding: 1rem 0;
}

div.messageSektion div.message p {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.8rem 2.5rem;
  border-radius: 3px;
  font-weight: 500;
  font-size: 0.95rem;
}

div.messageSektion div.message p i {
  font-size: 1.3rem;
  margin-left: 1.5rem;
  cursor: pointer;
}

div.messageSektion div.message p.error {
  background-image: linear-gradient(to right, #e52d27 0%, #f7524c 51%, #e52d27 100%);
  background-size: 200% auto;
}

div.messageSektion div.message p.info {
  background-color: #89cff0;
}

div.messageSektion div.message p.success {
  background-image: linear-gradient(to right, #2ebf6c 0%, #22df71 51%, #2ebf6c 100%);
  background-size: 200% auto;
}

/* Mit der Seitenleiste (sidebar.css): In schmalen Fenstern sitzt die Meldung unter der Kopfzeile, sonst läge sie dahinter.
   Ab 1280 Pixel steht die Leiste links, die Meldung bleibt rechts davon. :not(.close) lässt das Ausblenden weiter nach
   oben gleiten. */
.appSidebar ~ main div.messageSektion:not(.close) {
  top: calc(var(--topbarHeight) + 1rem);
}

@media (min-width: 1280px) {
  .appSidebar ~ main div.messageSektion {
    max-width: calc(100vw - var(--sidebarWidth) - 2rem);
  }

  .appSidebar ~ main div.messageSektion:not(.close) {
    top: 1rem;
  }
}

/* Telefone (unter 600 Pixel): die Meldung läuft zwischen den Rändern, der Text bricht um */
@media (max-width: 599px) {
  div.messageSektion {
    left: 1rem;
    right: 1rem;
    width: auto;
  }

  div.messageSektion div.message p {
    padding: 0.9rem 1.25rem;
    overflow-wrap: anywhere;
  }
}
