/*
Theme Name: VibGroup Theme
Theme URI: https://und3fined.it/
Template: generatepress
Author: Gabriele Visconti
Author URI: https://und3fined.it/
Description: Questo tema è stato realizzato dal developer team di Vib. G.V
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 1.60
Updated: 2025-04-30 16:41:41

*/



/* --------------------------------------------
   Typografy
-------------------------------------------- */
body{
    font-size: clamp(16px, 0.937vw, 18px);
    line-height: clamp(30px,1.666vw, 32px);
    }
.block--title__30{
   font-size: clamp(22px, 1.562vw, 30px);
   line-height: clamp(27px, 1.822vw, 35px);
}
.block--title__40{
   font-size: clamp(24px, 2.082vw, 35px);
   line-height: clamp(29px, 2.082vw, 40px);
}
.block--title__50{
   font-size: clamp(28px, 2.603vw, 50px);
   line-height: clamp(33px, 2.864vw, 55px);
}
.block--title__60{
   font-size: clamp(30px, 3.124vw, 60px);
   line-height: clamp(35px, 3.384vw, 65px);
}
.block--title__70{
   font-size: clamp(32px, 3.645vw, 70px);
   line-height: clamp(32px, 3.645vw, 70px);
}
.block--title__100{
   font-size: clamp(32px, 5.207vw, 100px);
   line-height: clamp(32px, 5.207vw, 100px);
}
/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 30px;
    right: 0;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    justify-content: center;
    align-items: center;
}
a#to-the-top svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    transition: 300ms;
}

#to-the-top:hover {
	cursor: pointer;
	background-color: #333;
}

#to-the-top:active {
	background-color: #555;
}

#to-the-top.show {
	opacity: 1;
	visibility: visible;
}
html,body{
    scroll-behavior: smooth;
}
.grecaptcha-badge{visibility:hidden!important}
/* --------------------------------------------
   General
-------------------------------------------- */
/* shortcode social */
.social-link-wrapper{
   display: flex;
   align-items: center;
   gap: 8px;
}
.social-link-wrapper a{
   display: flex;
   transition: 300ms;
}
.social-link-wrapper svg{
   width: 20px;
   height: 20px;
   transition: 300ms;
}
/* shortcode contact */
.company-contacts-main-wrapper,.company-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.company-contacts-main-wrapper .company-contact svg {
    width: 20px;
    height: 20px;
}
.company-contacts-main-wrapper .company-contact a {
    display: flex;
    gap: 8px;
    align-items: center;
}
/* --------------------------------------------
   Header
-------------------------------------------- */


/* --------------------------------------------
   Footer
-------------------------------------------- */



/* centerred */
.centered-section-content .block--title {
    text-wrap: balance;
}
.block--countdown-wrapper {
    display: flex;
    justify-content: space-evenly;
    padding: clamp(20px, 2.551vw, 49px) 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    max-width: clamp(900px, 52.082vw, 1000px);
    margin: 0 auto;
}
.block--countdown-wrapper .value {
    font-size: clamp(32px,4.166vw, 80px);
    color: #CE8456;
    line-height: 1;
    font-family: 'Great Vibes';
}
.block--countdown-wrapper .label {
   text-transform: uppercase;
   font-size: clamp(14px, 1.041vw, 20px);
}
.block--countdown-wrapper > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.block--separator {
    max-width: clamp(200px, 13.02vw, 250px);
    margin-left: auto;
    margin-right: auto;
    display: flex;
}
.block--subtitle {
    color: #CE8456;
    font-weight: 300;
    font-size: clamp(18px, 1.041vw, 20px);
    line-height: 1;
    margin-bottom: 13px;
}
.centered-section-content .block--title {
    max-width: clamp(680px, 40.103vw, 770px);
    margin: 0 auto 20px;
}
.centered-section-content .block--paragraph {
    max-width: clamp(620px, 33.332vw, 640px);
    margin: 0 auto clamp(30px, 2.864vw, 55px);
    font-size: clamp(18px, 1.145vw, 22px);
    line-height: clamp(24px, 1.405vw, 27px);
}

.centered-section-content .block--button {
    margin: clamp(60px, 5.207vw, 100px) auto 0;
}
.section.centered-section.countdown .block--separator {
    margin-bottom: clamp(60px, 5.207vw, 100px);
}

