/* Block Pattern Styling
--------------------------------------------- */
/* Normalizer ---------------- */
.reference__img img {
  width: 100%;
}

/* Stacking Images / Text ---------------- */
.reference__image_stack figure {
  margin-block: 0;
}

.reference__image_stack.right .image__stack_left .reference__img img,
.reference__image_stack.left .image__stack_right .reference__img img {
  height: 100%;
  object-fit: cover;
}

.reference__image_stack.left.text .image__stack_left .wp-block-group,
.reference__image_stack.right.text .image__stack_right .wp-block-group {
  padding-inline: 3rem;
}

@media (max-width: 992px) {
  .reference__image_stack.right .image__stack_left .reference__img {
    padding-bottom: 1.5rem;
  }
}

/* Stacking left */
.reference__image_stack.left
  .image__stack_right
  :is(.reference__img, .reference__img img) {
  height: 100%;
}

.reference__image_stack.left .image__stack_left .reference__img:first-of-type {
  padding-bottom: 0.75rem;
}

.reference__image_stack.left .image__stack_left .reference__img:last-of-type {
  padding-top: 0.75rem;
}

.reference__image_stack.left .image__stack_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (max-width: 992px) {
  .reference__image_stack.left .image__stack_left .reference__img:last-of-type {
    margin-bottom: 1.5rem;
  }
}

/* Stacking right */
.reference__image_stack.right
  .image__stack_left
  :is(.reference__img, .reference__img img) {
  height: 100%;
}

.reference__image_stack.right
  .image__stack_right
  .reference__img:first-of-type {
  padding-bottom: 0.75rem;
}

.reference__image_stack.right .image__stack_right .reference__img:last-of-type {
  padding-top: 0.75rem;
}

.reference__image_stack.right .image__stack_right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Stacking right with text */
@media (max-width: 992px) {
  .reference__image_stack.left.text .image__stack_left .wp-block-group,
  .reference__image_stack.right.text .image__stack_right .wp-block-group {
    padding-top: 3rem;
    padding-bottom: 1.5rem;
  }
}

/* Stacking right with text / video left */
.reference__image_stack.video :is(.reference__video, .reference__video video) {
  height: 100%;
}

.reference__image_stack.video .reference__video video {
  object-fit: cover;
}

/* Stacking right with image / video */
.reference__image_stack.right.video_bottom video {
  margin-top: 0.75rem;
}

/* Stacking right with video / image */
.reference__image_stack.right.video_top video {
  margin-bottom: 0.75rem;
}

/* General */
@media (max-width: 1200px) {
  .reference__image_stack.left.text .image__stack_left .wp-block-group,
  .reference__image_stack.right.text .image__stack_right .wp-block-group {
    padding-inline: 0rem;
  }
}

@media (max-width: 576px) {
  .reference__title_paragraph,
  .reference__paragraph_big {
    padding-block: 1rem;
  }
}

/* Colored Tiles ---------------- */
.reference__colored_tile_row figure {
  margin-block: 0;
}

.reference__colored_tile_row p {
  max-width: 576px;
}

.darkmode__theme
  .reference__colored_tile_row
  .reference__colored_text_tile
  .wp-block-group
  *.has-text-color {
  color: var(--cDef) !important;
}

.darkmode__theme
  .reference__colored_tile_row
  .reference__colored_text_tile
  .wp-block-group
  *:not(.has-text-color) {
  color: var(--cWhite) !important;
}

.reference__colored_tile_row .reference__colored_text_tile .wp-block-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.reference__colored_tile_row .reference__colored_text_tile .wp-block-group * {
  margin-left: 0 !important;
}

.reference__colored_tile_row
  .reference__colored_text_tile
  .wp-block-group
  p:last-of-type {
  margin-bottom: 0;
}

/* Text left */
.reference__colored_tile_row.left
  .reference__colored_tile_left
  .reference__colored_text_tile {
  position: relative;
  width: 100%;
  height: 100%;
}

