/* Breakpoints */
/* Desktop */
/* body font-size in design - no px */
/* screen-size in design - no px */
/* Tablet */
/* Mobile Landscape */
/* Mobile Portrait */
/* CSS Custom Properties for runtime scaling (needed for clamp/calc) */
:root {
  --size-unit: 16;
  --size-container-ideal: 1600;
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
  --spacing-block: 7.75em;
  --spacing-huge: 5em;
  --spacing-large: 2.5em;
  --spacing-big: 2em;
  --spacing-medium: 1.5em;
  --spacing-normal: 1em;
  --spacing-small: 0.75em;
  --spacing-tiny: 0.5em;
  --frame-color: #151517;
  --inset-size: 20px;
  --hole-radius: 10px;
  --header-offset: 160px;
  --header-size: 100px;
}
@media screen and (max-width: 991px) {
  :root {
    --size-unit: 16;
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
    --header-offset: 120px;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --size-unit: 16;
    --size-container-ideal: 550;
    --size-container-min: 480px;
    --size-container-max: 767px;
    --spacing-block: 7.5em;
    --spacing-huge: 4em;
    --spacing-large: 2.5em;
    --spacing-big: 2em;
    --spacing-medium: 1.5em;
    --spacing-normal: 1em;
    --spacing-small: 0.75em;
    --spacing-tiny: 0.5em;
    --inset-size: 8px;
  }
}
@media screen and (max-width: 479px) {
  :root {
    --size-unit: 16;
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
    --inset-size: 8px;
  }
}
#pageContainer .blocks section.textIntroBlock:last-child:not(
        .mediaBlock,
        .eventOverviewBlock,
        .newsOverviewBlock
      ) {
  margin-bottom: var(--spacing-block) !important;
}
.textIntroBlock {
  min-height: 80dvh;
  position: relative;
  margin-bottom: calc(var(--spacing-block) * -1) !important;
}
.textIntroBlock.inview .container .cols .col-4 .title-6xl .line .lineInner {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: transform 1.2s 0s cubic-bezier(0.4, 0.5, 0.1, 1);
  -moz-transition: transform 1.2s 0s cubic-bezier(0.4, 0.5, 0.1, 1);
  -o-transition: transform 1.2s 0s cubic-bezier(0.4, 0.5, 0.1, 1);
  transition: transform 1.2s 0s cubic-bezier(0.4, 0.5, 0.1, 1);
}
.textIntroBlock.inview .container .cols .col-4 .title-6xl .line .lineInner:nth-child(4) {
  transition-delay: 0.2s;
}
.textIntroBlock.inview .container .cols .col-4 .title-6xl .line .lineInner:nth-child(3) {
  transition-delay: 0.15s;
}
.textIntroBlock.inview .container .cols .col-4 .title-6xl .line .lineInner:nth-child(2) {
  transition-delay: 0.1s;
}
.textIntroBlock.inview .container .cols .col-4 .title-6xl .line .lineInner:nth-child(1) {
  transition-delay: 0.05s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: transform 1.2s 0.3s cubic-bezier(0.4, 0.5, 0.1, 1);
  -moz-transition: transform 1.2s 0.3s cubic-bezier(0.4, 0.5, 0.1, 1);
  -o-transition: transform 1.2s 0.3s cubic-bezier(0.4, 0.5, 0.1, 1);
  transition: transform 1.2s 0.3s cubic-bezier(0.4, 0.5, 0.1, 1);
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(10) {
  transition-delay: 0.8s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(9) {
  transition-delay: 0.75s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(8) {
  transition-delay: 0.7s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(7) {
  transition-delay: 0.65s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(6) {
  transition-delay: 0.6s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(5) {
  transition-delay: 0.55s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(4) {
  transition-delay: 0.5s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(3) {
  transition-delay: 0.45s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(2) {
  transition-delay: 0.4s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .line .lineInner:nth-child(1) {
  transition-delay: 0.35s;
}
.textIntroBlock.inview .container .cols .col-4 .textWrapper .buttonWrapper {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1), transform 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1);
  -moz-transition: opacity 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1), transform 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1);
  -ms-transition: opacity 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1), transform 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1);
  -o-transition: opacity 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1), transform 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1);
  transition: opacity 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1), transform 1.2s 0.75s cubic-bezier(0.4, 0.5, 0.1, 1);
}
.textIntroBlock .styleImage {
  height: calc(100% - 6.25em * 2);
  max-width: 60%;
}
.textIntroBlock .container {
  height: auto;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.textIntroBlock .container .cols .col-4 {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.textIntroBlock .container .cols .col-4 .textWrapper {
  display: block;
  margin-left: auto;
  margin-top: 4em;
}
.textIntroBlock .container .cols .col-4 .textWrapper .buttonWrapper {
  margin-top: 1.5em;
  opacity: 0;
  -webkit-transform: translateY(1.5em);
  -moz-transform: translateY(1.5em);
  -o-transform: translateY(1.5em);
  -ms-transform: translateY(1.5em);
  transform: translateY(1.5em);
}
.textIntroBlock .imageWrapper {
  aspect-ratio: 2/3;
  height: auto;
  left: auto;
  position: absolute;
  top: auto;
  width: calc(6.25em * 3.2);
  overflow: hidden;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.textIntroBlock .imageWrapper .innerImage {
  height: 110%;
  left: 0;
  position: absolute;
  top: -5%;
  width: 100%;
}
.textIntroBlock .imageWrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.textIntroBlock .imageWrapper.left {
  left: 1.25em;
  bottom: 0;
}
.textIntroBlock .imageWrapper.right {
  right: 1.25em;
  top: 12.5%;
}
@media all and (max-width: 991px) {
  .textIntroBlock {
    display: flex;
    flex-direction: column;
    gap: 4em;
  }
  .textIntroBlock .container {
    position: relative;
    top: auto;
    left: auto;
    min-height: 0;
    display: block;
    -webkit-transform: none;
    -moz-transform: none;
    -o-transform: none;
    -ms-transform: none;
    transform: none;
  }
  .textIntroBlock .container .cols .col-4 {
    text-align: left;
    width: calc(75% - 1.25em);
    margin-left: 0;
  }
  .textIntroBlock .container .cols .col-4 .textWrapper {
    width: 100%;
    margin-top: 2em;
  }
  .textIntroBlock .imageWrapper {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    width: 50vw;
  }
  .textIntroBlock .imageWrapper.left {
    order: 1;
    bottom: auto;
    margin: 0 auto 0 0;
  }
  .textIntroBlock .imageWrapper.right {
    margin: 0 0 0 auto;
    order: -1;
    top: auto;
  }
}
@media all and (max-width: 767px) {
  .textIntroBlock .container .cols .col-4 {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .textIntroBlock .container .cols .col-4 .textWrapper {
    margin-top: 1em;
  }
}