/* timeline */
.timeline-event-card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
}
.timeline-event-card .block--image {
    width: clamp(60px, 4.687vw, 90px);
    height: clamp(60px, 4.687vw, 90px);
    margin-bottom: 20px;
}
.timeline-event-card .block--range {
    font-size: 20px;
    font-weight: 300;
}
.timeline-event-card .block--title {
    font-size: clamp(22px, 1.562vw, 30px);
    font-weight: 300;
    margin-bottom: 10px;
    line-height: clamp(29px ,1.926vw, 37px);
}

.timeline-bar.section--relative > div {
    width: 20px;
    height: 20px;
    background: #F7F1ED;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid #CE8456;
}
.timeline-bar.section--relative span {
    display: flex;
    background: #ccc;
    width: 100%;
    height: 1px;
}
.timeline-bar {
    width: 100%;
    margin: 20px 0 30px;
}
.timeline-wrapper .splide__list .timeline-event-card:first-child .timeline-bar span {
    width: 50%;
    display: flex;
    margin: 0 0 0 auto;
}
.timeline-wrapper .splide__list .timeline-event-card:last-child .timeline-bar span {
    width: 50%;
    display: flex;
    margin: 0 auto 0 0;
}
.timeline-event-card .block--paragraph {
    max-width: 250px;
}
.block-timeline-head {
    margin-bottom: clamp(60px, 6.77vw, 130px);
}
.block-timeline-head .block--paragraph{
    margin-top: 20px;
}

.section.timeline-section .row {
    background: #F7F1ED;
}
.timeline-section .row:first-child {
    padding-top: clamp(80px, 9.374vw, 180px);
}
.timeline-section .row:last-child {
    padding-bottom: clamp(80px, 9.374vw, 180px);
}
.timeline-section ul.splide__pagination {
    position: unset;
    margin-top: 60px;
}
.timeline-section ul.splide__pagination button{
    width: 15px;
    height: 15px;
    border: 1px solid #CE8456;
    background: transparent;
}
.timeline-section ul.splide__pagination button.is-active {
    border: 1px solid #CE8456;
    background: #CE8456;
    opacity: 1;
}
.timeline-section .column {
    overflow: hidden;
}

.button-wrapper {
    display: flex;
    justify-content: center;
    margin-top: clamp(60px, 5.207vw, 100px);
}
.block--marker a {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px;
    color: unset;
    transition: 300ms;
}
.block--marker a:hover {
    opacity: 0.7;
    transition: 300ms;
}
.block--marker span {
    display: flex;
}
.block--marker svg {
    fill: #CE8456;
    width: 20px;
    height: 20px;
}
/* Two column */

@media(min-width: 1025px){
   .two-column-section.max-width-custom.margin-custom-1 .block--media-content{
    max-width: clamp(480px, 26.041vw, 500px);
    margin: 0 10% 0 auto;
   }
   .two-column-section.max-width-custom.margin-custom-1 .block-text-wrapper{
      max-width: clamp(480px, 26.041vw, 500px);
      margin: 0 auto 0 10%;
   }
   .two-column-section.max-width-custom.margin-custom-2 .block--media-content{
      max-width: clamp(480px, 26.041vw, 500px);
         margin: 0 auto 0 10%;
   }
   .two-column-section.max-width-custom.margin-custom-2 .block-text-wrapper{
      max-width: clamp(480px, 26.041vw, 500px);
      margin: 0 10% 0 auto;
   }
}

.two-column-section.max-width-custom.margin-custom-1 .block-text-wrapper:after {
    content: '';
    display: flex;
    width: clamp(150px, 10.416vw, 200px);
    background-image: url(/wp-content/uploads/2026/04/pattern.svg);
    background-repeat: no-repeat;
    background-size: contain;
    height: clamp(100px, 7.812vw, 150px);
    margin: 50px 0 0 auto;
    opacity: 0.50;
}
.two-column-section.max-width-custom.margin-custom-2 .block-text-wrapper:after {
    content: '';
    display: flex;
    width: clamp(150px, 10.416vw, 200px);
    background-image: url(/wp-content/uploads/2026/04/pattern.svg);
    background-repeat: no-repeat;
    background-size: contain;
    height: clamp(100px, 7.812vw, 150px);
    margin: 50px 0 0 auto;
    opacity: 0.50;
    transform: rotate(180deg);
}