.reference__colored_tile_row.left
  .reference__colored_tile_left
  .reference__colored_text_tile
  .wp-block-group {
  aspect-ratio: 1/1;
  padding: 1.5rem;
}

/* Text right */
.reference__colored_tile_row.right
  .reference__colored_tile_right
  .reference__colored_text_tile {
  position: relative;
  width: 100%;
  height: 100%;
}

.reference__colored_tile_row.right
  .reference__colored_tile_right
  .reference__colored_text_tile
  .wp-block-group {
  aspect-ratio: 1/1;
  padding: 1.5rem;
}

@media (max-width: 992px) {
  .reference__colored_tile_row figure {
    padding-bottom: 1.5rem;
  }

  .reference__colored_tile_row.left
    .reference__colored_tile_left
    .reference__colored_text_tile
    .wp-block-group,
  .reference__colored_tile_row.right
    .reference__colored_tile_right
    .reference__colored_text_tile
    .wp-block-group {
    aspect-ratio: auto;
  }
}

/* Image Slider ---------------- */
.reference__slider_image_row_2
  :is(.image_slider__wrapper, .swiper, .swiper-slide img) {
  height: 100%;
}

.reference__slider_image_row_2 .swiper-slide img {
  object-fit: cover;
}

@media (max-width: 768px) {
  .reference__slider_image_row_2 .image_slider__wrapper .swiper-slide {
    aspect-ratio: 1/1;
  }

  .reference__slider_image_row_2 .col-12:first-of-type {
    padding-bottom: 1.5rem;
  }
}

/* Image Slider ---------------- */
.image_slider__wrapper .swiper-slide img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  display: block;
  margin: 0;
}

.image_slider__navigation_button {
  background: transparent;
  border: none;
  color: var(--cDef);
  padding: 0;
}

.image_slider__navigation_pagination {
  width: fit-content;
  display: flex;
  align-items: center;
}

/* ! Turned off as it caused flickering ------------------ */

/* .image_slider__wrapper .swiper-slide:not(.swiper-slide-active) {
  opacity: 0 !important;
} */

@media (max-width: 576px) {
  .image_slider__navigation_button {
    transform: scale(0.8);
  }

  .hero__image_slider .image_slider__wrapper .swiper-slide img {
    aspect-ratio: 9/16;
  }
}

/* Hero variant */
body.darkmode__theme .image_slider__wrapper[data-theme-mode='light'] {
  display: none !important;
}

body:not(.darkmode__theme) .image_slider__wrapper[data-theme-mode='dark'] {
  display: none !important;
}

/* Colored Background ---------------- */
.darkmode__theme .references__colored_background_cover *:not(.has-text-color) {
  color: var(--cDef) !important;
}

.references__colored_background_cover .wp-block-group {
  max-width: 768px !important;
}

.references__colored_background_cover .wp-block-group .reference__img {
  width: fit-content !important;
  margin-top: 3rem;
}

@media (max-width: 576px) {
  .references__colored_background_content .wp-block-cover {
    min-height: 576px !important;
  }
}

/* Local videos ---------------- */
.reference__video_row_1 .video__basic.reference__video {
  overflow: hidden;
}

.reference__video_row_1 .video__basic.reference__video video {
  transform: scale(1.015);
  object-fit: cover;
}

/* Local video / Text ---------------- */
.reference__video_left_text_right .col-12:first-of-type {
  margin-bottom: 1.5rem;
}

/* General spacing ---------------- */
/* Paragraph Big */
.reference__paragraph_big {
  padding-block: 3rem;
}

.reference__paragraph_big * {
  line-height: 1.25;
}

.reference__paragraph_big p:last-of-type {
  margin-bottom: 0;
}

/* Title + Paragraph 2 Columns */
.reference__text_row_2 {
  padding-block: 3rem !important;
  margin-bottom: 0;
}

