:root {
    --green: #5B7343;
    --light-green: #B1BF93;
    --yellow: #D6D989;
    --yellow-down: #fbfdba;
    --beige: #f6f2e9;
    --red: #A66565;
    --text: #5B7343;
    --return-arrow-size: 70px;
    --return-arrow-size-small: 40px;
    --shadow-color: 79deg 26% 66%;
    --shadow-1-elevation-low: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.34), 0px 0.4px 0.5px -1.2px hsl(var(--shadow-color) / 0.34), 0px 0.9px 1px -2.5px hsl(var(--shadow-color) / 0.34);
    --shadow-1-elevation-medium: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.36), 0px 0.7px 0.8px -0.8px hsl(var(--shadow-color) / 0.36), 0px 1.8px 2px -1.7px hsl(var(--shadow-color) / 0.36), 0.1px 4.5px 5.1px -2.5px hsl(var(--shadow-color) / 0.36);
    --shadow-1-elevation-high: 0px 0.2px 0.2px hsl(var(--shadow-color) / 0.34), 0px 1.3px 1.5px -0.4px hsl(var(--shadow-color) / 0.34), 0.1px 2.4px 2.7px -0.7px hsl(var(--shadow-color) / 0.34), 0.1px 4px 4.5px -1.1px hsl(var(--shadow-color) / 0.34), 0.1px 6.4px 7.2px -1.4px hsl(var(--shadow-color) / 0.34), 0.2px 10px 11.3px -1.8px hsl(var(--shadow-color) / 0.34), 0.3px 15.1px 17px -2.1px hsl(var(--shadow-color) / 0.34), 0.5px 22.3px 25.1px -2.5px hsl(var(--shadow-color) / 0.34);
    --shadow-color-2: 62deg 51% 69%;
    --shadow-2-elevation-low: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.34), 0px 0.4px 0.5px -1.2px hsl(var(--shadow-color-2) / 0.34), 0px 0.9px 1px -2.5px hsl(var(--shadow-color-2) / 0.34);
    --shadow-2-elevation-medium: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.36), 0px 0.7px 0.8px -0.8px hsl(var(--shadow-color-2) / 0.36), 0px 1.8px 2px -1.7px hsl(var(--shadow-color-2) / 0.36), 0.1px 4.5px 5.1px -2.5px hsl(var(--shadow-color-2) / 0.36);
    --shadow-2-elevation-high: 0px 0.2px 0.2px hsl(var(--shadow-color-2) / 0.34), 0px 1.3px 1.5px -0.4px hsl(var(--shadow-color-2) / 0.34), 0.1px 2.4px 2.7px -0.7px hsl(var(--shadow-color-2) / 0.34), 0.1px 4px 4.5px -1.1px hsl(var(--shadow-color-2) / 0.34), 0.1px 6.4px 7.2px -1.4px hsl(var(--shadow-color-2) / 0.34), 0.2px 10px 11.3px -1.8px hsl(var(--shadow-color-2) / 0.34), 0.3px 15.1px 17px -2.1px hsl(var(--shadow-color-2) / 0.34), 0.5px 22.3px 25.1px -2.5px hsl(var(--shadow-color-2) / 0.34);
}

@font-face {
    font-family: 'Amalfi-Coast';
    src: url('assets/fonts/Amalfi-Coast.ttf.woff') format('woff'),
        url('assets/fonts/Amalfi-Coast.ttf.svg#Amalfi-Coast') format('svg'),
        url('assets/fonts/Amalfi-Coast.ttf.eot'),
        url('assets/fonts/Amalfi-Coast.ttf.eot?#iefix') format('embedded-opentype');
    font-weight: normal;
    font-style: normal;
}





html {
    scroll-behavior: smooth;
    font-size: 16px;
}


/* width */
::-webkit-scrollbar {
    width: 8px;
}

/* Track */
::-webkit-scrollbar-track {
    background: white;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--green);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--light-green)
}

body {
    margin: 0px;
}


.pigna {
    height: 80vh;
    width: auto;
}


/* Makes sure everything is centered. Always. */
section,
div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}

/* Sets minimum height for the sections, so they look better  */
section {
    overflow: hidden;
    min-height: 90vh;
}

div {
    font-family: 'Cormorant Garamond', serif;
}

span {
    font-family: 'Cormorant Garamond', serif;
}


/* Basic font settings  */
h1,
h2,
h3,
p {
    font-family: 'Cormorant Garamond', serif;
    color: var(--text);
    font-weight: 400;
}

h1 a,
h1 a:visited {
    color: var(--text);
    display: inline-block;
    transition: all 0.75s ease-in-out;
}

h1 a:hover {
    color: var(--red);
}

/* Settings for the first row of every page */
section.hero {
    background-color: var(--beige);
    height: 100vh;
}

/* Non-hero sections */
section.standard {
    /* padding: 12rem; */
    height: 100vh;
    z-index: 2;
    background-color: white;
}

/* All images that need to stay on top of other elements  */
.img-over {
    display: block;
    position: absolute;
    pointer-events: none;
}

/* Images in the hero that need to stay below other rows when scrolling */
section.hero .img-over {
    /* position: fixed; */
    z-index: 1;
}

/* Stick images to specific positions */
.img-top {
    top: 0%;
}

.img-bottom {
    bottom: 0%
}

.img-right {
    right: 0%;
}

.img-left {
    left: 0%;
}

/* Specific style for Vulcanomare.png */
.img-over.img-bottom.img-left[src="assets/Vulcanomare.png"] {
    height: auto;
    /* Altezza standard */
    width: 100%;
    /* Mantiene proporzioni */
    bottom: -5vh;
    /* Adeso al bordo inferiore */
    left: 0;
    /* Adeso al bordo sinistro */
    margin: 0;
    /* Spazio dai bordi */
}