@media(min-width: 1025px){
   .two-column-section.max-width-custom.margin-custom-2 .block-text-wrapper:after,
   .two-column-section.max-width-custom.margin-custom-1 .block-text-wrapper:after{
      opacity: 0.90;
   }
}

/* cards */
.cards-wrapper.desktop {
    display: none;
}
.card-item-wrapper .block--image {
    height: auto;
    margin-bottom: 20px;
}
.cards-wrapper.mobile{
   display: block;
}

.cards-wrapper ul.splide__pagination {
    position: unset;
    margin-top: 60px;
}
.cards-wrapper ul.splide__pagination button{
    width: 15px;
    height: 15px;
    border: 1px solid #CE8456;
    background: transparent;
}
.cards-wrapper ul.splide__pagination button.is-active{
    border: 1px solid #CE8456;
    background: #CE8456;
}
.section.cards-section .column {
    overflow: hidden;
}
@media(min-width: 1334px){
   .cards-wrapper.mobile{
      display: none;
   } 
   .cards-wrapper.desktop {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 30px;
      row-gap: 60px;
   }
}

/* background */
.section.background-section.custom-height .block-text.section--padding-md.left {
    height: clamp(200px, 34.895vw, 670px);
}

/* iban */
.iban-wrapper {
    background: #FDFCFB;
    border: 1px dashed #ccc;
    display: flex;
    padding: clamp(20px, 1.562vw, 30px);
    flex-direction: column;
    margin-bottom: 60px;
}
.iban-content {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}
.iban-icon {
    display: flex;
    flex-direction: column;
    padding: 10px 10px 5px;
    background: #00000005;
    font-size: 10px;
    cursor: pointer;
    line-height: 1;
    transition: 300ms;
    gap: 5px;
}
.iban-icon:hover {
    background: #00000086;
    transition: 300ms;
    color: #fff;
}
.iban-icon svg{
    width: 25px;
    height: 25px;
    margin: 0 auto;
    fill: #ccc;
}
.iban-number {
    font-size: clamp(13px, 1.145vw, 22px);
    font-weight: 300;
}
.iban-label {
    text-align: center;
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 300;
}


/* map two column */
.cardmap-section .row{
    background: #F7F1ED;
    padding-top: clamp(80px, 10.40vw, 200px);
    padding-bottom: clamp(80px, 10.40vw, 200px);
}
.block-icon {
    display: flex;
}
.block-icon svg{
    width: 20px;
    height: 20px;
    fill: #CE8456;
}
.icon-item {
    display: flex;
    gap: 10px;
    align-items: center;
}
.icons-repeater {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 40px;
}
.cardmap-section .block--title {
    margin-bottom: 20px;
}

.block--buttons .block-button a {
    display: flex;
    gap: 10px;
    align-items: center;
    border: 1px solid #ccc;
    padding: 10px 20px;
    width: 100%;
    justify-content: center;
    text-decoration: none;
    color: #484848;
    transition: 300ms;
    min-width: 230px;
}

.block--buttons {
    display: flex;
    gap: 20px;
    flex-direction: column;
    margin-top: clamp(40px, 3.124vw, 60px);
}
.section.cardmap-section,
.section.timeline-section{
   background: #F7F1ED;
}
@media(min-width: 1025px){
   .section.cardmap-section,
   .section.timeline-section{
      background: transparent;
   }
   .block--buttons {
      display: flex;
      gap: 20px;
      flex-direction: row;
      margin-top: clamp(40px, 3.124vw, 60px);
      justify-content: space-between;
   }
   .section.cardmap-section .block--media {
      max-width: clamp(700px, 39.582vw, 760px);
      margin: 0 0 0 auto;
   }
   .cardmap-section .block--text {
      max-width: clamp(480px, 27.082vw, 520px);
   }
}

/**/
.section.section-promo-gallery{
    background: #F7F1ED;
    padding-top: 20px;
    padding-bottom: 20px;
}
@media(min-width: 1025px){
   .section.section-promo-gallery.custom-mosaico .column {
      padding: 40px;
      background: #F7F1ED;
   }
   .section.section-promo-gallery{
      background: transparent;
   }
}

