/* --- Text on background image --- */
/* Desktop: text box floats on the background image. Below 768px the background
   image is hidden, the section falls back to the secondary color and the image
   is shown inline below the text. */
.text_on_backgroundimage-wrapper {
  width: 100%;
  padding: 90px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-color: var(--secondary-color);
  color: var(--secondary-font);
}
@media (min-width: 769px) {
  .text_on_backgroundimage-wrapper {
    color: inherit !important;
  }
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper {
    background-image: none !important;
    align-items: flex-start !important;
    padding: 45px 0 30px 0;
    /* was an inline <style> block in the legacy element: on mobile the
       section background is the secondary color, so the headline accent
       bar and blockquotes need the matching font color */
  }
  .text_on_backgroundimage-wrapper .comp-headline:not(.custom-color)::after {
    background: var(--secondary-font);
  }
  .text_on_backgroundimage-wrapper blockquote {
    color: var(--secondary-font);
    border-color: var(--secondary-font);
  }
}
.text_on_backgroundimage-wrapper.background-image-topleft {
  background-position: left top;
}
.text_on_backgroundimage-wrapper.background-image-topcenter {
  background-position: center top;
}
.text_on_backgroundimage-wrapper.background-image-topright {
  background-position: right top;
}
.text_on_backgroundimage-wrapper.background-image-centerleft {
  background-position: left center;
}
.text_on_backgroundimage-wrapper.background-image-centercenter {
  background-position: center center;
}
.text_on_backgroundimage-wrapper.background-image-centerright {
  background-position: right center;
}
.text_on_backgroundimage-wrapper.background-image-bottomleft {
  background-position: left bottom;
}
.text_on_backgroundimage-wrapper.background-image-bottomcenter {
  background-position: center bottom;
}
.text_on_backgroundimage-wrapper.background-image-bottomright {
  background-position: right bottom;
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1200px;
  padding: 0 30px;
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper .text_on_backgroundimage {
    flex-direction: column;
    align-items: flex-start !important;
  }
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container {
  display: flex;
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container.align-left {
  justify-content: flex-start;
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container.align-right {
  justify-content: flex-end;
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent {
  width: 60%;
  padding: 30px;
  background: #fff;
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent {
    width: 100%;
    background: transparent;
    padding: 0 0 !important;
  }
}
@media (max-width: 450px) {
  .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent {
    width: 100%;
  }
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text {
  /* fix primary on primary */
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text ul li ul {
  margin-top: 5px;
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text h3,
.text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text h4 {
  margin-top: 1.8rem;
  margin-bottom: 1.3rem;
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text a {
    color: white;
    text-decoration: underline;
  }
  .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text svg {
    fill: white;
  }
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .image-container {
  display: none;
  padding: 30px;
  position: relative;
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper .text_on_backgroundimage .image-container {
    display: flex;
    padding: 15px 0 !important;
  }
}
.text_on_backgroundimage-wrapper .text_on_backgroundimage .image-container .author {
  display: inline-block;
  bottom: 0.5rem;
}
.text_on_backgroundimage-wrapper .author {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  padding: 10px 15px;
  max-width: 100%;
  max-height: 100px;
  overflow: auto;
  font-size: 0.75rem;
}
@media (max-width: 768px) {
  .text_on_backgroundimage-wrapper .author {
    display: none;
  }
}

/* --- Template 2: text box on the text itself, adjusted spanified headline --- */
.is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent,
.is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent {
  padding: 0;
  background: transparent;
}
.is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline,
.is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline {
  border-color: var(--secondary-font);
}
@media (max-width: 991px) {
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline {
    margin-left: 0;
    border-left: solid 15px;
  }
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline::before, .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline::after,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline::before,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline::after {
    display: block;
    width: 15px;
    left: -15px;
  }
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline span,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline span {
    padding: 0.1em 0.5rem 0.1em 0;
    margin-right: 0;
  }
}
@media (max-width: 768px) {
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline {
    margin-bottom: 30px;
  }
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline span,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .comp-headline span {
    padding: 0;
    padding-right: 8px;
  }
}
.is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text,
.is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text {
  padding: 15px;
  background-color: #fff;
}
@media (max-width: 768px) {
  .is-template2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text,
  .is-template-2 .text_on_backgroundimage-wrapper .text_on_backgroundimage .text-container .textcontent .text {
    background-color: transparent;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.is-template2 .text_on_backgroundimage-wrapper .author,
.is-template-2 .text_on_backgroundimage-wrapper .author {
  padding: 20px 15px;
}