/***
HOME
***/

/* Font settings for the main title */
.home h1 {
    font-family: 'Amalfi-Coast';
    text-align: center;
    line-height: 1.05em;
    font-size: calc(1.5rem + 4vw);
    letter-spacing: .5px;
    color: var(--green);
}

/* Set height for images on the hero section */
.home .hero .img-top.img-left {
    height: 35vh;
}

.home .hero .img-top.img-right {
    height: 40vh;
}

.home .hero .img-bottom.img-left {
    height: 60vh;
}

.home .hero .img-bottom.img-right {
    height: 40vh;
}

/* Sets the wedding date below the h1 */
.home .date {
    color: var(--green);
    font-size: calc(1.5rem + 1.5vw);
    margin-top: 12vh;
}

/***
RSVP Button
***/

/* Sticks button to the right side and makes sure it stays on top of everything else */
.rsvp {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 4;
}

/* Defines size of the button and basic effects */
.rsvp a img {
    height: 80px;
    transition: all 0.8s ease-in-out;
    box-shadow: var(--shadow-2-elevation-medium);
    border-radius: 100px;
}

/* Button hover effect */
.rsvp a:hover img {
    transform: scale(1.1);
    box-shadow: var(--shadow-2-elevation-high);
}

/* section.standard,
div.box {
    z-index: 1;
} */

div.box {
    /* background-color: var(--beige); */
    padding: 6rem;
}

h1,
p.bigtext {
    font-size: 4rem;
    /* line-height: 1.2rem; */
    padding: 0px;
    margin: 0px;
}

#return-icon {
    color: var(--beige)
}

#return-icon-luna {
    color: var(--green);
    font-size: 30px;
}

.menu-icon {
    font-size: 20px;
    color: var(--light-green)
}

.margherita-desktop {
    display: block;
}

#margherita-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}

.text {
    color: var(--text);
    font-weight: 400;
}


.adaptive-bigtext {
    color: var(--text);
    font-weight: 400;
    font-size: 40px;
    padding: 0px;
    margin: 0 auto;
    text-align: center;
}

.adaptive-smalltext {
    color: var(--text);
    font-weight: 400;
    font-size: 30px;
    padding: 0px;
    margin: 0 auto;
    text-align: center;
}

.mezzo-container {
    display: flex;
    flex-direction: row;
}


/* Nuova classe adattiva basata su bigtext */
.adaptive-bigtext-wrap {
    font-family: 'Cormorant Garamond', serif;
    /* Inherits font from bigtext */
    color: var(--text);
    /* Usa il colore della variabile predefinita */
    font-weight: 400;
    /* Mantiene lo stile del font */
    font-size: calc(100vw/39);
    padding: 0px;
    /* Eredita il padding */
    margin: 0 auto;
    /* Centra il blocco */
    text-align: center;
    /* Allinea il testo al centro */
}

/* Nuova classe adattiva basata su text */
.adaptive-text {
    font-family: 'Cormorant Garamond', serif;
    /* Inherits font from bigtext */
    color: var(--text);
    /* Usa il colore della variabile predefinita */
    font-weight: 400;
    /* Mantiene lo stile del font */
    font-size: 2vw;
    padding: 0px;
    /* Eredita il padding */
    margin: 0 auto;
    /* Centra il blocco */
    text-align: center;
    /* Allinea il testo al centro */
    white-space: nowrap;
}

/* Nuova classe adattiva basata su text */
.adaptive-medtext {
    font-family: 'Cormorant Garamond', serif;
    /* Inherits font from bigtext */
    color: var(--text);
    /* Usa il colore della variabile predefinita */
    font-weight: 400;
    /* Mantiene lo stile del font */
    font-size: calc(100vw/45);
    padding: 0px;
    /* Eredita il padding */
    margin: 0 auto;
    /* Centra il blocco */
    text-align: center;
    /* Allinea il testo al centro */
    white-space: nowrap;
}


.dono {
    padding-top: 50px;
    padding-bottom: 50px;
    width: 80%;
    display: flex;
    flex-direction: column;
}

#luna-container {
    width: 100vw;
    flex-direction: row;
}

.lunadimiele-text {
    flex-direction: column;
}

p.adaptive-text a {
    color: var(--text);
    font-weight: bolder;
    font-style: italic;
}

p.adaptive-text a:hover {
    color: var(--red);
}

p.hugetext {
    font-size: 5rem;
    padding: 0px;
    margin: 0px;
}


div.divider {
    width: 25%;
    border-bottom: solid 1.5px var(--green);
}

div.divider.top {
    margin-bottom: 5rem;
    margin-top: 0rem;
}

div.divider.bottom {
    margin-bottom: -1rem;
    /* Spazio interno */
    margin-top: 1rem;
}


p.subtext {
    font-size: 1.5rem;
    margin: 0px;
}

.location {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px solid var(--green);
    font-size: calc(100vw/39);
    /* Dimensione del testo */
    font-weight: bold;
    /* Per enfatizzare la location */
    color: var(--green);
    /* Mantieni il colore in tema */
}

#lapa-senza {
    display: none;
}

#testa-di-cazzo-lui {
    display: none;
}

#testa-di-cazzo-lei {
    display: none;
}

#partecipazione-mobile {
    display: none
}

#partecipazione-desktop {
    display: block
}

a:visited {
    color: var(--text);
}

#partecipazione {
    display: flex;
}