/* faq */
.faq-title {
    padding: 29px 10px;
    border-top: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: clamp(27px, 2.18vw, 48px);
    font-family: 'great vibes';
    font-weight: 400;
    cursor: pointer;
    align-items: center;
}
.faq-icon {
    transition: 300ms;
    cursor: pointer;
}
.faq-icon svg{
    width: clamp(25px, 1.562vw, 30px);
    height: clamp(25px, 1.562vw, 30px);
    fill: #CE8456;
}

.faq-content {
    transition: 500ms;
    transform: translateY(-10px);
    opacity: 0;
    height: 0;
    visibility: hidden;
    overflow: hidden;
}
.faq-wrapper.is-active .faq-icon{
    transition: 300ms;
    transform: rotate(180deg);
}

.faq-wrapper.is-active .faq-content {
    transition: 500ms;
    padding: 0 10px 39px;
    transform: translateY(0px);
    opacity: 1;
    height: auto;
    visibility: visible;
    overflow: visible;
    color: #8C857A;
}
.faq-icon {
    display: flex;
    height: max-content;
    width: max-content;
}
@media(min-width: 1181px){
    .faq-content {
        max-width: 80%;
    }
}
.faqs-main-wrapper {
    margin-top: clamp(60px, 6.24vw, 120px);
}

/* hero */
.home-hero .splide__slide{
   width: 100%;
}
.hero-slide-content {
    position: relative;
    width: 100%;
    height: 100%;
}
.home-slide-media-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}
.home-slide-media-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.hero-text-wrapper {
    position: relative;
    z-index: 7;
    max-width: 1720px;
    width: 90%;
    margin: 0 auto;
    height: 100%;
    padding-top: clamp(60px, 7.80vw, 150px);
    padding-bottom: clamp(60px, 7.80vw, 150px);
}
.hero-slide-content:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000000;
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    z-index: 6;
    opacity: 0.33;
}
.hero-text-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    transition: 300ms;
    padding-bottom: 20%;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}
.hero-slide-content .block--title__90{
    color: #fff;
}


.hero-slide-content .block--subtitle {
    font-size: clamp(18px, 1.249vw, 24px);
}
.hero-text-content .block--button {
    margin-top: clamp(30px, 2.59vw, 50px);
}


