@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");
@font-face {
  font-family: "Morning Person";
  src: url("../font/MorningPerson-Regular.woff2") format("woff2"), url("../font/MorningPerson-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.grid-x {
  padding-top: 30px;
  padding-bottom: 30px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Morning Person";
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.1em;
  color: #004B00;
}

p strong {
  font-weight: 900;
}

p, ul {
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  font-size: x-large;
  color: #004B00;
}

.text-large p {
  font-size: large;
}

.logogp {
  max-width: 120px;
  margin-bottom: 15px;
  margin-top: 10px;
}

.rotate1deg {
  transform: rotate(1deg);
}

.rotate--1deg {
  transform: rotate(-1deg);
}

.button-ov {
  position: relative;
  display: inline-block;
  /* fa adattare il bottone al contenuto */
  border: none;
  background: transparent;
  margin-bottom: 50px;
  margin-right: 30px;
  padding: 0;
  cursor: pointer;
  outline-offset: 4px;
  transition: filter 250ms;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.button-ombra-ov {
  position: absolute;
  inset: 0;
  /* occupa solo l'area del bottone */
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: hsla(0deg, 0%, 0%, 0.25);
  will-change: transform;
  transform: translateY(6px);
  /* default più profondo */
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.button-bordo-ov {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(to left, #001b00 0%, #004B00 8%, #004B00 92%, #001b00 100%);
}

.button-bordo2-ov {
  background: linear-gradient(to left, #663333 0%, #D68254 8%, #D68254 92%, #663333 100%);
}

.button-fronte-ov {
  display: block;
  position: relative;
  padding: 12px 42px;
  border-radius: 8px;
  font-family: "Nunito", sans-serif;
  font-size: 1.5rem;
  font-weight: 1000;
  color: #004B00;
  background: #8CBF54;
  will-change: transform;
  transform: translateY(-8px);
  /* più alto da fermo */
  transition: transform 600ms cubic-bezier(0.3, 0.7, 0.4, 1);
}

.button-fronte2-ov {
  color: #593636;
  background: #F7D250;
}

.button-frontedona-ov {
  font-size: 1.2rem;
}

/* --- TERZA VARIANTE --- */
.button-bordo3-ov {
  background: linear-gradient(to left, #001b00 0%, #6e3f36 8%, #6e3f36 92%, #001b00 100%);
}

.button-fronte3-ov {
  color: #1f110f;
  /* testo scuro coerente */
  background: #E08A74;
}

/* Effetto hover */
.button-ov:hover {
  filter: brightness(110%);
}

.button-ov:hover .button-fronte-ov {
  transform: translateY(-12px);
  /* ancora più alto */
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

.button-ov:hover .button-ombra-ov {
  transform: translateY(12px);
  transition: transform 250ms cubic-bezier(0.3, 0.7, 0.4, 1.5);
}

/* Stato "premuto" */
.button-ov:active .button-fronte-ov {
  transform: translateY(1px);
  /* molto schiacciato */
  transition: transform 34ms;
}

.button-ov:active .button-ombra-ov {
  transform: translateY(2px);
  transition: transform 34ms;
}

/* Stato attivo (selezionato/disabilitato) */
.donation-btn.active .button-fronte-ov {
  transform: translateY(-2px);
  transition: none;
  /* nessuna animazione */
}

.donation-btn.active .button-ombra-ov {
  transform: translateY(1px);
  transition: none;
}

.donation-btn.active:hover .button-fronte-ov,
.donation-btn.active:hover .button-ombra-ov {
  transform: translateY(-2px);
  /* resta schiacciato */
}

.donation-btn.active:hover {
  filter: none;
  /* niente effetto di luminosità */
  cursor: default;
  /* opzionale */
}

/* Accessibilità */
.button-ov:focus:not(:focus-visible) {
  outline: none;
}

.box-shadow {
  -webkit-box-shadow: 7px 7px 0px 0px #BEBEBE;
  box-shadow: 7px 7px 0px 0px #BEBEBE;
}

.ov-titolo {
  max-width: 500px;
}

/* ANIMAZIONE: CHI E OCCHI VERDI? */
.side-img {
  max-width: 70%;
  height: auto;
}

/* Ogni cell diventa flexbox e centra il contenuto */
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.tilt-wrap {
  position: relative;
  display: inline-block;
}

.tilt-wrap img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  transform-origin: center center;
  will-change: transform, filter;
  transition: transform 120ms ease-out;
}

.tilt-img {
  position: relative;
  z-index: 2;
}

.tilt-img-back {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  .tilt-img,
.tilt-img-back {
    transition: none;
    transform: none !important;
  }
}
/* fine ANIMAZIONE: CHI E OCCHI VERDI? */
.ricevi {
  background-image: url(../img/barra-bianca-top.svg), url(../img/barra-bianca-bottom-long.svg);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, 100% auto;
  background-position: top, center 500px;
  background-color: #FFEB7E;
  padding-top: 30px;
}

.ricevi-title {
  background-image: url(../img/dots1.svg), url(../img/dots2.svg), url(../img/barra-gialla-bottom.svg);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 20%, 20%, 200% auto !important;
  background-position: left calc(50% - 30px), right calc(50% - 30px), center bottom !important;
  background-color: #F7D250;
  border-radius: 16px 16px 0px 0px;
  padding-bottom: 25px;
  padding-top: 20px;
  text-align: center;
}

.ricevi-content {
  background: #FFEB7E;
  border-radius: 0px 0px 16px 16px;
}

.riceviimg {
  background-image: url(../img/ricevi.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.ricevi .riceviP {
  max-width: 700px;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 40px;
}

.ricevi h3 {
  padding: 0px 40px 40px 40px;
}

.ricevi .imago {
  margin-top: -60px;
  margin-bottom: -40px;
}

.ricevi .text-large {
  padding-top: 30px;
}

.ricevi-title img {
  width: 150px;
  margin-top: -75px;
}

.steps-title {
  background-image: url(../img/barra-gialla-bottom.svg);
  background-repeat: no-repeat;
  background-size: 100% auto !important;
  background-position: bottom;
  background-color: #E08A74;
  border-radius: 16px 16px 0px 0px;
  padding: 40px 40px 30px 40px;
  text-align: center;
}

.steps-title img {
  width: 150px;
  margin-top: -75px;
}

.steps-content {
  background: #FFEB7E;
  border-radius: 0px 0px 16px 16px;
}

.donation-switcher {
  display: flex;
  justify-content: center;
  /* centra i bottoni orizzontalmente */
  flex-wrap: wrap;
  /* se serve, permette di andare a capo su schermi piccoli */
}

.scegliere {
  background-image: url(../img/barra-bianca-top.svg), url(../img/barra-bianca-bottom.svg), linear-gradient(to bottom, white 0, white 160px, #bee3a4 160px, #bee3a4 calc(100% - 210px), white calc(100% - 210px), white 100%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 100% auto, 100% auto, 100% 100%;
  background-position: center top 150px, center bottom 200px, center;
  padding-top: 30px;
}

@media (min-width: 1024px) {
  .sceglierecell:nth-child(2) {
    margin-top: 30px;
  }

  .sceglierecell:nth-child(3) {
    margin-top: -60px;
  }
}
.scegliere-title {
  background-image: url(../img/barra-gialla-bottom.svg);
  background-repeat: no-repeat;
  background-size: 200% auto !important;
  background-position: bottom;
  background-color: #F7D250;
  border-radius: 16px 16px 0px 0px;
  padding-bottom: 35px;
  padding-top: 40px;
  text-align: center;
}

.scegliere-title img {
  width: 150px;
  margin-top: -75px;
}

.scegliere-content {
  background: #FFEB7E;
  border-radius: 0px 0px 16px 16px;
}

.scegliere h3 {
  margin-top: -20px;
}

.scegliere-content p {
  font-size: large;
}

.scegliereimg {
  background-image: url(../img/scegliere.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.scegliere .scegliereP {
  max-width: 700px;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 40px;
}

.scegliere-title img {
  width: 150px;
  margin-top: -75px;
}

.testimonianze {
  background-image: url(../img/barra-bianca-top.svg), url(../img/barra-bianca-bottom.svg);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, 100% auto;
  background-position: center top, center bottom;
  background-color: #FFEB7E;
  padding: 70px;
}

.testimonianze .large-6 {
  padding: 50px;
}

.testimonianze-title {
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.3em;
  font-size: large;
}

.testimonianze-title strong {
  font-family: "Morning Person";
  font-size: xx-large;
}

.portrait {
  float: left;
  margin-right: 20px;
  margin-left: -50px;
  max-width: 165px;
}

.title-center {
  text-align: center;
  max-width: 700px;
  margin: 0px auto -20px auto;
  padding: 0px 20px;
}

hr.pen {
  display: block;
  border: 0px;
  height: 20px;
  margin-bottom: 50px;
  background-image: url(../img/hr.svg);
  background-repeat: no-repeat;
  background-size: 200px auto;
  background-position: center center;
}

hr.pen-ricevi {
  margin-bottom: 10px;
}

.responsive-image {
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Aspect ratio desktop (1:1) */
@media (min-width: 769px) {
  .responsive-image {
    aspect-ratio: 1/1;
  }
}
/* Aspect ratio mobile (16:9) */
@media (max-width: 768px) {
  .responsive-image {
    aspect-ratio: 16/9;
  }
}
/* L’immagine si adatta al contenitore */
.responsive-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#FAQ .accordion-title {
  color: #004B00;
  font-family: "Nunito", sans-serif;
  font-size: x-large;
  font-weight: 900;
  border: none;
  border-bottom: 2px solid #8CBF54;
  padding: 1.25rem 2.25rem 1.25rem 1rem !important;
}

#FAQ .is-active .accordion-title {
  border: none;
}

#FAQ .accordion-content {
  border: none;
  border-bottom: 2px solid #8CBF54;
}

#FAQ .accordion-content p,
#FAQ .accordion-content a,
#FAQ .accordion-content li {
  font-size: large !important;
  color: #004B00;
}

#FAQ .accordion-content a {
  text-decoration: underline !important;
}

.accordion-title::before {
  color: #8CBF54;
}

.footer-ovimg {
  position: relative;
  max-width: 400px;
  margin: 0 auto -50px auto;
  z-index: -1000;
}

.mani {
  position: relative;
  top: -65px;
  rotate: -3deg;
  max-width: 400px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.footer-ovimg .testa {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  transform: translateY(100%);
  animation: peekCartoon 12s infinite;
}

@keyframes peekCartoon {
  0% {
    transform: translateY(70%) translateX(50px) rotate(5deg);
    animation-timing-function: ease-out;
  }
  20% {
    transform: translateY(0) translateX(0);
    animation-timing-function: ease-in;
  }
  35% {
    transform: translateY(15px) translateX(0) rotate(2deg);
    animation-timing-function: ease-out;
  }
  45% {
    transform: translateY(0) translateX(-5px);
    animation-timing-function: ease-in-out;
  }
  55% {
    transform: translateY(10px) translateX(5px);
    animation-timing-function: ease-out;
  }
  65% {
    transform: translateY(0) translateX(0) rotate(-1deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: translateY(0) translateX(0);
    animation-timing-function: ease-in-out;
  }
  90% {
    transform: translateY(-10px) translateX(0);
    animation-timing-function: ease-out;
  }
  100% {
    transform: translateY(70%) translateX(50px) rotate(5deg);
    animation-timing-function: ease-in;
  }
}
#footer {
  background-image: url(../img/footer-bkg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  padding-top: 40px;
  padding-bottom: 40px;
}

.footersx {
  text-align: right;
  padding-top: 10px;
}

.footerdx {
  text-align: left;
  max-width: 250px;
  border-left: solid 2px #004b00;
  padding-top: 10px;
}

#footer hr {
  max-width: 100%;
}

#footer p,
#footer ul {
  font-size: 0.7rem !important;
  padding-left: 10px;
  list-style: none;
  /* Rimuove i puntini di default */
  padding-left: 0px;
  /* Rimuove padding sinistro */
  margin-left: 0px;
}

#footer p a,
#footer ul a {
  color: #0a0a0a;
  text-decoration: underline;
}

#footer span {
  font-weight: 900;
}

#footer p.leggitutto a {
  color: #004B00 !important;
  font-weight: 900;
}

#toggle-rendicontazione {
  color: #0a0a0a !important;
  text-decoration: underline;
  font-weight: 900;
}

.leggitutto {
  margin-top: -15px;
}

:focus, [type=text]:focus, [type=email]:focus, [type=tel]:focus, select:focus {
  outline: solid 4px #ff5733;
}

.skipLink {
  padding: 6px;
  position: absolute;
  top: -40px;
  left: 0;
  color: white !important;
  text-decoration: underline;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  border-bottom-right-radius: 8px;
  background: #004B00;
  transition: top 0.3s ease-out;
  z-index: 1000;
}

.skipLink:focus {
  top: 0;
  /* invece di position: static */
}

.hs-form-required {
  font-family: "Nunito", sans-serif;
  font-weight: normal;
  text-transform: none;
  font-size: 0.9rem;
  color: #0a0a0a;
}

.form-required-message {
  font-family: "Nunito", sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 0.9rem;
  color: #0a0a0a;
}

.button {
  display: inline-block;
  background-color: #004D00;
  color: #FFFFFF;
  font-family: "Morning Person";
  font-size: x-large;
  text-align: center;
  padding: 20px 30px;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease;
  min-height: 44px;
}

.button:hover {
  background-color: #66CC00;
  color: #000000;
  outline: solid 2px #66CC00;
  outline-offset: 2px;
}

.button:focus {
  background-color: #004D00;
  color: #FFFFFF;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* CookieBot */
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
  background-color: #004B00 !important;
  color: #FFFFFF !important;
  border: none !important;
}

#CybotCookiebotDialogBodyContentText > a,
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a,
#CybotCookiebotDialogDetailBodyContentTextAbout > a {
  color: #000000 !important;
  text-decoration: underline !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
  background-color: #ffffff !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize .CybotCookiebotDialogArrow {
  border-color: #000000 !important;
}

#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
  border-color: transparent;
  border-bottom: 1px solid #66cc00;
  color: #004B00 !important;
  background-color: #c2eb99 !important;
  border: solid 2px #004B00 !important;
}

#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover {
  color: #000000 !important;
  text-decoration: underline !important;
}