p.details a,
p.details a:visited,
p.details a:any-link {
    font-size: 1rem;
    font-family: 'Work Sans', sans-serif;
    text-decoration: none;
    border-bottom: solid 1px var(--light-green);
    color: var(--light-green);
    transition: all 1s ease-in-out;
}

p.details a:hover {
    color: var(--red);
}

a {
    color: var(--green);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--red);
    /* Rosso definito nella root */
}

p.details a,
p.details a:visited,
p.details a:any-link,
.column a,
.column a:visited,
.column a:any-link {
    font-size: 1rem;
    font-family: 'Work Sans', sans-serif;
    text-decoration: none;
    border-bottom: solid 1px var(--light-green);
    color: var(--light-green);
    transition: all 1s ease-in-out;
}

p.details a:hover,
.column a:hover {
    color: var(--red);
}

section.alt {
    background-color: var(--beige);
    /* padding: 12rem 10em; */
    height: 100vh;
}

.video iframe {
    margin-top: 3rem;
    width: 90%;
    box-shadow: var(--shadow-1-elevation-high);
    width: 1100px;
    height: 620px;
}


/* section.video p.bigtext {
    line-height: .95em;
} */

section.video {
    position: relative;
}

section.video img.img-top.img-left {
    height: 80vh;
}

section.video img.img-top.img-right {
    height: 100vh;
}

section.video img.img-bottom.img-left {
    height: 60vh;
}

section.video img.img-bottom.img-right {
    height: 40vh;
}

p.bigtext a,
p.hugetext a {
    font-weight: bolder;
    font-style: italic;
    display: inline-block;
    position: relative;
    color: var(--text);
    text-decoration: underline;
    /* padding: 0.2em 0.05em; */
    transition: all .5s ease-in-out;
}

p.subtext a {
    color: var(--text);
    font-weight: bolder;
    font-style: italic;
}

p.bigtext a:hover,
p.hugetext a:hover,
p.subtext a:hover {
    color: var(--red);
}

/* p.bigtext a:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;
    left: 0;
    background: var(--light-green);
    z-index: -1;
    transform: scaleY(.2);
    border-radius: 0;
    transition: all 0.3s ease-in-out;
  }
  
  p.bigtext a:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--light-green);
    z-index: -1;
    border-radius: 8px;
  } */

img.img-remark {
    width: 30vw;
}

.testa {
    width: 25vw;
}

#testa-container {
    height: 100%;
    justify-content: center;
}

img.remark-top {
    margin-bottom: 5rem;
}

a.button {
    font-family: 'Work Sans', sans-serif;
    font-size: 1.1rem;
    margin-top: 3rem;
    text-decoration: none;
    color: white;
    background: var(--green);
    padding: 20px 30px;
    border-radius: 500px;
    display: inline-block;
    /* border-bottom: solid 5px transparent; */
    box-shadow: var(--shadow-1-elevation-medium);
    transition: all 1s ease-in-out, box-shadow 0.5s ease-in-out;
}

a.button:hover {
    /* border-bottom:solid 5px var(--light-green); */
    box-shadow: var(--shadow-1-elevation-high);
    transform: scale(1.05);
}

/*** GIFT SECTION ***/

section.gift {
    height: 100vh;
    padding: 0rem 12rem;
    z-index: 3;
}

section.gift img {
    bottom: -5%;
}

section.gift img.img-bottom.img-left {
    height: 40vw;
}

section.gift img.img-bottom.img-right {
    height: 50%;
}

.midtext {
    font-size: 2.5rem;
}

/***
PAGE WHERE
***/

.internal .hero .img-bottom.img-right {
    width: 50vw;
    z-index: 0;
    right: -10%;
    bottom: -10%;
}

.internal .rsvp {
    position: relative;
    bottom: auto;
    right: auto;
    margin-left: 1rem;
    border-radius: 100px;
}

.internal .rsvp img a {
    height: 70px;
    border-radius: 100px;
}

/* .internal {
    padding-bottom: 120px;
} */

div.navigation {
    position: fixed;
    display: flex;
    flex-direction: row;
    width: 100vw;
    bottom: 0px;
    z-index: 4;
}

div.navigation a img {
    height: 70px;
    box-shadow: var(--shadow-1-elevation-medium);
    border-radius: 100px;
}

div.navigation a.logo {
    margin-right: 1rem;
    z-index: 4;
}

div.menu {

    height: 40px;
    background-color: var(--green);
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    box-shadow: var(--shadow-1-elevation-medium);
    width: 100vw;
}

.menu-item {
    display: flex;
    align-items: center;
}

.menu-item .menu-text {
    opacity: 0;
    /* Hide text initially */
    margin-left: 10px;
    color: var(--light-green);
    transition: opacity 0.7s ease;
}

.menu-item:hover .menu-text {
    opacity: 1;
    /* Show text on hover */
}

.menu-item i {
    opacity: 1;
    /* Icon is visible initially */
    transition: opacity 0.7s ease;
}


div.navigation a,
div.navigation a:any-link,
div.navigation a:visited {
    color: var(--green);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4em;
    text-decoration: none;
    font-weight: 500;
    border-bottom: solid 1px transparent;
    transition: all 1s ease-in-out;
}

div.navigation .menu a:hover {
    border-bottom: solid 1px var(--green);
}

div.navigation a.logo:hover {
    border-bottom: solid 1px transparent;
}

div.navigation .test {
    opacity: 0;
    pointer-events: none;
    display: flex;
    background-color: white;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 5;
    border-radius: 100px;
    flex-direction: row;
    justify-content: left;
    box-shadow: var(--shadow-1-elevation-high);
    transition: all 0.8s ease-in-out;
}

div.navigation .test div {
    text-align: center;
    width: 100%;
}

div.navigation .test div p {
    color: var(--green);
}