/* Title + Paragraph Big Right */
.reference__title_paragraph {
  padding-block: 3rem;
}

.reference__title_paragraph :last-child {
  margin-bottom: 0;
}

.reference__title_paragraph p:last-of-type {
  margin-bottom: 0;
}

/* Paragraph Padding */
.reference__paragraph_padding p:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 1400px) {
  :is(.reference__img_left_text_right, .reference__img_left_text_left)
    .reference__paragraph_padding {
    padding-top: 4.5rem;
    padding-bottom: 3rem;
    text-align: center;
  }
}

@media (max-width: 992px) {
  /* Multiple Image Rows */
  :is(.reference__image_row_2, .reference__image_row_3, .reference__image_row_4)
    .col-12:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }

  /* Video / Image Row // Image / Video Row */
  :is(
      .reference__row_video_left_image_right,
      .reference__row_video_left_image_left
    )
    .col-12:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}

@media (max-width: 576px) {
  /* Multiple Image Rows */
  .reference__image_row_2 {
    margin-bottom: 0rem !important;
  }
}

/* Videos - external and Video Tiles */
.video_overlay__wrapper {
  width: 100%;
  cursor: pointer;
  position: relative;
}

.video_overlay__background {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 1;
  aspect-ratio: 16/9;
}

.video_overlay__wrapper[data-dimensions='4_3'] .video_overlay__background {
  aspect-ratio: 4/3 !important;
}

.video_overlay__wrapper[data-dimensions='1_1'] .video_overlay__background {
  aspect-ratio: 1/1 !important;
}

.video_overlay__hover {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: 0.3s all ease !important;
  z-index: 2;
  display: block;
}

.video_overlay__wrapper:hover .video_overlay__hover {
  opacity: 1;
}

.video_overlay__button {
  background: transparent;
  border: none;
  padding: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  transition: 0.3s bottom ease;
}

.reference__video_tile_text_wrapper .video_overlay__button {
  top: 70%;
}

.video_overlay__button svg {
  width: clamp(200px, 50vw, 30rem);
}

:is([data-dimensions='1_1'], [data-dimensions='4_3'])
  .video_overlay__button
  svg {
  width: clamp(200px, 15vw, 30rem);
}

.reference__video_tile_text_wrapper .video_overlay__button svg {
  width: clamp(200px, 50vw, 10rem);
}

.darkmode__theme .reference__video_tile_text * {
  color: var(--cWhite) !important;
}

/* .video_overlay__button .play__icon {
  transform: translateY(0rem);
  transition: 0.3s all ease;
}

.video_overlay__button:hover .play__icon {
  transform: translateY(-1rem);
} */

.video_overlay__wrapper[data-dimensions='4_3'] .video_overlay__button {
  bottom: 2rem;
}

.video_overlay__wrapper.dark .video_overlay__button.play svg path {
  fill: var(--cDef);
}

.video_overlay__wrapper.dark .video_overlay__button.play svg .outer_ring {
  stroke: var(--cDef);
}

.video_overlay__wrapper.dark .video_overlay__button.play span {
  color: var(--cDef);
}

.video_overlay__wrapper[data-dimensions='4_3'] .video_overlay__button span {
  display: none;
}

.modal-backdrop.show {
  opacity: 0.9;
}

/* Video Tile 4:3 and 1:1 */
.reference__video_external_row_3.text.tile .reference__video_tile_text_wrapper {
  height: 100%;
}

.reference__video_external_row_3.text.tile .reference__video_tile_text {
  padding: 1.25rem 1rem;
}

.reference__video_external_row_3.text.tile
  .reference__video_tile_text
  p:not(.is-style-h-lg) {
  font-size: 16px;
}

