form label[for$="_required"] {
  font-weight: bold;
}

form .errorlist {
  color: red;
}

.infra-status {
  padding: 0.5rem 0.75rem;
  border-radius: var(--bs-border-radius);
}
.infra-status a {
  color: var(--bs-dark);
  text-decoration: none;
}
.infra-status a:hover {
  text-decoration: underline;
}
/* workaround: we have to use !important to overwrite Bootstraps !important */
.infra-status-draft-bg {
  background-color: var(--bs-dark-bg-subtle) !important;
}
.infra-status-draft-bg .cta {
  background-color: var(--bs-warning) !important;
  padding: 0.5rem 0.75rem;
  border-radius: var(--bs-border-radius);
  margin-left: 0.75rem;
}
.infra-status-review-requested-bg {
  background-color: var(--bs-warning-bg-subtle) !important;
}
.infra-status-rejected-bg {
  background-color: var(--bs-danger-bg-subtle) !important;
}
.infra-status-published-bg {
  background-color: var(--bs-success-bg-subtle) !important;
}

.infrastructure-details section + section {
  border-top: grey solid 1px;
  padding-top: 2rem;
  margin-top: 2rem;
}

.button-header {
  margin-top: -2.4rem !important;
  margin-bottom: 0.5rem !important;
}

/* fix carousel; show caption below image */
.infrastructure-details .carousel-caption-below {
  margin: 1.5rem 5% 3.5rem 5%;
  text-align: center;
}
.infrastructure-details .carousel-caption-below .headline {
  color: var(--bs-primary);
  margin-bottom: 0.5rem;
}
.infrastructure-details .carousel-indicators [data-bs-target] {
  background-color: var(--bs-primary);
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: #335383a0; /* primary + opacity */
}

.link {
  cursor: pointer;
}
.link:hover {
  color: var(--bs-primary) !important;
}

.active-filter-option {
  margin-bottom: 2rem;
}
.active-filter-option h1 {
  font-size: 1.5rem;
}
.active-filter-option p {
  margin-bottom: 0.3rem;
}

.w-fit-content {
  width: fit-content;
}

.silent-link {
  color: inherit;
  text-decoration: inherit;
}
.silent-link:hover {
  text-decoration: underline;
}

.action-buttons-cell {
  width: 0.1%;
  white-space: nowrap;
  text-align: right;
}