.home-hero ul.splide__pagination button {
    background: #fff;
    width: 15px;
    height: 15px;
    transition: 300ms;
}
.home-hero button.splide__pagination__page.is-active{
   transition: 300ms;
   background: #B8360C !important;
}
.home-hero ul.splide__pagination {
    bottom: 40px;
    left: 0!important;
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: flex-start;
    align-items: flex-end;
    padding-top: 30px;
    padding-left: 5%;
}
.block--video, .block--video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(min-width: 1025px){
   .hero-text-content {
        max-width: clamp(700px, 41.666vw, 800px);
    }
   .home-hero ul.splide__pagination {
      padding: 0px;
      right: 5%!important;
      left: unset;
      display: flex;
      bottom: clamp(60px, 7.80vw, 150px);
      gap: 5px;
      justify-content: flex-end;
   }
   .hero-text-content {
        justify-content: center;
        padding-bottom: 0px;
    }
}
@media(min-width: 1921px){
   .hero-text-wrapper {
      width: 95%;
   }
}
.hero-text-content, .hero-text-content .block--subtitle, .hero-text-content h3 {
    color: #fff;
}
.hero-text-content .block--title:before {
    /*display: none;*/
}
.section.home-hero .column {
    overflow: hidden;
}
.hero-text-content .block--subtitle {
    margin-top: 5px;
}
.hero-text-wrapper .block--paragraph {
    max-width: clamp(450px, 24.47vw, 470px);
    margin-top: 15px;
}
.hero-text-content .block--title {
    text-wrap: balance;
    margin-top: 5px;
}
.hero-text-wrapper .block--separator {
    margin: 15px 0;
}
.block--button-arrow-down a {
    color: #fff;
    text-decoration: none;
    font-size: clamp(14px, 1.145vw, 22px);
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-weight: 200;
    transition: 300ms;
    border: 1px solid #fff;
    padding: 6px 20px;
}
.block--button-arrow-down a:hover {
    gap: 10px;
    transition: 300ms;
}
.block--button-arrow-down {
    display: flex;
    color: #fff;
}
.block--button-arrow-down svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    margin: 0 auto;
    display: flex;
}
.block--button-arrow-down {
    position: absolute;
    z-index: 10;
    bottom: 0;
    padding-bottom: clamp(40px, 4.166vw, 80px);
}
@media(max-width: 1024px){
    .block--button-arrow-down {
        bottom: 50px;
    }
    .timeline-row {
        width: 100%;
        max-width: 100%;
    }
}
.shake-vertical {
	-webkit-animation: shake-vertical 10s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both;
	        animation: shake-vertical 10s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2026-4-28 10:14:25
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation shake-vertical
 * ----------------------------------------
 */
@-webkit-keyframes shake-vertical {
  0%,
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10%,
  30%,
  50%,
  70% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
  20%,
  40%,
  60% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  80% {
    -webkit-transform: translateY(6.4px);
            transform: translateY(6.4px);
  }
  90% {
    -webkit-transform: translateY(-6.4px);
            transform: translateY(-6.4px);
  }
}
@keyframes shake-vertical {
  0%,
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  10%,
  30%,
  50%,
  70% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
  20%,
  40%,
  60% {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  80% {
    -webkit-transform: translateY(6.4px);
            transform: translateY(6.4px);
  }
  90% {
    -webkit-transform: translateY(-6.4px);
            transform: translateY(-6.4px);
  }
}


.footer-main-wrapper .row {
    background: #F7F1ED;
}
.footer-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(80px, 5.207vw, 100px) 0 clamp(60px, 4.166vw, 80px);
}
.footer-content .footer-title {
    margin: 5px 0 10px;
    color: #CE8456;
    opacity: 0.5;
}
.footer-content .footer-date, .footer-content .block--paragraph {
    font-weight: 300;
}
.bottom-footer {
    padding: 20px 0;
    border-top: 1px solid #ccc;
    text-align: center;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    text-wrap: balance;
}
.bottom-footer a{
    color: #151515;
}
@media(max-width: 1024px){
    .footer-main-wrapper .row{
        width: 100%;
        max-width: 100%;
    }
    .bottom-footer {
        padding: 20px 0;
        border-top: 1px solid #ccc;
        text-align: center;
        font-size: 12px;
        display: block;
        text-wrap: balance;
    }
}

.header-main-wrapper {
    padding: 20px 0;
    position: relative;
    background: #fff;
}

.header-desktop-menu ul {
    display: flex;
    list-style: none;
    margin: 0;
    gap: 20px;
}
.header-desktop-menu a {
    color: #2B2B2B;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    transition: 300ms;
}
.header-desktop-menu a:hover {
    opacity: 0.5;
    transition: 300ms;
}
.header-action .block--button a {
    background: #CE8456;
    padding: 12px 20px;
    text-decoration: none;
    color: #fff;
    transition: 300ms;
}
.header-action .block--button a:hover {
    background: #151515;
    color: #fff;
    transition: 300ms;
}

.header-burger {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    justify-content: center;
}
.header-desktop-menu{
    display: none;
}
.header-burger span{
    width: 30px;
    height: 1px;
    display: flex;
    background: #CE8456;
    transition: 300ms;
}
.header-burger.active span:first-child{
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: 300ms;
}
.header-burger.active span:last-child{
    position: absolute;
    top: 50%;
    transform: rotate(-45deg);
    transition: 300ms;
}
.header-burger.active span:nth-child(2){
    opacity: 0;
    transition: 300ms;
}
.header-main-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-direction: row-reverse;
}
@media(min-width: 1181px){
    .header-main-content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        flex-direction: row;
    }
    .header-desktop-menu{
        display: block;
    }
    .header-burger {
        display: none;
    }
}


.header.submenu-content ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    margin: 0;
}
.header.submenu-content a {
        color: #2B2B2B;
    font-size: 16px;
    text-decoration: none;
    text-transform: uppercase;
    transition: 300ms;
}
.header-row {
    padding: 60px 5%;
}
.header-submenu-wrapper {
    transition: 500ms, height 1s, opacity 1s, overflow 1s;
    opacity: 0;
    height: 0;
    width: 100%;
    overflow: hidden;
    transform: translateY(-20px);
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 0;
    background: #fff;
}
.header-submenu-wrapper.active {
    transition: 500ms, height 1s, opacity 1s;
    opacity: 1;
    height: auto;
    width: 100%;
    overflow: visible;
    transform: translateY(0px);
}
.footer-main-wrapper {
    background: #fff;
}