div.navigation a.logo:hover .test {
    opacity: 100%;
}

.internal section.hero {
    height: 95vh;
}

.internal h1 {
    z-index: 1;
}

/* Accomodations */

#accomodations .bigtext {
    margin-bottom: 3rem;
}

.columns {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.column {
    display: flex;
    flex-direction: column;
    width: 50%;
    padding: 0 2.5em;
}

p.smalldetail {
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 200;
}

.column h3 {
    font-size: 2.5rem;
}

p.description {
    font-size: 1.5rem;
    font-family: 'Work Sans', sans-serif;
    font-weight: 200;
}

.column a {
    color: var(--green);
    text-decoration: none;
    margin-top: 2rem;
}

#location .description {
    width: 90%;
    line-height: 1.8rem;
}

#location .description a {
    font-size: 1.5rem;
    font-family: 'Work Sans', sans-serif;
    transition: all 0.5s ease-in-out;
    color: var(--green);
    border-bottom: solid 0px transparent;
    text-decoration: underline;
}

#location .description a:hover {
    color: var(--red);
}

#location .column img {
    width: 100%;
}

.location-img {
    margin-bottom: 5px;
    width: 20vh;
    height: auto;
}

.locations-container {
    height: 200%;
    display: grid;
    grid-template-columns: 40vw 40vw;
    grid-row-gap: 10vh;
    justify-content: space-between;
    column-gap: 5vw;
    padding: 5%;
    align-items: start;
}

.experience-img {
    width: 10vw
}

.experience-img-scaled {
    width: 5vw
}

.experience-img-container {
    padding: 0 2.4vw
}

.experience-text-header {
    color: var(--green);
    font-size: 40px;
    text-align: left;
}

.experience-text-container {
    margin-left: 10px;
    display: flex;
    align-items: flex-start !important;
}

.experience-container {

    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;

}

.experience-text {
    text-align: left;
}

.icon {
    width: 25px;
}

/***
HONEYMOON
***/


.honeymoon hero {
    padding: 0em 13em;
}

.honeymoon div.navigation {
    width: 50vw;
    justify-content: space-between;
}

.honeymoon h1 {
    margin-bottom: 4rem
}

/* .honeymoon span.iban {
    display: block;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.honeymoon span.iban_details {
    display: block;
font-size: 1.5rem;
}
 */

/***
TEXT HIGHLIGHT
***/

::-moz-selection {
    /* Code for Firefox */
    background: var(--yellow-down);
}

::selection {
    background: var(--yellow-down);
}

/***
ANIMATIONS
***/

.arrow-bounce-top {
    position: absolute;
    color: var(--green);
    top: 2vh;
    z-index: 10
}

.arrow-bounce {
    position: absolute;
    color: var(--light-green);
    bottom: 2rem;
}

.arrow-bounce i {
    opacity: 30%;
}

.arrow-bounce-top i {
    opacity: 30%;
}


.focus-in {
    -webkit-animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
    animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
}

.hero-content {
    margin-top: 110px;
    /* Sposta tutto il blocco verso il basso */
    text-align: center;
    /* Mantiene il contenuto centrato */
    position: relative;
    /* Necessario per controllare margini e spostamenti */
    -webkit-animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
    animation: focus-in 1.5s cubic-bezier(0.550, 0.085, 0.680, 0.530);
}

@-webkit-keyframes focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@keyframes focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }

    100% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

