.flash-container {
  position: relative;
  margin-bottom: 1rem;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

.alert-error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

.flash-message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
  box-sizing: border-box;
}

.flash-content {
  display: flex;
  align-items: center;
  min-width: 0;
  margin-right: 1.5rem;
}

.flash-icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.flash-icon-success {
  color: #28a745;
}

.flash-icon-error {
  color: #d39e00;
}

.flash-close {
  position: absolute;
  top: 0.3rem;
  right: 0.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer;
}

.flash-close-success {
  color: #0c5460;
}

.flash-close-success:hover {
  color: #1e7e34;
}

.flash-close-error {
  color: #721c24;
}

.flash-close-error:hover {
  color: #bd2130;
}

.flash-close-symbol {
  display: block;
  font-size: 2rem;
}