@media (max-width: 1200px) {
  .reference__video_external_row_3.tile .col-12 {
    padding-bottom: 1.5rem;
  }

  .reference__video_external_row_3.tile.text .col-12 {
    max-width: 100%;
    flex-basis: 100%;
  }

  .reference__video_external_row_3.tile .col-12:last-of-type {
    padding-bottom: 0rem;
  }
}

@media (max-width: 992px) {
  .reference__video_external_row_3.tile:not(.text) .col-12 {
    padding-bottom: 1.5rem;
  }

  .reference__video_external_row_3.text.tile {
    margin-bottom: 0 !important;
  }

  .reference__video_external_row_3.text.tile .col-12 {
    margin-bottom: 1.5rem;
  }
}

/* Overlay Modal */
.video_overlay__modal :is(iframe, video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.video_overlay__player_wrapper {
  width: 100%;
  aspect-ratio: 16/9;
}

.video_overlay__modal .modal-dialog {
  width: 85% !important;
  max-width: 1860px !important;
}

.video_overlay__modal .modal-content {
  border: none;
  border-radius: 0;
  background: transparent;
}

/* Cookies */
.cookies__not_allowed {
  display: none !important;
}

.cookies__not_allowed.active {
  display: flex !important;
}

/* @media (min-width: 1860px) {
  .video_overlay__background {
    aspect-ratio: 16/7;
  }
} */

/* Close Button */
.video_overlay__modal_close_button {
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  padding: 0;
  background-color: var(--cPink);
  border-color: var(--cPink);
  margin-bottom: 1rem;
}

.video_overlay__modal_close_button span {
  display: block;
  width: 60%;
  height: 4px;
  border-radius: 0;
}

.video_overlay__modal_close_button span:nth-child(1) {
  position: absolute;
  top: 23px;
  background: var(--cDef);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
}

.video_overlay__modal_close_button span:nth-child(2) {
  position: absolute;
  top: 23px;
  background: var(--cDef);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
}

.video_overlay__modal_close_button span:nth-child(3) {
  opacity: 0;
}

.video_overlay__modal .modal-header {
  background: transparent;
  border: none;
  padding: 0;
  display: flex;
  justify-content: flex-end;
}

/* ---------------------------------------------- */
/* References ----------------------------------- */
/* ---------------------------------------------- */
.single-referenzen figure {
  margin-block: 0;
}

.single-referenzen .entry-content > .wp-block-group:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

/* Pre footer social media ---------------- */
.reference__social_media_styling {
  min-height: 37px;
}

.reference__social_media_styling:not(span) {
  text-decoration: underline;
  margin-top: 3px;
}

/* Pre footer meta ---------------- */
.reference__meta {
  max-width: 50%;
  flex-basis: 50%;
  padding-right: 0.5rem;
}

.reference__meta .bsAccentline__after::after {
  background-color: var(--cDef);
  font-family: var(--family-body) !important;
}

.reference__meta .bsAccentline__after {
  font-family: var(--family-body);
}

.reference__meta :is(p, a) {
  font-family: var(--family-alternative);
}

.reference__meta a:hover,
.reference__meta a:focus {
  text-decoration: underline;
}

@media (max-width: 1200px) {
  .reference__social_media_styling {
    margin-bottom: 1rem;
  }
}

/* Bottom Navigation ---------------- */
.reference__navigation_seperator {
  background: var(--cDef);
  opacity: 1;
  margin: 0;
  padding: 0;
  height: 4px !important;
}

.reference__navigation_seperator.lower {
  opacity: 0.05;
}

.quoteBlock.small p:not(.quote__first_line, .quote__second_line) {
  text-decoration: none;
}

.reference__bottom_navigation_cta {
  max-width: 100%;
  flex-basis: 100%;
}

.reference__bottom_navigation_cta
  .btn__wrapper.outline__wrapper
  .default__btn_pill.btn__prime_outline {
  padding-block: 0 !important;
}

@media (min-width: 993px) {
  .reference__bottom_navigation_sides {
    max-width: 50%;
    flex-basis: 50%;
    box-sizing: border-box;
  }

  .reference__bottom_navigation_right {
    padding-left: 0.75rem;
  }
}

/* Image / Video / Image ---------------- */
.reference__image_and_video_row_3 :is(.reference__img, .reference__img img) {
  height: 100%;
}

.reference__image_and_video_row_3 .reference__img img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 992px) {
  .reference__image_and_video_row_3 .reference__video {
    padding-block: 1.5rem;
  }
}