.slide-in-blurred-top {
    -webkit-animation: slide-in-blurred-top 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-top 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2021-12-21 12:16:23
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-blurred-top
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-blurred-top {
    0% {
        -webkit-transform: translateY(-1000px) scaleY(1) scaleX(1);
        transform: translateY(-1000px) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-top {
    0% {
        -webkit-transform: translateY(-1000px) scaleY(1) scaleX(1);
        transform: translateY(-1000px) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}


.slide-in-blurred-bottom {
    -webkit-animation: slide-in-blurred-bottom 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-bottom 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(1000px) scaleY(1) scaleX(1);
        transform: translateY(1000px) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-bottom {
    0% {
        -webkit-transform: translateY(1000px) scaleY(1) scaleX(1);
        transform: translateY(1000px) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0) scaleY(1) scaleX(1);
        transform: translateY(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

.slide-in-blurred-tr {
    -webkit-animation: slide-in-blurred-tr 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-tr 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-tr {
    0% {
        -webkit-transform: translate(1000px, -1000px) skew(0deg, 0deg);
        transform: translate(1000px, -1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-tr {
    0% {
        -webkit-transform: translate(1000px, -1000px) skew(0deg, 0deg);
        transform: translate(1000px, -1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

.slide-in-blurred-br {
    -webkit-animation: slide-in-blurred-br 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-br 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2021-12-21 12:21:55
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-blurred-br
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-blurred-br {
    0% {
        -webkit-transform: translate(1000px, 1000px) skew(0deg, 0deg);
        transform: translate(1000px, 1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-br {
    0% {
        -webkit-transform: translate(1000px, 1000px) skew(0deg, 0deg);
        transform: translate(1000px, 1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

.slide-in-blurred-bl {
    -webkit-animation: slide-in-blurred-bl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-bl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-bl {
    0% {
        -webkit-transform: translate(-1000px, 1000px) skew(0deg, 0deg);
        transform: translate(-1000px, 1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: 100% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-bl {
    0% {
        -webkit-transform: translate(-1000px, 1000px) skew(0deg, 0deg);
        transform: translate(-1000px, 1000px) skew(0deg, 0deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: 100% 100%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

.slide-in-blurred-tl {
    -webkit-animation: slide-in-blurred-tl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
    animation: slide-in-blurred-tl 2s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

@-webkit-keyframes slide-in-blurred-tl {
    0% {
        -webkit-transform: translate(-1000px, -1000px) skew(0deg, 0deg);
        ;
        transform: translate(-1000px, -1000px) skew(0deg, 0deg);
        ;
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}

@keyframes slide-in-blurred-tl {
    0% {
        -webkit-transform: translate(-1000px, -1000px) skew(0deg, 0deg);
        ;
        transform: translate(-1000px, -1000px) skew(0deg, 0deg);
        ;
        -webkit-transform-origin: 100% 0%;
        transform-origin: 100% 0%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translate(0, 0) skew(0deg, 0deg);
        transform: translate(0, 0) skew(0deg, 0deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}




/** Delay **/

.del-0 {
    animation-delay: 0s;
}

.del-025 {
    animation-delay: 0.25s;
}

.del-050 {
    animation-delay: 0.50s;
}

.del-075 {
    animation-delay: 0.75s;
}

.del-1 {
    animation-delay: 1s;
}

.del-125 {
    animation-delay: 1.25s;
}

.del-150 {
    animation-delay: 1.50s;
}

.del-175 {
    animation-delay: 1.75s;
}

.del-2 {
    animation-delay: 2s;
}

.del-225 {
    animation-delay: 2.25s;
}

.del-250 {
    animation-delay: 2.50s;
}

.del-275 {
    animation-delay: 2.75s;
}

.del-3 {
    animation-delay: 3s;
}

.del-325 {
    animation-delay: 3.25s;
}

.del-350 {
    animation-delay: 3.50s;
}

.del-375 {
    animation-delay: 3.75s;
}

.del-4 {
    animation-delay: 4s;
}

/** Duration **/

.dur-0 {
    animation-duration: 0s;
}

.dur-025 {
    animation-duration: 0.25s;
}

.dur-050 {
    animation-duration: 0.50s;
}

.dur-075 {
    animation-duration: 0.75s;
}

.dur-1 {
    animation-duration: 1s;
}

.dur-125 {
    animation-duration: 1.25s;
}

.dur-150 {
    animation-duration: 1.50s;
}

.dur-175 {
    animation-duration: 1.75s;
}

.dur-2 {
    animation-duration: 2s;
}

.dur-225 {
    animation-duration: 2.25s;
}

.dur-250 {
    animation-duration: 2.50s;
}

.dur-275 {
    animation-duration: 2.75s;
}

.dur-3 {
    animation-duration: 3s;
}

.dur-325 {
    animation-duration: 3.25s;
}

.dur-350 {
    animation-duration: 3.50s;
}

.dur-375 {
    animation-duration: 3.75s;
}

.dur-4 {
    animation-duration: 4s;
}

#santa-venerina {
    font-size: 25px;
}

.welcome-text {
    display: inline;
}

/***
RESPONSIVENESS
***/

.ficco {
    height: 50vh;
    width: auto;
    bottom: 0px;
    position: absolute;
}

#ficchi-sinistra {
    left: 0px;
}

#ficchi-destra {
    right: 0px;
    display: none;
}

.active {
    color: var(--beige)
}

.active-text {
    opacity: 1 !important;
    color: var(--beige) !important
}


#return-arrow-container {
    position: absolute;
    top: 20px;
    left: 20px;
}

#return-arrow {
    z-index: 4;
    width: var(--return-arrow-size);
    height: var(--return-arrow-size)
}

#return-arrow-img {
    width: var(--return-arrow-size);
    height: var(--return-arrow-size);
}

.experience-section {
    height: auto !important;
    padding-bottom: 50px !important;
}


.mezzi-header {
    margin: 0px;
    text-align: left;
}

.aeroporto-text-container {
    align-items: flex-start;
}

.location-img {
    margin-right: 5vw;
}

@media (max-width: 1200px) {
    .home h1 {
        font-size: 4rem;
    }

}

.double-experience-container {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
}


/* TABLETS */
@media (max-width: 1024px) {
    .double-experience-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }


    .experience-text-header {
        font-size: 24px;
        text-align: left;
    }

    .ficco {
        height: auto;
        width: 60vw;
        ;
    }

    .luna-text´ {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    #lunadimiele {
        align-items: flex-start;
        justify-content: flex-start !important;
    }

    #organizzazione {
        align-items: flex-start !important;
        justify-content: flex-start;
    }

    .menu-text {
        width: 0px;
        display: none;
    }

    .menu-item:hover .menu-text {
        opacity: 0;
        /* Show text on hover */
    }

    #mezzi-container {
        height: 80% !important;
        align-items: center !important;
    }

    /* width */
    ::-webkit-scrollbar {
        width: 0px;
    }


    .aeroporto-text-container {
        align-items: center;
    }

    .location-img {
        margin-right: 0px;
    }

    .mezzo-container {
        flex-direction: column;
    }

    .mezzi-header {
        margin: 0 auto;
        text-align: center;
    }

    #margherita-container {
        justify-content: center;
    }

    .margherita-desktop {
        display: none;
    }

    .experience-section {
        height: auto !important;
        padding-bottom: 50px !important;
    }


    .locations-container {
        grid-template-columns: none;
        grid-row-gap: 1vh;
        padding: 5%;

    }

    .experience-container {
        margin-top: 5vh;
        align-items: center;
    }

    .experience-img {
        width: 20vw
    }

    .experience-img-scaled {
        width: 12vw
    }

    .experience-img-container {
        padding: 0 3.75vw
    }

    .internal section.hero {
        height: 95vh;
    }

    .adaptive-bigtext {
        font-size: 40px;
    }

    .adaptive-smalltext {
        font-size: 20px;
    }

    #return-icon-luna {
        font-size: 40px;
    }

    .internal .navigation {
        position: fixed;
        bottom: 0px;
    }

    .adaptive-text {
        font-size: 20px;
    }

    .honeymoon {
        display: flex !important;
        align-items: center !important;
    }

    .adaptive-medtext {
        font-size: 30px !important;
    }

    .honeymoon-text .iban {
        font-size: 30px !important;
    }

    .honeymoon-text {
        display: block !important;
        width: 100vw !important;
        padding: 0px !important;
    }

    .honeymoon-section {
        padding: 0px !important;
        width: 100vw !important;
        flex-direction: column-reverse !important;
        align-items: center !important;
    }

    .pigna-mobile-container {
        display: flex !important;
    }

    .pigna-mobile {
        height: 25vh !important;
        display: block !important;
    }

    .pigna {
        height: 25vh !important;
        display: block !important;
    }

    .partecipazione-mobile-text {
        margin-top: 1vh;
        margin-bottom: 1vh;
        padding: 0 7vw;
    }

    .home section.hero .img-top.img-left {
        height: 40vw;
    }

    .home section.hero .img-top.img-right {
        height: 0vw;
    }

    .home section.hero .img-bottom.img-left {
        height: 0vw;
    }

    .home section.hero .img-bottom.img-right {
        height: 35vw;
        /* Nuova regola per spostare Ninfee.png in alto */
    }

    .home .date {
        margin-top: 4vh;
        /* Avvicina la data al titolo */
    }

    .hero-content {
        margin-top: 30px;
        /* Sposta verso il basso di soli 50px per la versione mobile */
    }

    .home h1 {
        font-size: 1.5rem;
    }

    .home .bounce {
        display: none;
    }

    .home div.rsvp {
        right: 1rem;
        bottom: 1rem;
        z-index: 4;
    }



    .dono {
        padding-top: 20px;
        padding-bottom: 20px;
        width: 80%;
        display: flex;
        font-size: 40px !important;
    }

    #luna-container {
        display: flex;
        flex-direction: column-reverse;
        height: 100%
    }

    #lapa-senza {
        width: 75%;
        display: block;
    }

    .lapa-right {
        display: none;
    }

    #welcome-text-container {
        height: 50%;
        padding: 0px 15vw;
    }

    #header-ulivo {
        margin-top: 50px
    }

    /*#organizzazione {
        align-items: flex-start !important;
    }*/


    .ulivo {
        height: 60% !important;
        position: absolute;
        bottom: 0px
    }

    #partecipazione-mobile {
        padding: 0px 9vw;
        display: flex;
        font-size: 40px !important;
    }

    #partecipazione-desktop {
        display: none;
    }


    .adaptive-bigtext {
        font-size: 40px;
    }

    .welcome-text {
        font-size: 40px !important
    }

    .location {
        font-size: 30px !important;
    }

    #santa-venerina {
        font-size: 23px;
    }

    .details>a {
        font-size: 30px !important;
    }

    #teste-di-cazzo {
        display: none !important;
    }

    #testa-di-cazzo-lui {
        display: block;
    }

    #testa-di-cazzo-lei {
        display: block;
    }

    #testa-container {
        height: 100%;
        justify-content: space-around;
    }

    #img-vulcano {
        width: 200%;
        position: absolute;
        bottom: -5vh;
        left: -50vw;
    }


    .home h1 {
        font-size: 2.5rem;
    }

    .home .hero .img-top.img-left {
        height: 40vh;
    }

    .home .hero .img-top.img-right {
        height: 40vh;
    }

    .home .hero .img-bottom.img-left {
        height: 50vh;
    }

    .home .hero .img-bottom.img-right {
        height: 50vh;
    }

    h1,
    p.bigtext {
        font-size: 3rem;
    }

    .video iframe {
        width: 900px;
        height: 506px;
    }

}



/* PHONES */
@media (max-width: 430px) {
    #return-icon-luna {
        font-size: 30px;
    }

    /* width */
    ::-webkit-scrollbar {
        width: 0px;
    }


    #return-arrow {
        width: var(--return-arrow-size-small);
        height: var(--return-arrow-size-small);
    }

    #return-arrow-img {
        width: var(--return-arrow-size-small);
        height: var(--return-arrow-size-small);
    }

    .adaptive-text {
        font-size: 15px;
    }

    .adaptive-medtext {
        font-size: 20px !important;
    }

    .honeymoon-text .iban {
        font-size: 20px !important;
    }

    .partecipazione-mobile-text {
        padding: 20px 0 20px 0;
    }

    .dono {
        font-size: 30px !important;
    }

    #welcome>div {
        height: 50% !important
    }


    #partecipazione-mobile {
        padding: 0px 9vw;
        display: flex;
        font-size: 30px !important;
    }

    .adaptive-bigtext {
        font-size: 30px;
    }

    .adaptive-smalltext {
        font-size: 17px;
    }

    .welcome-text {
        font-size: 30px !important;
        display: flex !important;
    }

    .location {
        font-size: 20px !important;
    }

    #santa-venerina {
        font-size: 16px;
    }

    .details>a {
        font-size: 20px !important;
    }

    #teste-di-cazzo {
        display: none !important;
    }

    #testa-di-cazzo-lui {
        display: block;
    }

    #testa-di-cazzo-lei {
        display: block;
    }

    #testa-container {
        height: 100%;
        justify-content: space-around;
    }





    #img-vulcano {
        width: 400%;
        position: absolute;
        bottom: -7vh;
        left: -130vw;
    }



    h1,
    p.bigtext,
    p.hugetext {
        font-size: 2rem;
    }

    .internal section.hero {
        padding: 0 5rem;
    }

    .internal .hero .img-bottom.img-right {
        height: 65vw;
        width: auto;
    }


    section.video img.img-top.img-left {
        height: 40vw;
    }

    section.video img.img-top.img-right {
        height: 60vw;
    }

    section.video img.img-bottom.img-left {
        height: 50vw;
    }

    section.video img.img-bottom.img-right {
        height: 25vw;
    }

    .video iframe {
        width: 600px;
        height: 338px;
    }

    .columns {
        flex-direction: column;
    }

    .columns .column:first-child {
        margin-bottom: 8rem;
    }

    .column {
        padding: 0rem;
        width: 100%;
    }

    .logo div.test {
        display: none;
    }

    /*     .honeymoon span.iban {
        font-size: 1.5rem;
    }
    .honeymoon span.iban_details {
        font-size: 1.2rem;
    } */

}