/* fine CookieBot */
.ov-img-container {
  position: relative;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}

.ov-layer {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* livello di sfondo */
.ov-base {
  background-color: #ccf0a8;
  z-index: 1;
}

/* === PERSONAGGI === */
/* Bambina */
.ov-overlay2 {
  background-image: url("../img/open1.png");
  background-position: bottom center;
  z-index: 106;
  animation: tilt-in-br 0.9s cubic-bezier(0.25, 1, 0.5, 1) both;
  animation-delay: 0.3s;
}

/* decorazione puntini */
.ov-overlay1 {
  background-image: url("../img/open2.svg");
  filter: saturate(70%);
  background-position: bottom center;
  z-index: 105;
  animation: tilt-in-left 0.9s ease-out both, float-rotate-soft-ccw 120s linear infinite;
  animation-delay: 0.8s, 1.7s;
}

/* decorazione spirali */
.ov-overlay4 {
  background-image: url("../img/open3.svg");
  background-position: bottom center;
  filter: saturate(70%);
  z-index: 104;
  animation: fadeSlide 1s ease-out both, float-rotate-cw 200s linear infinite;
  animation-delay: 1.1s, 2.1s;
}

/* decorazione ovale outline */
.ov-overlay3 {
  background-image: url("../img/open4.svg");
  background-position: bottom center;
  filter: saturate(70%);
  z-index: 103;
  animation: fadeSlide2 1s ease-out both, float-rotate-ccw-scale 120s linear infinite;
  animation-delay: 1.4s, 2.4s;
}

/* decorazione ovale */
.ov-overlay5 {
  background-image: url("../img/open5.svg");
  background-position: bottom center;
  z-index: 102;
  animation: rotate-in-2-fwd-cw 2s cubic-bezier(0.25, 1, 0.5, 1) both, float-rotate-cw-scale 40s linear infinite;
  animation-delay: 0.8s, 2.9s;
}

/* barra bianca */
.ov-overlay6 {
  background-image: url("../img/barra-bianca-bottom.svg");
  background-position: bottom -2px center;
  background-size: 100% auto;
  z-index: 107;
  opacity: 1;
}

/* === ANIMAZIONI === */
@keyframes float-rotate-cw-scale {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1.3);
  }
  100% {
    transform: translate(5px, -10px) rotate(360deg) scale(1.3);
  }
}
@keyframes float-rotate-ccw-scale {
  0% {
    transform: translate(0, 0) rotate(180deg) scale(1.3);
  }
  100% {
    transform: translate(-5px, -10px) rotate(-300deg) scale(1.3);
  }
}
@keyframes tilt-in-br {
  0% {
    transform: rotateY(-35deg) rotateX(-20deg) translate(0px, 250px) skew(12deg, 15deg) scale(1);
    opacity: 0;
  }
  100% {
    transform: rotateY(0) rotateX(0deg) translate(0, 0) skew(0deg, 0deg) scale(1.2);
    opacity: 1;
  }
}
@keyframes tilt-in-left {
  0% {
    opacity: 0;
    transform: translateX(50px) translateY(50px) rotate(5deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0) translateY(0px) rotate(0deg);
  }
}
@keyframes rotate-in-2-fwd-cw {
  0% {
    transform: translateZ(-200px) rotate(-25deg) scale(0.5);
    opacity: 0;
  }
  100% {
    transform: translateZ(0) rotate(0) scale(1.3);
    opacity: 1;
  }
}
@keyframes fadeSlide {
  0% {
    opacity: 0;
    transform: translateY(50px) rotate(-5deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
  }
}
@keyframes fadeSlide2 {
  0% {
    opacity: 0;
    transform: translateX(-30px) rotate(140deg) scale(0.5);
  }
  100% {
    opacity: 1;
    transform: translateX(0) rotate(180deg) scale(1.3);
  }
}
/* Rotazione oraria */
@keyframes float-rotate-cw {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(5px, -10px) rotate(100deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
/* Rotazione antioraria */
@keyframes float-rotate-ccw {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(-5px, -10px) rotate(-100deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
/* Variante più leggera (per Luca) */
@keyframes float-rotate-soft-ccw {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(-3px, -5px) rotate(-180deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@media only screen and (max-width: 600px) {
  p, ul {
    font-size: unset;
  }

  hr.pen {
    margin-bottom: 25px;
    background-size: 100px auto;
  }

  .responsive-image {
    margin-bottom: -40px !important;
  }

  .button-ov {
    margin-right: 0px !important;
  }

  .button-fronte-ov {
    font-size: 1.1rem;
  }

  .donation-switcher {
    text-align: center;
  }

  .donation-switcher .button-ov {
    margin-bottom: 20px;
    margin-right: 0px;
  }

  .ov-img-container {
    height: 40vh;
    margin-bottom: 30px;
  }

  .rotate1deg {
    transform: rotate(0deg);
  }

  .rotate--1deg {
    transform: rotate(0deg);
  }

  .ricevi {
    background-image: none;
    background-color: #ffffff;
  }

  .portrait {
    float: none;
    margin-right: 0px;
    margin-left: 0px;
    margin-bottom: 30px;
    max-width: 70%;
  }

  .footersx {
    text-align: center;
  }

  .footerdx {
    text-align: center;
    margin: 0px auto;
    border-left: none;
  }
}
/* === PRELOADER STYLES === */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ccf0a8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s ease-out;
}

.preloader.fade-out {
  opacity: 0;
  pointer-events: none;
}

.preloader-content {
  text-align: center;
}

.preloader-logo {
  width: 200px;
  height: auto;
  margin-bottom: 30px;
  animation: preloaderPulse 1.5s ease-in-out infinite alternate;
}

.progress-bar {
  width: 300px;
  height: 8px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 20px;
}

.progress-fill {
  height: 100%;
  background: #8CBF54;
  width: 0%;
  border-radius: 4px;
  transition: width 0.3s ease;
}

.progress-text {
  font-family: "Morning Person", sans-serif;
  font-size: 1.2rem;
  color: #004B00;
  margin-bottom: 10px;
}

.loading-dots::after {
  content: "";
  animation: dots 1.5s steps(4, end) infinite;
}

@keyframes preloaderPulse {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.05);
    opacity: 1;
  }
}
@keyframes dots {
  0%, 20% {
    content: "";
  }
  40% {
    content: ".";
  }
  60% {
    content: "..";
  }
  80%, 100% {
    content: "...";
  }
}
/* Disabilita le animazioni durante il caricamento */
body:not(.loaded) .ov-overlay1,
body:not(.loaded) .ov-overlay2,
body:not(.loaded) .ov-overlay3,
body:not(.loaded) .ov-overlay4,
body:not(.loaded) .ov-overlay5,
body:not(.loaded) .ov-overlay6 {
  animation-play-state: paused !important;
}

/* Mantieni solo le animazioni del preloader */
body:not(.loaded) .preloader * {
  animation-play-state: running !important;
}

/* Nascondi il contenuto principale durante il caricamento */
#main-content {
  opacity: 0;
  transition: opacity 0.5s ease-in;
}

body.loaded #main-content {
  opacity: 1;
}

/* Responsive per mobile */
@media only screen and (max-width: 600px) {
  .preloader-logo {
    width: 150px;
  }

  .progress-bar {
    width: 250px;
  }

  .progress-text {
    font-size: 1rem;
  }
}
/* ALLIO Font Dimensions - www.allioaccess.com */
body {
  line-height: 1.6;
  word-spacing: 0.16em;
}

p {
  font-size: 1.5rem;
  /* 24.00px */
  margin-block-end: 2em;
}

h1 {
  font-size: 3.38rem;
  /* 54.00px */
}

h2 {
  font-size: 3.38rem;
  /* 54.00px */
}

h3 {
  font-size: 2.43rem;
  /* 42.00px */
}

h4 {
  font-size: 2.25rem;
  /* 36.00px */
}

h5 {
  font-size: 1.88rem;
  /* 30.00px */
}

h6 {
  font-size: 1.69rem;
  /* 27.00px */
}

small {
  font-size: 1.31rem;
  /* 21.00px */
}

blockquote {
  font-size: 1.69rem;
  /* 27.00px */
}

button {
  font-size: 1.5rem;
  /* 24.00px */
}

@media (max-width: 640px) {
  p {
    font-size: 1.33rem;
    /* 21.33px */
    margin-block-end: 2em;
  }

  h1 {
    font-size: 2.45rem;
    /* 39.27px */
  }

  h2 {
    font-size: 2.45rem;
    /* 39.27px */
  }

  h3 {
    font-size: 2rem;
    /* 33.60px */
  }

  h4 {
    font-size: 1.88rem;
    /* 30.00px */
  }

  h5 {
    font-size: 1.63rem;
    /* 26.09px */
  }

  h6 {
    font-size: 1.5rem;
    /* 24.00px */
  }

  small {
    font-size: 1.22rem;
    /* 19.50px */
  }

  blockquote {
    font-size: 1.41rem;
    /* 22.50px */
  }

  button {
    font-size: 1.33rem;
    /* 21.33px */
  }
}

/*# sourceMappingURL=app.css.map */
