:root {
  --swiper-theme-color: #FFF; }

.background-shadow {
  background: url('/templates/pfr24/img/shadow-up.png') top center repeat-x, url('/templates/pfr24/img/shadow-bottom.png') bottom center repeat-x;
  background-size: 100vh, 100vh; }

.sp-page-builder .page-content section.background-shadow {
  background: url('/templates/pfr24/img/shadow-up.png') top center repeat-x, url('/templates/pfr24/img/shadow-bottom.png') bottom center repeat-x;
  background-size: 100vh, 100vh; }

.swiper-button-next, .swiper-button-prev {
  z-index: 6; }

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  display: none; }

.slideshow {
  --slideshow-min-height: 650px;
  width: 100%;
  height: 100vh;
  min-height: var(--slideshow-min-height);
  overflow: hidden;
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr 72px;
  grid-template-rows: 60px 1fr 150px;
  align-items: center;
  justify-content: center; }
  .slideshow .left *, .slideshow .right *, .slideshow .fixed-buttons * {
    user-select: none; }
  .slideshow .left, .slideshow .right {
    grid-row: 1/4;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
  .slideshow .swiper-button-next, .slideshow .swiper-button-prev {
    position: static; }
  .slideshow .left {
    grid-column: 1; }
  .slideshow .right {
    grid-column: 3; }
  .slideshow .fixed-content, .slideshow .fixed-buttons {
    width: 100%;
    z-index: 2;
    position: absolute;
    z-index: 1; }
  .slideshow .fixed-content {
    grid-row: 2;
    z-index: 2; }
  .slideshow .fixed-buttons {
    bottom: 50px;
    display: flex;
    justify-content: center;
    z-index: 6;
    gap: 36px; }
  .slideshow .swiper-wrapper {
    grid-row: 1/2;
    grid-column: 1/3;
    text-decoration: none; }
    .slideshow .swiper-wrapper .swiper-slide {
      width: 100%;
      height: 100%;
      display: grid;
      grid-template-rows: calc(max(100vh, var(--slideshow-min-height)) - 100px) 100px;
      z-index: 0; }
      .slideshow .swiper-wrapper .swiper-slide .background-shadow, .slideshow .swiper-wrapper .swiper-slide .background-opacity {
        grid-row: 1 / 3;
        grid-column: 1 / 2;
        z-index: 0;
        margin-bottom: -1px; }
      .slideshow .swiper-wrapper .swiper-slide .background-opacity {
        background: #000; }
      .slideshow .swiper-wrapper .swiper-slide .content {
        --content-padding-top: 200px;
        --content-padding-bottom: 75px;
        grid-row: 1;
        grid-column: 1;
        z-index: 1;
        display: grid;
        grid-template-columns: 72px 1fr 72px;
        grid-template-rows: var(--content-padding-top) 1fr var(--content-padding-bottom); }
        .slideshow .swiper-wrapper .swiper-slide .content > * {
          grid-row: 2; }
        .slideshow .swiper-wrapper .swiper-slide .content .wrap {
          grid-column: 2; }
      .slideshow .swiper-wrapper .swiper-slide .buttons {
        grid-row: 1;
        grid-column: 1;
        align-self: end;
        justify-self: center;
        z-index: 1; }
      .slideshow .swiper-wrapper .swiper-slide .slide-background {
        width: 100%;
        height: 100%;
        grid-row: 1 / 3;
        grid-column: 1; }
        .slideshow .swiper-wrapper .swiper-slide .slide-background.flex {
          display: flex;
          gap: 8px; }
        .slideshow .swiper-wrapper .swiper-slide .slide-background img {
          flex: 1 1 0px;
          height: 100%;
          width: 100%;
          object-fit: cover; }
  .slideshow .swiper-pagination {
    bottom: 120px;
    z-index: 6; }
    .slideshow .swiper-pagination .swiper-pagination-bullet {
      margin: 0 20px !important;
      background: rgba(255, 255, 255, 0.5);
      opacity: 1; }
      .slideshow .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #fff;
        opacity: 1; }
  .slideshow blockquote {
    margin-left: 0;
    margin-right: 0; }
    .slideshow blockquote p:first-child::before {
      content: '';
      background-image: url('/templates/pfr24/img/quote.png');
      background-repeat: no-repeat;
      background-size: contain;
      z-index: 0;
      position: absolute;
      color: #fff3;
      width: 40px;
      height: 40px;
      margin-left: -40px;
      margin-top: -20px; }

.first-slideshow .slideshow {
  --slideshow-margin-top: 140px;
  --slideshow-min-height: calc(650px - var(--slideshow-margin-top));
  height: calc(100vh - var(--slideshow-margin-top));
  margin-top: var(--slideshow-margin-top); }
  .first-slideshow .slideshow .swiper-wrapper .swiper-slide {
    grid-template-rows: calc(calc(max(100vh, var(--slideshow-min-height)) - 100px) - var(--slideshow-margin-top)) 100px; }

#landing-slideshow .fixed-content {
  align-self: start;
  height: 100%; }
  #landing-slideshow .fixed-content a.btn.align-bottom {
    position: absolute;
    bottom: 160px;
    left: 50%;
    transform: translateX(-50%); }
  #landing-slideshow .fixed-content .wrap {
    display: grid;
    height: 100%; }
    #landing-slideshow .fixed-content .wrap .content {
      display: flex;
      flex-direction: column;
      gap: 24px;
      margin-top: 30px; }
      #landing-slideshow .fixed-content .wrap .content p {
        margin: 0; }