@media (max-width: 330px) {

    .adaptive-bigtext {
        font-size: 20px;
    }

    .adaptive-smalltext {
        font-size: 15px;
    }


}

@media (max-width: 576px) {
    .home section.hero .img-top.img-left {
        height: 55vw;
    }

    .home section.hero .img-top.img-right {
        height: 0vw;
    }

    .home section.hero .img-bottom.img-left {
        height: 0vw;
    }

    .home section.hero .img-bottom.img-right {
        height: 50vw;
        /* Nuova regola per spostare Ninfee.png in alto */
    }

    .home .date {
        margin-top: 1.5rem;
        /* Avvicina la data al titolo */
    }

    .hero-content {
        margin-top: 30px;
        /* Sposta verso il basso di soli 50px per la versione mobile */
    }

    .home h1 {
        font-size: 1.5rem;
    }

    .home .bounce {
        display: none;
    }

    .home div.rsvp {
        right: 1rem;
        bottom: 1rem;
        z-index: 4;
    }



    .internal .logo {
        position: fixed;
        top: 1rem;
        left: 1rem;
    }

    .internal .rsvp {
        position: fixed;
        top: 1rem;
        right: 1rem;
    }

    .internal .menu {
        background-color: var(--green);
        width: 100vw;
        font-size: 0.9rem;
        height: 50px;
    }

    .video iframe {
        width: 500px;
        height: 280px;
    }

    .home section.gift .img-bottom.img-left {
        height: 0vw;
    }

    .home section.gift .img-bottom.img-right {
        height: 70vw;
    }
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}