/* Image Left / Text Right ---------------- */
:is(.reference__img_left_text_right.big, .reference__text_left_image_right.big)
  .reference__paragraph_padding {
  max-width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start !important;
  flex-direction: column;
}

:is(.reference__img_left_text_right.big, .reference__text_left_image_right.big)
  :is(.reference__img, .reference__img img) {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

:is(.reference__img_left_text_right.big, .reference__text_left_image_right.big)
  .reference__paragraph_padding
  * {
  max-width: 75%;
  width: 100%;
}

@media (min-width: 576px) {
  .reference__paragraph_padding {
    max-width: 75%;
  }
}

@media (min-width: 1400px) {
  :is(
      .reference__img_left_text_right.big,
      .reference__text_left_image_right.big
    )
    .reference__paragraph_padding {
    padding-block: 1rem;
  }
}

@media (max-width: 1500px) {
}

@media (max-width: 1400px) {
  .reference__img_left_text_right.big .reference__paragraph_padding {
    margin-top: 1.5rem;
  }

  .reference__text_left_image_right.big .reference__paragraph_padding {
    padding-top: 4.5rem;
    margin-top: 1.5rem;
  }

  :is(
      .reference__img_left_text_right.big,
      .reference__text_left_image_right.big
    )
    .reference__paragraph_padding {
    padding-bottom: 4.5rem;
    height: auto;
    text-align: start;
  }
}

/* Text left / Image right ---------------- */
@media (max-width: 1400px) {
  .reference__text_left_img_right .reference__paragraph_padding {
    margin-bottom: 3rem;
  }
}

@media (max-width: 992px) {
  .reference__text_left_img_right .reference__img {
    margin-bottom: 1.5rem;
  }

  .reference__text_left_img_right .reference__paragraph_padding {
    margin-bottom: 0rem;
  }
}

/* SHIFT LATER ON
--------------------------------------------- */
.title__custom_styling {
  line-height: 0.9;
}

.title__custom_styling :is(mark, b, strong) {
  font-family: var(--ff-alt);
  font-style: italic;
  font-size: calc(
    clamp(var(--f-3xl-min), var(--f-3xl-ideal), var(--f-3xl-max)) + 1rem
  );
}

mark {
  padding: 0;
}

/* Text Color Animation - CORE */
.text_color_animation {
  transition: 0.6s all ease;
  transform: scale(1);
}

.text_color_animation.active {
  color: var(--cPink);
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .text_color_animation {
    font-size: calc(
      clamp(var(--f-3xl-min), var(--f-3xl-ideal), var(--f-3xl-max)) + 2rem
    );
  }
}

/* Preloader
--------------------------------------------- */
.video__page_preload {
  position: fixed;
  z-index: 9999;
  height: 100vh;
  width: 100%;
  inset: 0;
  margin: 0;
  display: none;
  cursor: pointer;
}

.video__page_preload video {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

/* Bundespräsident
--------------------------------------------- */
.additional_stories__wrapper {
  display: none;
}

.additional_stories__wrapper.show {
  display: block;
}

.additional_stories__wrapper .reference__video_external_row_3 {
  opacity: 0 !important;
  transition: 1s all ease;
}

.additional_stories__wrapper.show .reference__video_external_row_3.active {
  opacity: 1 !important;
}

@media (min-width: 1201px) {
  .additional_stories__wrapper > div {
    margin-bottom: 1.5rem;
  }
}
