/* colori */
/* partial sass file */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

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

body {
  font-family: "Noto Sans", sans-serif;
  color: #1D1D1B;
  font-size: 1.6rem;
  line-height: 2.4; }

hr {
  margin: 3rem auto; }

ul, ol, nav {
  list-style: none; }

h1, h2, h3, h4, h5 {
  font-family: "Noto Sans", sans-serif;
  line-height: 1.2; }

a {
  text-decoration: none;
  color: #1D1D1B;
  transition: all .3s;
  cursor: pointer; }

button {
  border: none;
  cursor: pointer;
  font-family: "Noto Sans", sans-serif;
  background: transparent;
  transition: all .4s; }

input {
  font-family: "Noto Sans", sans-serif; }

textarea {
  font-family: "Noto Sans", sans-serif;
  resize: vertical; }

.center {
  text-align: center; }

.container {
  width: 100%;
  max-width: 100rem;
  padding: 0 2%;
  margin: 0 auto;
  text-align: center; }

.container_big {
  width: 100%;
  max-width: 142rem;
  padding: 0 2%;
  margin: 0 auto;
  text-align: center; }

.splide__arrow {
  position: absolute;
  z-index: 2;
  top: 50%; }
  .splide__arrow svg {
    fill: #FFFFFF; }

.splide__arrow--prev {
  left: 1%; }

.splide__arrow--next {
  right: 1%;
  transform: translate(0, -7px) rotate(180deg); }

/* PER ANIMAZIONI!!! mantenere in tutti i file insieme a reveal.js - selezionare le animazioni a mano e copiarle nel file animation.css con classe .active davanti*/
.reveal {
  position: relative;
  opacity: 0; }
  .reveal.active {
    opacity: 1; }

.fiori_top {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  width: 100%; }
  .fiori_top img {
    width: 100%; }

.btn_conferma {
  display: none;
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  padding: 1rem 2.5rem;
  background: #A0C0A3;
  color: #FFFFFF;
  border-radius: 5px;
  line-height: 1.4; }
  @media screen and (min-width: 1025px) {
    .btn_conferma {
      display: block; } }
  .btn_conferma:hover {
    translate: 0 -8px; }

main {
  position: relative;
  overflow: hidden; }

.scritta {
  width: 100%;
  max-width: 60rem;
  margin: 5rem auto 0; }
  @media screen and (min-width: 1025px) {
    .scritta {
      max-width: 70rem; } }

.intro {
  margin: 2rem auto 0;
  color: #677765; }
  @media screen and (min-width: 1025px) {
    .intro {
      margin: 3rem auto 0; } }
  .intro h1 {
    font-size: 3rem;
    font-weight: 300; }
  .intro .box_data {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100rem;
    margin: 0 auto 0;
    flex-wrap: wrap; }
    .intro .box_data span {
      font-size: 2.2rem;
      line-height: 1;
      font-weight: 200;
      color: #1D1D1B;
      padding: 1rem 0;
      border-top: 1px solid #F7AE77;
      border-bottom: 1px solid #F7AE77;
      flex-grow: 2;
      width: calc(50% - 2.5rem); }
      .intro .box_data span.no-border {
        border: none; font-size: 2rem; line-height: 1; padding: 0;
      }
      @media screen and (min-width: 769px) {
        .intro .box_data span {
          font-size: 4rem; }
          .intro .box_data span.no-border {
            font-size: 3.5rem; } }
      @media screen and (min-width: 1025px) {
        .intro .box_data span {
          width: calc(50% - 4.5rem);
          font-size: 6rem; }
          .intro .box_data span.no-border {
            font-size: 4.5rem; } }
    .intro .box_data img {
      width: 5rem;
      height: auto; }
      @media screen and (min-width: 1025px) {
        .intro .box_data img {
          width: 9rem; } }

.divisorio {
  width: 100%;
  margin: 3rem auto; }
  .divisorio img {
    width: 100%; }
  @media screen and (min-width: 581px) {
    .divisorio {
      margin: 7rem auto; } }

.btn {
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  padding: 1rem 2.5rem;
  color: #FFFFFF;
  border-radius: 5px;
  line-height: 1.4;
  display: inline-table;
  transition: all .3s; }
  .btn:hover {
    translate: 0 -8px; }

.countdown {
  width: 100%;
  padding: 8rem 2rem;
  text-align: center;
  position: relative;
  background: url(../images/jpg/bg_countdown.jpg) center/cover no-repeat;
  margin: 9rem auto 12rem; }
  .countdown .btn_calendar {
    background-color: #F7AE77;
    position: absolute;
    top: -2rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    outline: 3rem solid #FFFFFF; }
  .countdown .box {
    padding: 3rem 2%;
    background-color: rgba(255, 255, 255, 0.9);
    border: 4px solid #F7AE77;
    max-width: 130rem;
    margin: 0 auto; }
    @media screen and (min-width: 401px) {
      .countdown .box {
        padding: 3rem; } }
    .countdown .box p {
      font-size: 3rem;
      font-weight: 300;
      color: #1D1D1B;
      width: 100%;
      line-height: 1.3;
      margin: 0 auto 3rem; }
    .countdown .box .row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0;
      align-items: center; }
      @media screen and (min-width: 301px) {
        .countdown .box .row {
          gap: 2rem; } }
      @media screen and (min-width: 401px) {
        .countdown .box .row {
          gap: 3rem; } }
      @media screen and (min-width: 1025px) {
        .countdown .box .row {
          gap: 6rem; } }
      @media screen and (min-width: 1281px) {
        .countdown .box .row {
          gap: 10rem; } }
      .countdown .box .row .bl {
        display: block;
        scale: 0.7; }
        .countdown .box .row .bl:first-of-type {
          scale: 1;
          width: 100%; }
        @media screen and (min-width: 301px) {
          .countdown .box .row .bl {
            scale: 0.8; } }
        @media screen and (min-width: 581px) {
          .countdown .box .row .bl {
            scale: 1; }
            .countdown .box .row .bl:first-of-type {
              width: auto; } }
        .countdown .box .row .bl span.numero {
          font-size: 6rem;
          color: #F7AE77;
          font-weight: 600;
          line-height: 1;
          display: block; }
          @media screen and (min-width: 1025px) {
            .countdown .box .row .bl span.numero {
              font-size: 8rem; } }
        .countdown .box .row .bl span.spiega {
          font-size: 2rem;
          color: #1D1D1B;
          font-weight: 600;
          display: block;
          line-height: 1; }
          @media screen and (min-width: 1025px) {
            .countdown .box .row .bl span.spiega {
              font-size: 3rem; } }

.location {
  margin: 6.5rem 0; }
  .location .row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
    align-items: center; }
    .location .row.first {
      margin: 0 auto 5rem; }
    .location .row a {
      width: 100%;
      margin: 0 0 1.5rem; }
      @media screen and (min-width: 769px) {
        .location .row a, .location .row picture {
          width: 50%;
          margin: 0; } }
      .location .row .img_location {
        width: 98%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        max-width: 30rem;
        margin: 0 auto; }
        @media screen and (min-width: 769px) {
          .location .row .img_location {
            max-width: none; } }
    .location .row .txt {
      width: 100%;
      text-align: center; }
      .location .row .txt .titolino {
        font-size: 2.8rem;
        text-transform: uppercase;
        font-weight: bold;
        line-height: 1.2;
        margin: 0 0 1rem;
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        justify-content: center; }
        @media screen and (min-width: 769px) {
          .location .row .txt .titolino {
            justify-content: flex-start; } }
      .location .row .txt .pin {
        display: inline-block;
        line-height: 1; }
        .location .row .txt .pin img {
          width: 3.2rem;
          height: 2.7rem; }
      .location .row .txt .indirizzo {
        font-size: 2.5rem;
        font-weight: 300;
        line-height: 1.4;
        margin: 0 0 1.5rem; }
        .location .row .txt .parcheggi {
          font-size: 2.5rem;
          font-weight: 300;
          line-height: 1.4;
          margin: 2.5rem 0; }
          .location .row .txt .parcheggi i{
            color: #204883;
           }
           .location .row .txt .parcheggi span{
            text-decoration: underline;
            }
      .location .row .txt .orario {
        font-size: 3.2rem;
        font-style: italic;
        line-height: 1;
        margin: 0 0 1.5rem;
        font-weight: 300; }
      .location .row .txt .sito {
        font-size: 1.8rem;
        letter-spacing: 1px; }
      @media screen and (min-width: 769px) {
        .location .row .txt {
          width: 50%;
          text-align: left;
          padding: 0 0 0 5rem; } }
    .location .row:nth-child(even) {
      flex-direction: row-reverse; }
      .location .row:nth-child(even) .txt {
        text-align: center; }
        @media screen and (min-width: 769px) {
          .location .row:nth-child(even) .txt {
            text-align: right;
            padding: 0 5rem 0 0; } }
        .location .row:nth-child(even) .txt .titolino {
          justify-content: center; }
          @media screen and (min-width: 769px) {
            .location .row:nth-child(even) .txt .titolino {
              flex-direction: row-reverse;
              justify-content: flex-start; } }
    .location .row .divisorio {
      margin: 2rem 0 3rem; }
  .location .space {
    display: block;
    padding: 5rem 0; }



    .parcheggio {
      margin: 6.5rem 0; }
      .parcheggio .titolino {
        width: 100%;
        display: block;;
        text-align: center;
        font-size: 2.8rem;
        text-transform: uppercase;
        font-weight: bold;
        line-height: 1.2;
        margin: 0 0 1rem; }
      .parcheggio .row {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: 0;
        text-align: center;
        justify-content: center;
        align-items: center; }
        .parcheggio .row.first {
          margin: 0 auto 5rem; }
        .parcheggio .row a {
          width: 100%;
          margin: 0 0 1.5rem; }
          @media screen and (min-width: 899px) {
            .parcheggio .row picture {
              width: 50%;
              margin: 0; } }
          .parcheggio .row .img_location {
            width: 98%;
            height: auto;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            max-width: 30rem;
            margin: 0 auto; }
            @media screen and (min-width: 899px) {
              .parcheggio .row .img_location {
                max-width: none; } }
        .parcheggio .row .txt {
          width: 100%;
          text-align: center; }
          .parcheggio .row .txt .titolino {
            font-size: 2.8rem;
            text-transform: uppercase;
            font-weight: bold;
            line-height: 1.2;
            margin: 0 0 1rem;
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            justify-content: center; }
            @media screen and (min-width: 899px) {
              .parcheggio .row .txt .titolino {
                justify-content: flex-start; } }
          .parcheggio .row .txt .pin {
            display: inline-block;
            line-height: 1; }
            .parcheggio .row .txt .pin img {
              width: 3.2rem;
              height: 2.7rem; }
          .parcheggio .row .txt .indirizzo {
            font-size: 2.4rem;
            font-weight: 300;
            line-height: 1.4;
            margin: 0 0 1.5rem; }
            .parcheggio .row .txt .indirizzo i{
              color: #204883; }
              .parcheggio .row .txt .indirizzo span{
                text-decoration: underline; }
          @media screen and (min-width: 899px) {
            .parcheggio .row .txt {
              width: 50%;
              text-align: left;
              padding: 0 0 0 5rem; } }
        .parcheggio .row:nth-child(even) {
          flex-direction: row-reverse; }
          .parcheggio .row:nth-child(even) .txt {
            text-align: center; }
            @media screen and (min-width: 899px) {
              .parcheggio .row:nth-child(even) .txt {
                text-align: right;
                padding: 0 5rem 0 0; } }
            .parcheggio .row:nth-child(even) .txt .titolino {
              justify-content: center; }
              @media screen and (min-width: 899px) {
                .parcheggio .row:nth-child(even) .txt .titolino {
                  flex-direction: row-reverse;
                  justify-content: flex-start; } }
        .parcheggio .row .divisorio {
          margin: 2rem 0 3rem; }
      .parcheggio .space {
        display: block;
        padding: 5rem 0; }




.programma {
  margin: 18rem auto;
  position: relative; }
  @media screen and (min-width: 1025px) {
    .programma {
      margin: 12rem auto; } }
  .programma .fiori_sx {
    width: auto;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    display: none; }
    @media screen and (min-width: 1025px) {
      .programma .fiori_sx {
        display: block; } }
  .programma .fiori_dx {
    width: auto;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    right: 0;
    display: none; }
    @media screen and (min-width: 1025px) {
      .programma .fiori_dx {
        display: block; } }
  .programma .fiori_sx_mobile {
    width: 100%;
    height: auto;
    object-fit: contain;
    position: absolute;
    top: -10rem;
    left: 0;
    right: 0;
    display: block; }
    @media screen and (min-width: 1025px) {
      .programma .fiori_sx_mobile {
        display: none; } }
  .programma .fiori_dx_mobile {
    width: 100%;
    height: auto;
    object-fit: contain;
    position: absolute;
    bottom: -10rem;
    left: 0;
    right: 0;
    display: block; }
    @media screen and (min-width: 1025px) {
      .programma .fiori_dx_mobile {
        display: none; } }
  .programma .box {
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 8rem rgba(25, 25, 25, 0.1);
    max-width: 120rem;
    width: 80%;
    text-align: center;
    padding: 7rem 2%;
    margin: 0 auto;
    position: relative;
    z-index: 2; }
    .programma .box p {
      font-size: 3rem;
      font-weight: 300;
      color: #677765;
      line-height: 1.3;
      margin: 0 auto 3rem; }
  .programma .timeline {
    position: relative;
    padding: 6rem 0 0; }
    @media screen and (min-width: 801px) {
      .programma .timeline {
        padding: 0; } }
    .programma .timeline::before {
      content: '';
      position: absolute;
      width: 2rem;
      height: 2rem;
      border-radius: 3rem;
      background-color: #F7AE77;
      top: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      z-index: 2; }
    .programma .timeline::after {
      content: '';
      position: absolute;
      width: 4px;
      height: 100%;
      background-color: #F7AE77;
      top: 0;
      left: 0;
      right: 0;
      margin: 0 auto; }
    .programma .timeline .row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      background-color: rgba(255, 255, 255, 0.9);
      z-index: 2;
      border: 1px solid #F7AE77;
      margin: 0 auto 3rem;
      padding: 3rem 0 0; }
      @media screen and (min-width: 801px) {
        .programma .timeline .row {
          background-color: transparent;
          border: none;
          margin: 0;
          padding: 0; } }
      .programma .timeline .row .bl {
        width: 100%;
        padding: 0;
        text-align: center; }
        @media screen and (min-width: 801px) {
          .programma .timeline .row .bl {
            width: 50%;
            padding: 4rem 0 0;
            text-align: right; }
            .programma .timeline .row .bl:last-of-type {
              text-align: left; } }
        .programma .timeline .row .bl .font {
          font-size: 5rem;
          font-family: 'hello_honey_-_personal_useRg';
          line-height: 1;
          padding: 0 2rem; }
          @media screen and (min-width: 301px) {
            .programma .timeline .row .bl .font {
              font-size: 6rem; } }
          @media screen and (min-width: 801px) {
            .programma .timeline .row .bl .font {
              padding: 0 4rem;
              font-size: 8rem; } }
        .programma .timeline .row .bl span.line {
          width: 100%;
          margin: 0 auto;
          display: block;
          height: 1px;
          background-color: #F7AE77;
          max-width: 35rem; }
          @media screen and (min-width: 801px) {
            .programma .timeline .row .bl span.line {
              margin: 1rem 0 1rem auto; } }
        .programma .timeline .row .bl .ico {
          width: 13rem;
          height: 13rem;
          object-fit: contain;
          margin: 0 2rem; }
          @media screen and (min-width: 801px) {
            .programma .timeline .row .bl .ico {
              margin: 0 4rem; } }
        .programma .timeline .row .bl p {
          color: #1D1D1B;
          font-weight: 400;
          padding: 1rem 2rem; }
          @media screen and (min-width: 801px) {
            .programma .timeline .row .bl p {
              padding: 0 4rem; } }
      .programma .timeline .row:nth-child(even) {
        flex-direction: row-reverse; }
        @media screen and (min-width: 801px) {
          .programma .timeline .row:nth-child(even) .bl {
            text-align: right; }
            .programma .timeline .row:nth-child(even) .bl:first-of-type {
              text-align: left; } }
  @media screen and (min-width: 801px) and (min-width: 801px) {
    .programma .timeline .row:nth-child(even) .bl span.line {
      margin: 1rem auto 1rem 0; } }

.lettera {
  color: #1D1D1B; }
  .lettera .incipit {
    font-size: 4rem;
    font-style: italic;
    line-height: 1.4;
    margin: 0 0 1rem; }
  .lettera .corpo {
    font-size: 2.5rem;
    line-height: 1.4; }
  .lettera .firma {
    width: 30rem;
    height: 11rem;
    object-fit: contain;
    margin: 5rem auto 0;
    max-width: 100%; }

.foto {
  margin: 15rem auto 5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem; }
  .foto a {
    width: calc(50% - 1rem); }
    @media screen and (min-width: 581px) {
      .foto a {
        width: calc(33.3% - 0.66rem); } }
    @media screen and (min-width: 850px) {
      .foto a {
        width: calc(20% - 0.8rem); } }
    .foto a .thumb_img {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1; }

.iban {
  padding: 5rem 0 15rem; }

.container_fiori{
    margin: 2rem auto 20rem; }
  .container_fiori .testata {
      margin: 0 auto 8rem; }
      .container_fiori .testata p {
        color: #677765;
        font-size: 3rem;
        font-weight: 300;
        line-height: 1.6; }
        .container_fiori .box {
          background-color: rgba(255, 255, 255, 0.9);
          box-shadow: 0 4px 8rem rgba(25, 25, 25, 0.1);
          max-width: 135rem;
          width: 98%;
          text-align: center;
          padding: 7rem 4%;
          margin: 0 auto;
          position: relative;
          z-index: 2; }
          @media screen and (min-width: 769px) {
            .container_fiori .box {
              padding: 5rem 10rem 10rem; } }
              .container_fiori .box img[class^="fiorismall"] {
                width: auto;
                height: 40rem;
                position: absolute;
                max-width: 100%;
                z-index: 1; }
                @media screen and (min-width: 581px) {
                  .container_fiori .box img[class^="fiorismall"] {
                    width: 25rem;
                    height: auto; } }
              .container_fiori .box .fiorismall_1 {
                top: -20rem;
                left: 0;
                right: 0;
                margin: 0 auto;
                rotate: 90deg; }
                @media screen and (min-width: 581px) {
                  .container_fiori .box .fiorismall_1 {
                    top: -8rem;
                    left: -16rem;
                    rotate: 0deg;
                    right: inherit; } }
              .container_fiori .box .fiorismall_2 {
                bottom: -20rem;
                left: 0;
                right: 0;
                margin: 0 auto;
                rotate: 90deg; }
                @media screen and (min-width: 581px) {
                  .container_fiori .box .fiorismall_2 {
                    bottom: -8rem;
                    right: -16rem;
                    left: inherit;
                    rotate: 0deg; } }


.conferma {
  margin: 2rem auto 20rem; }
  .conferma .testata {
    margin: 0 auto 8rem; }
    .conferma .testata p {
      color: #677765;
      font-size: 3rem;
      font-weight: 300;
      line-height: 1.6; }
  .conferma p {
    font-size: 2rem;
    line-height: 1.8;
    max-width: none;
    margin: 5rem auto 2rem; }
    .conferma p span {
      color: #969696;
      display: block;
      margin: 0 auto 3rem;
      font-style: italic; }
  .conferma .box {
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 8rem rgba(25, 25, 25, 0.1);
    max-width: 135rem;
    width: 98%;
    text-align: center;
    padding: 7rem 4%;
    margin: 0 auto;
    position: relative;
    z-index: 2; }
    @media screen and (min-width: 769px) {
      .conferma .box {
        padding: 10rem; } }
    .conferma .box img[class^="fiorismall"] {
      width: auto;
      height: 40rem;
      position: absolute;
      max-width: 100%;
      z-index: 1; }
      @media screen and (min-width: 581px) {
        .conferma .box img[class^="fiorismall"] {
          width: 25rem;
          height: auto; } }
    .conferma .box .fiorismall_1 {
      top: -20rem;
      left: 0;
      right: 0;
      margin: 0 auto;
      rotate: 90deg; }
      @media screen and (min-width: 581px) {
        .conferma .box .fiorismall_1 {
          top: -8rem;
          left: -16rem;
          rotate: 0deg;
          right: inherit; } }
    .conferma .box .fiorismall_2 {
      bottom: -20rem;
      left: 0;
      right: 0;
      margin: 0 auto;
      rotate: 90deg; }
      @media screen and (min-width: 581px) {
        .conferma .box .fiorismall_2 {
          bottom: -8rem;
          right: -16rem;
          left: inherit;
          rotate: 0deg; } }

.iban p {
  font-size: 2.5rem;
  line-height: 1.3; }

.iban .testata {
  margin: 0 0 4rem;
  position: relative; }
  .iban .testata p {
    font-size: 3rem;
    font-weight: 300;
    line-height: 1.6; }

.footer {
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  padding: 11rem 0;
  mix-blend-mode: luminosity; }
  .footer.webp {
    background-image: url(../images/webp/footer_s.webp);
    background-position: top center; }
    @media screen and (min-width: 1025px) {
      .footer.webp {
        background-image: url(../images/webp/footer.webp); } }
  .footer.no-webp {
    background-image: url(../images/jpg/footer_s.jpg);
    background-position: top center; }
    @media screen and (min-width: 1025px) {
      .footer.no-webp {
        background-image: url(../images/jpg/footer.jpg); } }
  .footer .logo_ft {
    width: 20rem;
    aspect-ratio: 80 / 109;
    height: auto;
    max-width: 90%;
    margin: 0 auto; }
    @media screen and (min-width: 769px) {
      .footer .logo_ft {
        width: 26.5rem; } }

.copyright{
  font-size: 14px;
}
.copyright i{
  color: red;
}
.copyright a{
  color: #F7AE77; text-decoration: underline; font-weight: bold;
}

form .row {
  margin: 0 auto 3rem; }
  form .row label {
    font-size: 2.5rem;
    line-height: 1; }
    form .row label.brown {
      font-weight: 600;
      text-transform: uppercase;
      color: #F7AE77; }
    form .row label.small {
      font-size: 2.3rem;
      line-height: 1;
      color: #F7AE77; }

form p {
  font-size: 2.5rem;
  line-height: 1.3;
  max-width: 50rem;
  margin: 0 auto 3rem;
  color: #1D1D1B; }

form input[type=text], form input[type=number], form textarea {
  padding: 1.5rem;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  border: none;
  border-radius: 5px;
  background-color: rgba(247, 174, 119, 0.2);
  width: 98%;
  margin: 0 auto;
  max-width: 50rem; }

form textarea {
  min-height: 20rem; }

form #btnProsegui {
  padding: 2.3rem 6.6rem;
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #FFFFFF;
  background-color: #A0C0A3;
  border-radius: 5px;
  margin: 3.5rem auto 0; }
  form #btnProsegui:hover {
    background-color: #1D1D1B; }

form .radio {
  font-size: 2.5rem;
  line-height: 1.3;
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  form .radio.inline {
    display: inline-block;
    margin: 0 3rem 0 0; }
  form .radio input[type=radio] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0; }
  form .radio .checkmark {
    position: relative;
    top: 0;
    left: 0;
    height: 2.5rem;
    width: 2.5rem;
    background-color: rgba(247, 174, 119, 0.2);
    border-radius: 2px;
    display: inline-block;
    margin: 0 5px 0 0; }
    form .radio .checkmark::after {
      position: absolute;
      top: 50%;
      left: 50%;
      translate: -50% -50%;
      text-align: center;
      content: '';
      display: none;
      width: 1rem;
      height: 1rem;
      border-radius: 50%;
      background: #ED826C; }
  form .radio:hover input[type=radio] ~ .checkmark {
    opacity: 80%; }
  form .radio input[type=radio]:checked ~ .checkmark::after {
    display: block; }

.box_confermato {
  margin: 3rem auto 0; }

.thanks {
  font-size: 2.5rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.5;
  color: #ED826C; }

.tappe .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  flex-direction: row-reverse; }
  .tappe .row:nth-child(even) {
    flex-direction: row; }
  .tappe .row:not(:last-of-type)::after {
    content: '';
    display: block;
    width: 2px;
    background-color: transparent;
    height: 6rem;
    border-right: 5px dashed #F7AE77;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media screen and (min-width: 769px) {
      .tappe .row:not(:last-of-type)::after {
        display: none; } }
  .tappe .row .bl {
    width: 100%; }
    @media screen and (min-width: 769px) {
      .tappe .row .bl {
        width: 50%; } }
    .tappe .row .bl img {
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      position: relative;
      z-index: 2;
      max-width: 35rem; }
      @media screen and (min-width: 769px) {
        .tappe .row .bl img {
          max-width: none; } }
    .tappe .row .bl.txt {
      padding: 1rem 0 7rem;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .tappe .row .bl.txt {
          padding: 0 3rem;
          text-align: left; } }
      .tappe .row .bl.txt .numero {
        font-size: 7rem;
        font-weight: 700;
        color: #F7AE77;
        line-height: 1;
        margin: 0; }
      .tappe .row .bl.txt .spiega {
        font-size: 2.3rem;
        font-weight: 500;
        color: #1D1D1B;
        text-transform: uppercase;
        line-height: 1.4;
        margin: 0; }
  .tappe .row .ico-start {
    width: 20rem;
    height: auto;
    max-width: 80%;
    position: absolute;
    top: -6rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 3;
    rotate: -35deg;
    display: none; }
    @media screen and (min-width: 769px) {
      .tappe .row .ico-start {
        top: -4rem;
        rotate: -25deg;
        display: block; } }
    @media screen and (min-width: 1025px) {
      .tappe .row .ico-start {
        top: 0;
        rotate: 0deg; } }
  .tappe .row .wave {
    margin: -2rem auto 0;
    max-width: 60rem;
    position: relative;
    z-index: 1;
    width: 90%;
    display: none; }
    @media screen and (min-width: 769px) {
      .tappe .row .wave {
        display: block; } }
  .tappe .row .ico-end {
    width: 20rem;
    height: auto;
    max-width: 80%;
    position: absolute;
    bottom: -2rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 3;
    rotate: 35deg;
    display: none; }
    @media screen and (min-width: 769px) {
      .tappe .row .ico-end {
        bottom: -3rem;
        display: block; } }
    @media screen and (min-width: 1025px) {
      .tappe .row .ico-end {
        rotate: 0deg;
        bottom: -2rem; } }

.active.fade {
  -webkit-animation: fade 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both; }

.fade {
  -webkit-animation: fade 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) both; }

.active.fade-up {
  -webkit-animation: fade-up 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-up 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both; }

.active.fade-left {
  -webkit-animation: fade-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both; }

/* KEYFRAMES */
/* animation fade */
@-webkit-keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* animation fade-up */
@-webkit-keyframes fade-up {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-up {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

/* fade-left */
@-webkit-keyframes fade-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@font-face {
  font-family: "Noto Sans", sans-serif;
  src: url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.eot");
  src: url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.eot?#iefix") format("embedded-opentype"), url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.woff2") format("woff2"), url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.woff") format("woff"), url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.ttf") format("truetype"), url("https://db.onlinewebfonts.com/t/066ce24dae3730ed6c648b09efaea93a.svg#Acumin Variable Concept") format("svg"); }

@font-face {
  font-family: 'hello_honey_-_personal_useRg';
  src: url("../fonts/hello_honey-webfont.eot");
  src: url("../fonts/hello_honey-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/hello_honey-webfont.woff2") format("woff2"), url("../fonts/hello_honey-webfont.woff") format("woff"), url("../fonts/hello_honey-webfont.ttf") format("truetype"), url("../fonts/hello_honey-webfont.svg#hello_honey_-_personal_useRg") format("svg");
  font-weight: normal;
  font-style: normal; }

.fascia_menu {
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  justify-content: flex-end;
  padding: 9rem 2% 0;
  gap: 3rem;
  max-width: 142rem;
  margin: 0 auto; }
  .fascia_menu .resp_logo {
    display: none; }
    .fascia_menu .resp_logo .logo {
      width: 4rem;
      height: 4rem;
      object-fit: contain;
      max-width: 100%; }
    @media screen and (min-width: 1025px) {
      .fascia_menu .resp_logo {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 9rem 0; } }

/* menu dropdown */
.menuresponsive {
  display: flex;
  width: 5.2rem; }
  .menuresponsive img {
    width: 5.2rem;
    height: 5.2rem;
    object-fit: contain; }

/* sidenav menu resp */
.sidenav {
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  overflow-x: hidden;
  transition: .5s;
  right: 0;
  overflow-y: scroll;
  opacity: 0;
  pointer-events: none; }
  .sidenav .closebtn {
    position: absolute;
    top: 3rem;
    right: 3rem;
    width: 6rem;
    height: 6rem;
    background: transparent;
    z-index: 9; }
    .sidenav .closebtn img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .sidenav .flexnav {
    display: flex;
    position: relative;
    height: 100%; }
    .sidenav .flexnav .bgblack {
      background-color: rgba(247, 174, 119, 0.9);
      min-height: 100vh;
      height: 100%;
      padding: 10rem 2rem;
      width: 100%;
      padding: 3rem;
      text-align: center; }
      .sidenav .flexnav .bgblack .accordion {
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        text-align: center;
        width: 95%; }
        .sidenav .flexnav .bgblack .accordion li a {
          font-size: 8.5vw;
          color: #FFFFFF;
          font-weight: 300;
          font-style: italic;
          line-height: 1;
          display: block;
          padding: 3rem 0; }
          .sidenav .flexnav .bgblack .accordion li a:hover {
            color: #1D1D1B; }
          @media screen and (min-width: 769px) {
            .sidenav .flexnav .bgblack .accordion li a {
              font-size: 4vw; } }
        .sidenav .flexnav .bgblack .accordion li:not(:last-child) {
          border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
  .sidenav .logo-resp {
    margin: 0 0 2rem; }
    .sidenav .logo-resp img {
      width: 15rem;
      height: 15rem;
      object-fit: contain; }

.visible {
  opacity: 1;
  pointer-events: all; }

#myBtn {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 99;
  transition: all .3s;
  background: #1D1D1B;
  border-radius: 10rem;
  height: 3.5rem;
  width: 3.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }
  #myBtn img {
    width: 2.5rem;
    height: 2.5rem; }
  #myBtn.arrow-visible {
    opacity: 1;
    visibility: visible; }
