.main-password {
  min-height: 100%;
  background-color: rgb(var(--color-background, --color-page-background));
}

.main-password .main__media {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
}

.main-password .main__media::after {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgb(0 0 0 / calc(var(--image-overlay-opacity) / 100));
}

.main-password .main__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.main-password .main__content-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.main-password .main__content {
  width: 100%;
  max-width: 710px;
  height: fit-content;
  word-wrap: break-word;
  background-color: rgba(var(--color-background, var(--color-page-background)));
}

.main-password .main__content .block-heading {
  font-style: italic;
}

.main-password .main__content .newsletter-form {
  display: block;
  width: 100%;
}

@media (min-width: 960px) {
  .main-password .main__content .newsletter-form {
    max-width: 360px;
  }
}

.main-password__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: var(--min-height);
}

.main-password__content--no-image .main__content-wrapper {
  position: relative;
}

.main-password__content--height-small {
  --min-height: 500px;
}

@media (max-width: 959px) {
  .main-password__content--height-small {
    --min-height: 140px;
  }
}

.main-password__content--height-medium {
  --min-height: 650px;
}

@media (max-width: 959px) {
  .main-password__content--height-medium {
    --min-height: 290px;
  }
}

.main-password__content--height-large {
  --min-height: 980px;
}

@media (max-width: 959px) {
  .main-password__content--height-large {
    --min-height: 390px;
  }
}

.main-password__content--height-adapt-image {
  --min-height: calc(100vw / var(--image-aspect-ratio));
}

@media (max-width: 959px) {
  .main-password__content--stacked .main__content-wrapper {
    padding: 0;
    background-color: rgba(
      var(--color-background, var(--color-page-background))
    );
  }

  .main-password__content--stacked .main__media {
    position: relative;
    height: var(--min-height);
  }
}