/* letter box*/
/*.letterbox-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    box-shadow: 0 10px 10px #00000042;
    border: 6px solid #ccc;
}

.letterbox-head {
    max-height: 40vh;
    width: 100vw;
    border: 5px solid #ccc;
    height: 100%;
    position: relative;
    box-shadow: 0 0 0 #00000047;
    border-right: 0;
    border-left: 0;
}
.letterbox-button {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    background: #CE8456;
}
    */
/* letter box */
/* letter box */
.letterbox-wrapper {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: transparent;
    z-index: 9999;
    perspective: 1200px;
    overflow: hidden;

    opacity: 1;
    visibility: visible;

    transition:
        opacity .8s ease,
        visibility .8s ease;
}

/* parte superiore che si apre */
.letterbox-head {
    max-height: 50vh;
    width: 100vw;
    height: 100%;
    position: relative;
    z-index: 3;
    box-shadow: 0 20px 30px #00000030;
    transform-origin: top center;
    transform: rotateX(0deg) translateY(0);
    transition: transform 1s cubic-bezier(.25, .8, .25, 1),
    box-shadow 1s ease;
    background-color: #ffffff9e;
    background-image: url(/wp-content/uploads/2026/04/paper_texture.jpg);
    background-size: cover;
    background-position: center;
    background-blend-mode: overlay;
    backface-visibility: hidden;
    border-radius: 0 0 clamp(40px, 5.207vw, 100px) clamp(40px, 5.207vw, 100px);
}

/* parte sotto della busta */
.letterbox-body {
    position: absolute;
    left: 0;
    top: 40vh;
    width: 100vw;
    height: 60vh;
    z-index: 1;

    background-color: #ffffff8f;
    background-image: url(/wp-content/uploads/2026/04/paper_texture.jpg);
    background-size: cover;
    background-position: center;
    background-blend-mode: overlay;

    box-shadow: 0 10px 10px #00000042;

    transform: translateY(0);

    transition:
        transform 1.1s cubic-bezier(.65, 0, .35, 1);
}

/* bottone centrale */
.letterbox-button {
    width: clamp(160px, 15.624vw, 300px);
    height: clamp(160px, 15.624vw, 300px);
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 50%;

    transform: translate(-50%, 50%);

    background-color: #CE8456;
    cursor: pointer;
    z-index: 4;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    font-size: clamp(32px, 4.166vw, 80px);
    font-family: 'great vibes', cursive;
    color: #CE8456;
    text-align: center;
    font-weight: bold;
    gap: 3px;

    background-image: url(/wp-content/uploads/2026/04/wax_texture.jpg);
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;

    text-shadow: 3px 3px #00000026;
}



.letterbox-button span:nth-child(2) {
    font-size: clamp(20px, 2.082vw, 40px);
}
.letterbox-button span:first-child {
    position: relative;
    right: clamp(30px, 3.124vw, 60px);
}
.letterbox-button span:last-child {
    position: relative;
    left: clamp(30px, 3.124vw, 60px);
}

/* apertura della head */
.letterbox-wrapper.is-open .letterbox-head {
    transform: rotateX(75deg) translateY(-20px);
    box-shadow: 0 60px 60px #00000020;
}

/* la parte sotto scende */
.letterbox-wrapper.is-open .letterbox-body {
    transform: translateY(100vh);
}

/* fade finale di tutto il wrapper */
.letterbox-wrapper.is-fading {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
@media(max-width: 1024px){
    .letterbox-button span:first-child {
        position: relative;
        right: 0;
    }
    .letterbox-button span:last-child {
        position: relative;
        left: 0;
    }
    .letterbox-button {
        flex-direction: row;
        gap: 6px;
    }
}

div#content {
    transition: 500ms;
}
.blur{
    transition: 400ms;
    filter: blur(10px);
}

@media(min-width: 1025px){
    .home-slide-media-wrapper .block--video video {
        object-position: 0% 66%;
    }
}
.audio-autoplay {
    height: 0;
    opacity: 0;
    overflow: hidden;
}