/***
ALL OTHER UGLY STUFF
***/

#welcome {
    display: flex;
    /* Mantiene il layout flex */
    flex-direction: column;
    /* Imposta l'orientamento verticale */
    align-items: center;
    /* Mantiene il contenuto centrato orizzontalmente */
    justify-content: flex-start;
    /* Sposta il contenuto verso l'alto */
    position: relative;
    /* Garantisce che gli offset siano calcolati correttamente */
}

#welcome>div {
    height: 50%
        /* Sposta il contenuto del 20% dall'inizio della sezione */
}

#rsvp p.adaptive-bigtext {
    margin-bottom: 3%;
}

/* 1) Layout di base per #organizzazione */
#organizzazione {
    position: relative;
    /* Mantiene la posizione per la freccia */
    display: flex;
    /* Layout flex orizzontale */
    flex-direction: row;
    /* Immagine e testo affiancati */
    align-items: center;
    /* Centra verticalmente */
    /*justify-content: flex-start;*/
    /* L’immagine sta a sinistra, il testo a destra */
    height: 100vh;
    /* Occupa interamente la viewport (o come preferisci) */
    /* overflow: hidden;         /* Per sicurezza, in caso di animazioni */
}

/* 2) Stile per l'immagine dell’ulivo a sinistra */
#organizzazione img.ulivo {
    height: 100%;
    /* Occupa 100% dell’altezza della sezione */
    width: auto;
    /* Mantiene proporzioni in larghezza */
    flex-shrink: 0;
    /* Impedisce all’immagine di ridursi troppo se lo spazio è poco */
    object-fit: cover;
    /* Taglia eventuali eccedenze se serve */
    /* Se vuoi dare una larghezza massima: max-width: 200px, ecc. */
}

/* 3) Contenitore del testo a destra */
#organizzazione .organizzazione-text {
    flex: 1;
    /* Prende tutto lo spazio rimanente */
    display: flex;
    /* Centro verticale/orizzontale */
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0rem;
    height: 40%;
    /* Un po’ di padding se serve */
    box-sizing: border-box;
}

/* 4) Adattare la dimensione del testo dinamicamente */
/* Se vuoi un approccio simile a 'adaptive-bigtext', puoi usare un calc o una media query */
#organizzazione .organizzazione-text p.bigtext {
    font-size: calc(1.8rem + 2vw);
    /* Esempio: si adatta in base alla larghezza viewport */
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

#organizzazione .arrow-bounce {
    position: absolute;
    /* la classe arrow-bounce è già absolute, ma ribadiamolo */
    bottom: 2rem;
    /* o la distanza che preferisci dal fondo */
    left: 50%;
    /* centrata orizzontalmente */
    transform: translateX(-50%);
    z-index: 10;
    /* numero più alto di quello dell’immagine */
}

#welcome .arrow-bounce {
    color: var(--beige)
}


/* Rende l’intera sezione #rsvpsec un contenitore flex,
   e centra orizzontalmente + verticalmente il suo contenuto */
#rsvpsec {
    display: flex;
    /* container flex */
    flex-direction: column;
    /* disposizione verticale */
    align-items: center;
    /* centrato orizzontalmente */
    justify-content: center;
    /* centrato verticalmente */
    position: relative;
    /* ci serve per la freccia absolute */
    height: 100vh;
    /* occupa tutta l’altezza viewport */
    text-align: center;
    /* testo centrato */
}