#nnk .slide-0 .panel, #nnk .slide-1 .panel {
  margin-top: 10%;
  max-width: 300px;
  margin-left: auto;
  position: relative; }
  #nnk .slide-0 .panel p img, #nnk .slide-1 .panel p img {
    max-width: 100%;
    height: auto; }
#nnk .slide-2 .wrap {
  display: flex;
  justify-content: center;
  align-items: center; }
  #nnk .slide-2 .wrap .panel {
    display: flex;
    gap: 50px;
    height: auto; }
    #nnk .slide-2 .wrap .panel > * {
      width: auto;
      display: inline; }
    #nnk .slide-2 .wrap .panel .team {
      width: fit-content;
      justify-self: center; }
      #nnk .slide-2 .wrap .panel .team img {
        width: 25vw;
        max-width: 310px;
        height: auto;
        object-fit: cover; }
    #nnk .slide-2 .wrap .panel blockquote {
      max-width: 230px;
      align-self: center;
      justify-self: end; }

#philosophy .slide-0 .wrap {
  display: grid;
  height: 100%;
  align-items: center; }
  #philosophy .slide-0 .wrap p {
    margin: 4px 0; }
  #philosophy .slide-0 .wrap .panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    text-align: center;
    padding: 5% 0; }
    #philosophy .slide-0 .wrap .panel .panel1 {
      max-width: 370px;
      margin: 0 auto; }
    #philosophy .slide-0 .wrap .panel .panel2 {
      width: 100%; }
      #philosophy .slide-0 .wrap .panel .panel2 img {
        width: inherit;
        max-width: 430px;
        height: auto; }

#factory .swiper-slide .wrap {
  display: grid;
  height: 100%;
  align-items: start;
  justify-content: center;
  padding: 5% 0; }
  #factory .swiper-slide .wrap .panel {
    max-width: 370px; }
    #factory .swiper-slide .wrap .panel p {
      line-height: 32px; }

#ansitz-heufler .wrap {
  max-width: 560px; }

#experience .slide-0 .wrap {
  max-width: 550px; }
#experience .wrap {
  max-width: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  #experience .wrap p {
    line-height: 32px; }
    #experience .wrap p img {
      width: 100%;
      max-width: 430px;
      height: auto; }
    #experience .wrap p.uppercase {
      font-family: 'Outfit';
      text-transform: uppercase; }

#gift-card .content .wrap {
  height: 100%; }
  #gift-card .content .wrap .panel {
    max-width: 430px;
    margin: auto; }

#partner-hotels {
  box-shadow: 0 -150px 75px -75px #0004 inset, 0 -300px 150px -150px #0004 inset, 0 300px 150px -150px #0004 inset, 0 150px 75px -75px #000 inset, 0 250px 250px inset rgba(0, 0, 0, 0.5) !important; }

@media screen and (max-width: 1430px) and (max-width: 1080px) {
  .slideshow * {
    --slideshow-text-shadow-color: rgba(0, 0, 0, 0.6);
    text-shadow: 2px 2px 4px var(--slideshow-text-shadow-color), 1px 1px 2px var(--slideshow-text-shadow-color); }
  .auto-height {
    font-size: calc(initial * 0.5); }
    .auto-height .slideshow {
      height: 66.66666vw;
      min-height: 320px; }
      .auto-height .slideshow .fixed-buttons {
        bottom: 25px; }
      .auto-height .slideshow .swiper-pagination {
        bottom: 60px; }
      .auto-height .slideshow .fixed-content, .auto-height .slideshow .panel {
        transform: scale(0.8) translateY(-20%); }
        .auto-height .slideshow .swiper-wrapper .swiper-slide {
          grid-template-rows: auto; }
          .auto-height .slideshow .swiper-wrapper .swiper-slide .background-shadow, .auto-height .slideshow .swiper-wrapper .swiper-slide .background-opacity {
            grid-row: 1 / 3; }
          .auto-height .slideshow .swiper-wrapper .swiper-slide .background-shadow {
            background-size: 50vh, 50vh; }
          .auto-height .slideshow .swiper-wrapper .swiper-slide .slide-background {
            height: 66.66666vw;
            min-height: 320px; }
  .first-slideshow .slideshow {
    --slideshow-margin-top: 70px; }
  .slideshow .swiper-wrapper .swiper-slide .content {
    --content-padding-top: 100px; }
  #philosophy .slide-0 .wrap .panel {
    padding: 35px 0; } }
@media screen and (max-width: 1430px) and (max-width: 1080px) and (max-width: 720px) {
  .slideshow {
    grid-template-rows: 100px 1fr 150px;
    grid-template-columns: 32px 1fr 32px; }
    .slideshow .swiper-pagination .swiper-pagination-bullet {
      margin: 0 10px !important; }
    .slideshow .swiper-wrapper .swiper-slide .content {
      grid-template-columns: 32px 1fr 32px; }
      .slideshow .right img, .slideshow .left img {
        width: 12px; }
    .slideshow .fixed-buttons {
      gap: 12px; }
  #landing-slideshow .fixed-content .wrap .content {
    margin-top: 0px; }
  #nnk .slide-0 .panel, #nnk .slide-1 .panel {
    max-width: 230px; }
  #nnk .slide-2 .panel {
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
    gap: 24px !important; }
    #nnk .slide-2 .panel .team {
      min-width: 120px; } }

/******************************
 * SLIDE SINGOLE
 *****************************/
@media screen and (max-width: 1430px) and (max-width: 1080px) and (max-width: 720px) {
  #nnk .slide-1 .background-opacity {
    opacity: 0.3 !important; }
  #gift-card .background-opacity {
    opacity: 0.4 !important; }
  #partner-hotels .background-opacity {
    opacity: 0.5 !important; } }