/* L’elemento <div> interno ha già display: flex (ereditato dalle regole globali)
   ma se serve puoi “normalizzarlo” così */
#rsvpsec>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    /* Evita margini verticali eccessivi */
    padding: 0;
}

/* Se vuoi ridurre la distanza dell'immagine o gestirne la larghezza max: */
#rsvpsec img.img-remark.remark-top {
    margin-bottom: 2rem;
    /* esempio di margine */
    max-width: 50vw;
    /* così non sborda su schermi più piccoli */
    height: auto;
}

/* La freccia la mantieni in basso centrata */
#rsvpsec .arrow-bounce {
    position: absolute;
    bottom: 2rem;
    /* distanza dal fondo */
    left: 50%;
    /* centrata orizzontalmente */
    transform: translateX(-50%);
    z-index: 10;
}

/* Layout di base per #lunadimiele */
#lunadimiele {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 100vh;
}



/* Stile per l'immagine della lapa a destra */
#lunadimiele img.lapa-right {
    height: 100vh;
    width: auto;
    flex-shrink: 0;
    object-fit: cover;
    order: 2;
    /* Sposta l'immagine alla fine del container flex */
}

/* Contenitore del testo a sinistra */
#lunadimiele .lunadimiele-text {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0rem;
    box-sizing: border-box;
    order: 1;
    /* Sposta il testo all'inizio del container flex */
}

/* Adattamento dimensione testo */
#lunadimiele .lunadimiele-text p.bigtext {
    font-size: calc(1.8rem + 2vw);
    line-height: 1.2;
    margin: 0;
    padding: 0;
}

.pigna-mobile {
    display: none;
}

.pigna-mobile-container {
    display: none;
}

#lunadimiele .arrow-bounce {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

/* Responsiveness per schermi più piccoli */
@media (max-width: 768px) {
    #lunadimiele {
        flex-direction: column;
    }

    #lunadimiele img.lapa-right {
        height: auto;
        width: 100%;
    }

    #lunadimiele .lunadimiele-text p.bigtext {
        font-size: calc(1.5rem + 2vw);
    }
}

.spacer {
    height: 5vh;
    width: 100%;
}

/***
HONEYMOON
***/

.honeymoon-section {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    /* Estende gli elementi per riempire l'altezza */
    justify-content: flex-end;
    /* Distribuisce gli elementi */
    height: 100dvh;
    width: 90vw;
    /* Imposta l'altezza della sezione */
    padding: 0 0 0 2%;
    /* Aggiunge spaziatura laterale */
}

.honeymoon-section .img-over {
    /* position: static;         Rimuove position absolute */
    height: 75vh;
    /* Occupa l'intera altezza della sezione */
    width: auto;
    /* Mantiene le proporzioni */
    flex-shrink: 0;
    /* Impedisce alla larghezza di ridursi */
    object-fit: cover;
    /* Assicura che l'immagine copra l'area senza deformazioni */
    object-position: bottom;
}

.honeymoon-text {
    width: 50vw;
    /* Occupa lo spazio rimanente */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Centra orizzontalmente */
    justify-content: center;
    /* Centra verticalmente */
    text-align: center;
    /* Allinea il testo al centro */
    padding: 2rem;
    box-sizing: border-box;
}

.honeymoon-text h1,
.honeymoon-text p {
    text-align: center;
    /* Garantisce la centratura del testo */
}

.honeymoon-text .iban {
    display: block;
    font-family: 'EB Garamond';
    font-size: 3.5vw;
    margin-top: 0;
    /* Eventualmente elimina lo spazio sopra l'IBAN */
    margin-bottom: 1rem;
}

.honeymoon-text .swift {
    display: inline;
    font-family: 'EB Garamond';
    font-size: calc(100wh/50);
    margin-top: 0;
    /* Eventualmente elimina lo spazio sopra l'IBAN */
    margin-bottom: 1rem;
}

.honeymoon-text .iban_details {
    display: block;
    font-size: 1.5rem;
}

.swift-code {
    display: inline;
    /* Mantiene "BIC/SWIFT:" in linea */
}

/* Nuova classe, simile a .navigation, ma con larghezza ridotta 
   per non “spanciarsi” sull’intera sezione. */
.honeymoon-navigation {
    /* Se la sezione è .honeymoon-section con position: relative, puoi fare: */
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    width: 1000px;
    /* es. ampiezza dedicata */
    height: 70px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* HOME a sinistra, RSVP a destra */
    z-index: 999;
}

/* Replichi lo stile dei bottoni usato in .navigation, 
   ma lo applichi a .honeymoon-navigation */
.honeymoon-navigation a img {
    height: 70px;
    /* o 60px, vedi tu */
    box-shadow: var(--shadow-1-elevation-medium);
    border-radius: 100px;
    transition: all 0.8s ease-in-out;
}

.honeymoon-navigation a.logo {
    margin-right: 1rem;
    /* come in .navigation a.logo */
    z-index: 4;
}

/* copia-incolla dal tuo .navigation .test */
.honeymoon-navigation .test {
    opacity: 0;
    pointer-events: none;
    display: flex;
    background-color: white;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 5;
    border-radius: 100px;
    flex-direction: row;
    justify-content: left;
    box-shadow: var(--shadow-1-elevation-high);
    transition: all 0.8s ease-in-out;
}

.honeymoon-navigation .test div p {
    color: var(--green);
}

.honeymoon-navigation a.logo:hover .test {
    opacity: 100%;
}