/* colori */
@import url("https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 10px; }

body {
  font-family: "Fira Sans", sans-serif;
  color: #2B2B2B;
  background: #fff;
  font-size: 1.6rem;
  line-height: 2;
  font-style: normal; }

hr {
  margin: 3rem auto; }

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

h1, h2, h3, h4, h5 {
  font-family: "Fira Sans", sans-serif;
  line-height: 1.2;
  font-style: normal; }
  h1 span, h2 span, h3 span, h4 span, h5 span {
    font-family: "Cormorant", serif;
    font-optical-sizing: auto;
    font-style: italic;
    color: #F030A9; }

h1 {
  font-size: 3.5rem; }
  @media screen and (min-width: 581px) {
    h1 {
      font-size: 4.5rem; } }
  h1 span {
    font-size: 4.5rem; }
    @media screen and (min-width: 581px) {
      h1 span {
        font-size: 5.5rem; } }

h2 {
  font-size: 3rem; }
  @media screen and (min-width: 581px) {
    h2 {
      font-size: 3.7rem; } }
  h2 span {
    font-size: 4rem; }
    @media screen and (min-width: 581px) {
      h2 span {
        font-size: 5rem; } }

.stit {
  font-size: 2.5rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.5; }
  @media screen and (min-width: 581px) {
    .stit {
      font-size: 3rem; } }

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

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

input {
  font-family: "Fira Sans", sans-serif;
  font-style: normal; }

textarea {
  font-family: "Fira Sans", sans-serif;
  font-style: normal;
  resize: vertical; }

.center {
  text-align: center; }

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

.hidden {
  opacity: 0; }

.visible {
  opacity: 1; }

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

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

.splide__arrow--next {
  right: 1%;
  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; }

/* form */
form {
  margin: 3rem 0 0; }
  form .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between; }
    form .flex div[class^="box-"] {
      padding: 0;
      text-align: left;
      display: flex;
      align-items: center;
      margin: 0 0 1rem;
      flex-wrap: wrap;
      flex-direction: column-reverse;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
    form .flex .box-50 {
      width: 100%; }
      @media screen and (min-width: 581px) {
        form .flex .box-50 {
          width: 48%; } }
    form .flex .box-100 {
      width: 100%; }
  form label {
    width: 100%;
    font-size: 1.5rem;
    text-transform: uppercase;
    opacity: .8;
    display: block;
    margin: 0;
    font-weight: 400;
    color: #fff; }
  form .input__text {
    width: 100%;
    border: none;
    background-color: #a42776;
    font-size: 1.6rem;
    padding: 1rem;
    color: #fff; }
    form .input__text:focus {
      outline: none; }
  form textarea.input__text {
    resize: vertical;
    min-height: 12rem; }

.txt-small {
  font-size: 1.2rem;
  margin: 1rem 0 0;
  color: #fff; }

.privacy h2, .privacy h3, .privacy h4, .privacy h5 {
  margin: 2.5rem 0 1rem; }

.privacy h2 {
  font-size: 3rem; }

.privacy h3, .privacy h4, .privacy h5 {
  font-size: 2rem; }

/*SITEMAP*/
ul.sitemap {
  margin: 5rem auto 10rem;
  text-align: center; }
  ul.sitemap li {
    font-size: 1.8rem;
    text-transform: uppercase;
    padding: 0; }
    ul.sitemap li a {
      color: #2B2B2B; }
      ul.sitemap li a:hover {
        color: #BD2585; }
    ul.sitemap li .sublink {
      font-size: 1.6rem;
      padding: 0 0 0 3rem; }
  ul.sitemap .gruppo_nome {
    font-size: 1.8rem;
    font-weight: 600;
    color: #9B9B9B;
    margin: 3rem auto 0;
    text-transform: uppercase; }

/* preheader */
.preheader {
  padding: 0;
  background-color: transparent;
  color: #fff; }
  @media screen and (min-width: 769px) {
    .preheader {
      background-color: #BD2585; } }
  .preheader .container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    z-index: 10;
    padding: 0; }
    @media screen and (min-width: 769px) {
      .preheader .container {
        padding: 0 2%; } }
    .preheader .container .social {
      width: 70%;
      order: 1;
      z-index: 2;
      position: relative;
      padding: 0 0 0 2%; }
      @media screen and (min-width: 769px) {
        .preheader .container .social {
          width: 50%; } }
      .preheader .container .social ul {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        gap: 1rem;
        align-items: center; }
        .preheader .container .social ul li a {
          display: flex; }
          .preheader .container .social ul li a img {
            width: 2rem;
            height: 2rem; }
    .preheader .container .bg-resp {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background-color: #BD2585;
      height: 4.2rem;
      z-index: 1; }
      @media screen and (min-width: 769px) {
        .preheader .container .bg-resp {
          display: none; } }
    .preheader .container .search {
      order: 3;
      width: 100%;
      background: #0D0D0D;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
      @media screen and (min-width: 769px) {
        .preheader .container .search {
          width: calc(50% - 7rem - 1px);
          order: 2;
          background: transparent;
          padding: 0 0 0 7rem;
          border-bottom: none; } }
      .preheader .container .search form {
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        align-items: center;
        padding: 5px 2%;
        gap: 1rem; }
        @media screen and (min-width: 769px) {
          .preheader .container .search form {
            padding: 0 2rem 0 0; } }
        .preheader .container .search form input {
          width: calc(100% - 3rem);
          border: none;
          background-color: transparent;
          text-align: left;
          font-size: 1.6rem;
          color: #fff;
          padding: 1rem;
          border-radius: 5px; }
          @media screen and (min-width: 769px) {
            .preheader .container .search form input {
              text-align: right; } }
          .preheader .container .search form input::placeholder {
            color: #fff; }
          .preheader .container .search form input:focus {
            outline: 1px solid rgba(255, 255, 255, 0.4); }
        .preheader .container .search form label {
          display: none; }
        .preheader .container .search form button img {
          width: 2rem;
          height: 2rem; }
    .preheader .container nav.lingue {
      width: 7rem;
      border-left: 1px solid rgba(255, 255, 255, 0.4);
      order: 2;
      z-index: 2;
      position: relative; }
      @media screen and (min-width: 769px) {
        .preheader .container nav.lingue {
          order: 3; } }
      .preheader .container nav.lingue ul li {
        width: 100%;
        position: relative;
        padding: 5px 0; }
        .preheader .container nav.lingue ul li a {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 5px;
          color: #fff; }
      .preheader .container nav.lingue .dropdown-content {
        width: 100%; }
        .preheader .container nav.lingue .dropdown-content .sub-nav {
          display: flex;
          flex-direction: column;
          align-items: center; }
          .preheader .container nav.lingue .dropdown-content .sub-nav li {
            background-color: #BD2585;
            transition: all .3s; }
            .preheader .container nav.lingue .dropdown-content .sub-nav li a {
              padding: 5px 1rem; }
            .preheader .container nav.lingue .dropdown-content .sub-nav li:hover {
              background-color: hwb(322 15% 36%); }

.btn {
  padding: 1rem;
  border-radius: 10rem;
  border: 2px solid #BD2585;
  color: #BD2585;
  font-size: 1.8rem;
  letter-spacing: -1px;
  font-weight: 600;
  display: inline-block;
  transition: all .3s;
  text-align: center;
  line-height: 1.5; }
  .btn span {
    padding: 1rem 2rem;
    display: inline-block;
    border-radius: 10rem;
    transition: all .3s; }
  .btn:hover {
    translate: 0 -8px; }
    .btn:hover span {
      box-shadow: 0 0 1rem rgba(189, 37, 133, 0.33); }

.coffee_lovers {
  text-align: center;
  color: #fff;
  padding: 7rem 0 9rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 4;
  position: relative; }
  .coffee_lovers .container {
    max-width: 100rem; }
    .coffee_lovers .container h2 {
      margin: 0 0 1rem; }
    .coffee_lovers .container p:not(.stit) {
      margin: 0 0 4rem; }
  .coffee_lovers span {
    color: #fff; }
  .coffee_lovers .btn {
    border: none;
    background-color: #fff;
    color: #2B2B2B;
    padding: 5px 2.5rem; }

footer {
  background-color: #0D0D0D;
  padding: 8rem 0;
  color: #fff;
  font-size: 1.4rem;
  z-index: 4;
  position: relative; }
  @media screen and (min-width: 1025px) {
    footer {
      padding: 16rem 0; } }
  footer a {
    color: #fff; }
    footer a:hover {
      color: #F030A9; }
  footer .titolino {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: -1px;
    color: #F030A9;
    margin: 0 0 2rem; }
  footer .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 0 6rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
    footer .flex .bl_small {
      width: 100%;
      text-align: center; }
      footer .flex .bl_small .logo_ft {
        width: 100%;
        max-width: 10rem;
        margin: 0 0 4rem; }
        @media screen and (min-width: 1025px) {
          footer .flex .bl_small .logo_ft {
            margin: 0; } }
      footer .flex .bl_small.social_ft ul {
        flex-direction: row;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: center;
        gap: 2rem; }
      footer .flex .bl_small.social_ft a img {
        width: 2rem;
        height: 2rem; }
      @media screen and (min-width: 1025px) {
        footer .flex .bl_small {
          width: 11rem;
          text-align: left; }
          footer .flex .bl_small.social_ft ul {
            flex-direction: column;
            justify-content: flex-start; } }
    footer .flex .bl {
      width: 100%;
      padding: 0;
      margin: 0 0 3rem;
      text-align: center; }
      @media screen and (min-width: 401px) {
        footer .flex .bl {
          width: calc(100% / 2);
          padding: 0 2rem;
          text-align: left; } }
      @media screen and (min-width: 769px) {
        footer .flex .bl {
          width: calc(100% / 4);
          padding: 0 3rem;
          margin: 0; } }
      @media screen and (min-width: 1025px) {
        footer .flex .bl {
          width: calc((100% - 22rem) / 4);
          padding: 0 5rem; } }
      footer .flex .bl span {
        display: block;
        margin: 0 0 1.8rem; }
        footer .flex .bl span p {
          line-height: 1.5; }
        footer .flex .bl span a {
          display: flex;
          align-items: center;
          gap: 1rem;
          justify-content: center; }
          @media screen and (min-width: 401px) {
            footer .flex .bl span a {
              text-align: left;
              justify-content: flex-start; } }
          footer .flex .bl span a img {
            width: 1.5rem;
            height: 2rem;
            object-fit: contain; }
  footer .credits {
    color: #9B9B9B;
    font-size: 1.2rem;
    text-align: center;
    margin: 2.5rem auto 0; }
    footer .credits a {
      color: #9B9B9B; }
      footer .credits a:hover {
        color: #F030A9; }

.top_pagimg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: auto;
  position: relative;
  min-height: 100vh; }
  .top_pagimg.basso {
    min-height: inherit; }
    .top_pagimg.basso .txt_abs {
      padding: 35rem 2% 1rem; }
    .top_pagimg.basso .breadcrumb {
      margin: 0 auto; }
  .top_pagimg .overlay {
    background-color: #4a3737;
    opacity: 85%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 0; }
  .top_pagimg .txt_abs {
    max-width: 100rem;
    padding: 35rem 2% 5rem;
    position: relative; }
    .top_pagimg .txt_abs .stit {
      margin: 0 0 1.5rem; }
  .top_pagimg .btn {
    color: #F030A9;
    margin: 4.5rem auto 0; }

ul.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-size: 1.3rem;
  gap: 5px;
  margin: 0 auto 5rem; }
  ul.breadcrumb li a {
    color: #fff; }
    ul.breadcrumb li a:hover {
      color: #F030A9; }

#header-pag-white .fascia_menu .bg_menu {
  background: transparent;
  padding: 0; }

#header-pag-white .fascia_menu nav.menu ul li a {
  color: #2B2B2B; }
  #header-pag-white .fascia_menu nav.menu ul li a .ico_down {
    filter: invert(1); }

#header-pag-white .fascia_menu nav.menu ul .sub-nav ul li a:hover {
  color: #BD2585; }

#header-pag-white .top_pag {
  position: relative;
  height: auto;
  padding: 25rem 0 0;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    #header-pag-white .top_pag {
      padding: 18rem 0 0; } }
  @media screen and (min-width: 1025px) {
    #header-pag-white .top_pag {
      padding: 22rem 0 0; } }
  #header-pag-white .top_pag .txt_abs {
    position: relative;
    bottom: inherit;
    max-width: 100rem;
    color: #2B2B2B; }
    #header-pag-white .top_pag .txt_abs ul.breadcrumb li a {
      color: #2B2B2B; }
      #header-pag-white .top_pag .txt_abs ul.breadcrumb li a:hover {
        color: #BD2585; }
  #header-pag-white .top_pag .fiori_sx {
    width: 100%;
    height: auto;
    object-fit: contain;
    position: absolute;
    left: -5rem;
    top: 15%; }
    @media screen and (min-width: 769px) {
      #header-pag-white .top_pag .fiori_sx {
        width: 65%;
        left: -25rem; } }
    @media screen and (min-width: 1281px) {
      #header-pag-white .top_pag .fiori_sx {
        width: 80rem;
        height: 80rem; } }
    #header-pag-white .top_pag .fiori_sx img {
      width: 100%; }
  #header-pag-white .top_pag .fiori_dx {
    width: 65%;
    height: auto;
    object-fit: contain;
    position: absolute;
    right: -25rem;
    top: 15%;
    display: none; }
    @media screen and (min-width: 769px) {
      #header-pag-white .top_pag .fiori_dx {
        display: block; } }
    @media screen and (min-width: 1281px) {
      #header-pag-white .top_pag .fiori_dx {
        width: 80rem;
        height: 80rem; } }
    #header-pag-white .top_pag .fiori_dx img {
      width: 100%; }

#header-pag-white .menuresponsive img {
  filter: invert(1); }

.ico_small {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain; }

.desc p {
  font-size: 1.6rem;
  margin: 0 0 2rem; }

.desc h2 {
  font-size: 2.5rem;
  margin: 1rem 0; }

.desc h3 {
  font-size: 2.2rem;
  margin: 1rem 0; }

.desc h4 {
  font-size: 2rem;
  margin: 1rem 0; }

.desc h5 {
  font-size: 1.8rem;
  margin: 1rem 0; }

.desc a {
  font-weight: 500;
  text-decoration: underline;
  color: #BD2585; }
  .desc a:hover {
    color: #F030A9; }

.desc ul {
  margin: 0 0 2rem; }
  .desc ul li {
    list-style: inside disc; }
    .desc ul li::marker {
      color: #BD2585; }

.desc ol {
  margin: 0 0 2rem; }
  .desc ol li {
    list-style: inside decimal; }
    .desc ol li::marker {
      color: #BD2585; }

.heartbeat {
  -webkit-animation: heartbeat 1.5s ease-in-out infinite both;
  animation: heartbeat 1.5s ease-in-out infinite both; }

@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; } }

@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; } }

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

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

.fade-fast {
  -webkit-animation: fade-in 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in 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; }

.bounce-in-fwd {
  -webkit-animation: bounce-in-fwd 1.1s both;
  animation: bounce-in-fwd 1.1s both; }

@-webkit-keyframes bounce-in-fwd {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  38% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1; }
  55% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  72% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  81% {
    -webkit-transform: scale(0.84);
    transform: scale(0.84);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  89% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  95% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; } }

@keyframes bounce-in-fwd {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  38% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1; }
  55% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  72% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  81% {
    -webkit-transform: scale(0.84);
    transform: scale(0.84);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  89% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  95% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; } }

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

@keyframes fade-in {
  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; } }

.shake-vertical {
  -webkit-animation: shake-vertical 3s linear infinite both;
  animation: shake-vertical 3s linear infinite both; }

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

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

.fascia_menu {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  padding: 0; }
  .fascia_menu .bg_menu {
    background: linear-gradient(0deg, rgba(20, 20, 20, 0) 0%, #141414 100%);
    padding: 0 0 10rem;
    position: relative; }
    .fascia_menu .bg_menu::after {
      content: '';
      display: none;
      height: 1px;
      background: #fff;
      width: 100%;
      position: absolute;
      left: 0;
      bottom: 13.2rem;
      z-index: -1;
      pointer-events: none; }
      @media screen and (min-width: 769px) {
        .fascia_menu .bg_menu::after {
          display: block; } }
      @media screen and (min-width: 1281px) {
        .fascia_menu .bg_menu::after {
          bottom: 15.2rem; } }
  .fascia_menu .container {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .fascia_menu .logo {
    object-fit: contain;
    max-width: 100%;
    width: 12rem;
    height: 12rem;
    display: inline-flex;
    padding: 5px;
    background: #fff;
    border-radius: 5px;
    z-index: 9;
    position: relative; }
    @media screen and (min-width: 1281px) {
      .fascia_menu .logo {
        width: 16rem;
        height: 16rem; } }
    .fascia_menu .logo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      padding: 1rem;
      border: 1px solid #EFEFEF;
      border-radius: 5px; }

nav.menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin: 1.5rem 0 0; }
  @media screen and (min-width: 769px) {
    nav.menu {
      margin: -2.5rem 0 0; } }
  nav.menu ul {
    display: flex;
    align-items: center;
    /* gap: 1rem; */
    justify-content: flex-end;
    /*  @media screen and (min-width: 1281px) {
            gap: 2.5rem;
        } */ }
    nav.menu ul li a {
      text-transform: uppercase;
      color: #fff;
      display: block;
      padding: 1rem 5px;
      font-size: 1.5rem; }
      @media screen and (min-width: 1150px) {
        nav.menu ul li a {
          padding: 1rem; } }
      @media screen and (min-width: 1281px) {
        nav.menu ul li a {
          font-size: 1.6rem; } }
      nav.menu ul li a.active {
        font-weight: 600; }
    nav.menu ul .sub-nav {
      width: 50%;
      background: white; }
      nav.menu ul .sub-nav ul {
        gap: 0;
        justify-content: center;
        flex-direction: column;
        width: 100%;
        max-width: 71rem;
        margin: 0 0 0 auto;
        align-items: flex-start;
        padding: 9rem 10% 0; }
        nav.menu ul .sub-nav ul li a {
          text-transform: none;
          font-size: 2.3rem;
          color: #2B2B2B;
          font-weight: 600;
          padding: 0; }
          nav.menu ul .sub-nav ul li a:hover {
            color: #BD2585; }
      nav.menu ul .sub-nav p {
        text-transform: uppercase;
        font-weight: 600;
        opacity: 20%; }
  nav.menu .menu_sx {
    padding: 0 2rem 0 0;
    display: none; }
    @media screen and (min-width: 1070px) {
      nav.menu .menu_sx {
        display: flex;
        width: calc(50% - 6rem); } }
    @media screen and (min-width: 1281px) {
      nav.menu .menu_sx {
        padding: 0 4rem 0 0;
        width: calc(50% - 8rem); } }
  nav.menu .menu_dx {
    padding: 0 0 0 2rem;
    display: none; }
    @media screen and (min-width: 1070px) {
      nav.menu .menu_dx {
        display: flex;
        width: calc(50% - 6rem);
        justify-content: flex-start; } }
    @media screen and (min-width: 1281px) {
      nav.menu .menu_dx {
        padding: 0 0 0 4rem;
        width: calc(50% - 8rem); } }

.ico_down {
  width: 1rem;
  height: 1rem;
  object-fit: contain; }

/* menu dropdown */
nav.menu .dropdown-content {
  z-index: 8;
  left: 0;
  right: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  height: 0;
  position: absolute;
  margin: -2rem 0 0;
  padding: 2rem 0 0;
  transition: all .1s ease-in-out; }
  nav.menu .dropdown-content#addDelay {
    transition: 0.1s 0.2s; }
  nav.menu .dropdown-content .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 50rem; }
  nav.menu .dropdown-content .img_menu {
    width: 50%;
    height: 100%;
    border-bottom: 5px solid #BD2585; }
    nav.menu .dropdown-content .img_menu img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  nav.menu .dropdown-content::after {
    content: '';
    position: absolute;
    background: rgba(20, 20, 20, 0.85);
    width: 100%;
    height: calc(100vh - 50rem - 8.2rem - 4.2rem);
    pointer-events: none;
    display: block;
    z-index: 10; }

nav.menu .dropdown:hover .dropdown-content {
  visibility: visible;
  opacity: 1;
  height: auto; }
  nav.menu .dropdown:hover .dropdown-content#addDelay {
    transition-delay: 0s; }

nav.lingue .dropdown-content {
  z-index: 8;
  left: 0;
  right: 0;
  width: auto;
  top: 100%;
  height: 0;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  position: absolute; }

.dropdown {
  display: inline-block;
  margin: 0; }
  .dropdown:hover .dropdown-content {
    opacity: 1; }

nav.lingue .dropdown:hover .dropdown-content {
  height: auto; }

.eventsnone {
  pointer-events: none; }

/* responsive */
.menuresponsive {
  display: inline-block;
  width: 3.4rem;
  height: 3.4rem;
  position: absolute;
  top: 1.5rem;
  right: 2.2rem; }
  .menuresponsive img {
    width: 100%;
    height: 100%;
    object-fit: contain; }
  @media screen and (min-width: 769px) {
    .menuresponsive {
      top: 1.5rem;
      right: 2.2rem; } }
  @media screen and (min-width: 1070px) {
    .menuresponsive {
      display: none; } }

/* sidenav menu resp */
.sidenav {
  height: 100%;
  /* width: 0; */
  width: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  overflow-x: hidden;
  transition: .5s;
  right: -100%;
  overflow-y: scroll; }
  .sidenav .closebtn {
    position: absolute;
    top: 2rem;
    color: #2B2B2B;
    font-size: 2.6rem;
    background: #fff;
    border-radius: 5px;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    right: 2rem;
    z-index: 9;
    background: transparent; }
  .sidenav .flexnav {
    display: flex;
    position: relative; }
    .sidenav .flexnav .bgcolor {
      position: fixed;
      background-color: rgba(189, 37, 133, 0.95);
      width: 20%;
      min-height: 100vh;
      transition-timing-function: cubic-bezier(1.28, 0.89, 0.32, 0.18);
      left: 0;
      top: 0;
      position: absolute;
      height: 100%; }
    .sidenav .flexnav .bgblack {
      background-color: rgba(43, 43, 43, 0.95);
      min-height: 100vh;
      height: 100%;
      padding: 10rem 2rem;
      margin-left: 20%;
      width: 80%;
      padding: 3rem; }
      .sidenav .flexnav .bgblack a {
        font-size: 2.3rem;
        color: #fff;
        font-weight: 600; }
  .sidenav .logo-resp {
    margin: 0 0 2rem; }
    .sidenav .logo-resp img {
      width: 15rem;
      height: 15rem;
      object-fit: contain; }

/* accordion */
ul.accordion {
  list-style: none;
  padding: 0;
  width: 100%;
  display: block; }
  ul.accordion a {
    width: 100%;
    display: block; }
  ul.accordion .mainbox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center; }
    ul.accordion .mainbox:not(:last-child) {
      border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    ul.accordion .mainbox a {
      width: auto;
      display: inline-block;
      margin: 0; }
      ul.accordion .mainbox a:hover {
        color: #D21113; }
  ul.accordion li .toggle {
    cursor: pointer;
    transition: all .3s ease;
    flex-grow: 2;
    opacity: 1 !important;
    /* text-align: right; */ }
    ul.accordion li .toggle img {
      width: 20px; }
  ul.accordion .inner {
    overflow: hidden;
    display: none;
    width: 100%; }
    ul.accordion .inner li a {
      font-size: 2rem !important;
      color: #EFEFEF !important;
      font-weight: 500 !important; }

#myBtn {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 99;
  transition: all .3s;
  background: #BD2585;
  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; }

/* #slide-home {
    height: 120vh;

    .splide__arrow {
        top: 90vh;
        padding: 10px 12px 6px 8px;
        border: 1px solid $white;
        border-radius: 20rem;
    }
    
    .splide__track {
        height: 120vh;
        
        .splide__list {
            height: 120vh;

            .splide__slide {
                height: 120vh;

                img {
                    vertical-align: bottom;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }
        }
    }
} */
/* 

.txt_abs_slide {
    @include element_center;

    h2 {
        text-transform: uppercase;
        font-size: 7rem;
        font-weight: 500;
        color: $white;
        margin: 0 0 3rem;

        span {
            font-weight: 700;
            color: $black;
        }
    }

    p {
        font-size: 1.8rem;
        color: $white;
        line-height: 1.6;
        margin: 0 0 4rem;
    }

    .btn {
        @include btn;
        background: $black;
        color: $white;
        border: 3px solid $black;
    }
} */
.video_container {
  position: relative;
  /* padding-bottom: 56.25%; */
  height: 100vh; }
  @media screen and (max-height: 700px) {
    .video_container {
      height: 90rem; } }
  .video_container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .video_container .overlay {
    background-color: #4a3737;
    opacity: 85%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 0; }

.txt_abs {
  position: absolute;
  width: 100%;
  padding: 0 2%;
  max-width: 80rem;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 8rem;
  color: #fff;
  text-align: center;
  z-index: 1; }
  .txt_abs .stit {
    margin: 0 0 5rem; }

.mouse {
  position: relative;
  width: 2.4rem;
  height: 3.3rem;
  margin: 0 auto; }
  .mouse .wheel {
    width: 4px;
    height: 7px;
    position: absolute;
    top: 6px;
    left: 0;
    right: 0;
    margin: 0 auto; }

.home_valori {
  text-align: center;
  padding: 10rem 0;
  background-size: contain;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative; }
  .home_valori .container.small {
    max-width: 100rem; }
  .home_valori .container .stit {
    margin: 0 0 5rem; }
  .home_valori .sfumatura {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #efefef;
    background: -moz-linear-gradient(0deg, #efefef 0%, white 100%);
    background: -webkit-linear-gradient(0deg, #efefef 0%, white 100%);
    background: linear-gradient(0deg, #efefef 0%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#efefef",endColorstr="#ffffff",GradientType=1);
    z-index: -1; }
  .home_valori .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center; }
    .home_valori .flex .ico {
      width: 100%; }
      @media screen and (min-width: 581px) {
        .home_valori .flex .ico {
          width: 50%; } }
      @media screen and (min-width: 769px) {
        .home_valori .flex .ico {
          width: 33.3%;
          padding: 0 2rem; } }
      .home_valori .flex .ico .icobig {
        width: 100%;
        aspect-ratio: 4 / 3;
        max-width: 40rem; }
      .home_valori .flex .ico h4 {
        font-size: 2.5rem; }
  .home_valori .btn {
    margin: 8rem auto 0; }

.home_percorso {
  background-position: top left;
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .home_percorso {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; } }
  .home_percorso .container {
    position: relative;
    z-index: 3;
    padding: 75% 0 0;
    display: block;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .home_percorso .container {
        padding: 20rem 2%;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: flex-end;
        align-items: center;
        text-align: left; } }
    .home_percorso .container .bl {
      width: 100%;
      padding: 5rem 2% 8rem;
      color: #fff;
      background-color: #0D0D0D; }
      @media screen and (min-width: 769px) {
        .home_percorso .container .bl {
          width: 50%;
          padding: 0;
          background-color: transparent; } }
      .home_percorso .container .bl .stit {
        margin: 0 0 5rem; }
      .home_percorso .container .bl .btn {
        color: #F030A9;
        border: 2px solid #F030A9;
        margin: 7rem 0 0; }
  .home_percorso .sfumatura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    background: #2b2b2b;
    background: -moz-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: -webkit-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#9b9b9b",GradientType=1);
    mix-blend-mode: multiply;
    z-index: 2;
    opacity: 60%; }
    @media screen and (min-width: 769px) {
      .home_percorso .sfumatura {
        height: 100%;
        aspect-ratio: inherit;
        opacity: 90%;
        background: -moz-linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%);
        background: -webkit-linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%);
        background: linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%); } }

.home_prodotti {
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  background-color: #EFEFEF;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .home_prodotti {
      background-size: contain; } }
  .home_prodotti.pagina {
    background: #efefef;
    background: -moz-linear-gradient(0deg, #efefef 0%, white 100%);
    background: -webkit-linear-gradient(0deg, #efefef 0%, white 100%);
    background: linear-gradient(0deg, #efefef 0%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#efefef",endColorstr="#ffffff",GradientType=1); }
  .home_prodotti .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .home_prodotti .flex .bl {
      width: 100%; }
      .home_prodotti .flex .bl.absresp {
        position: absolute;
        /* top: 0;
                left: 0; */ }
      @media screen and (min-width: 769px) {
        .home_prodotti .flex .bl {
          width: 33.3%;
          position: relative; }
          .home_prodotti .flex .bl.absresp {
            position: relative; } }
      .home_prodotti .flex .bl img {
        width: 100%;
        position: relative;
        max-height: 100vh;
        object-fit: contain;
        display: block;
        aspect-ratio: 223 / 300; }
        .home_prodotti .flex .bl img#scatola {
          z-index: 2;
          opacity: 0; }
        .home_prodotti .flex .bl img#gourmet {
          z-index: 3; }
        .home_prodotti .flex .bl img#sacchetto {
          z-index: 1;
          opacity: 0; }

.home_fascia_prodotti .flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  background-color: #efefef;
  gap: 1rem;
  padding: 1rem 0;
  /* @media screen and (min-width:1025px) {
            justify-content: flex-start;
        } */ }
  .home_fascia_prodotti .flex .bl {
    width: 100%;
    height: 95vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    transition: all .3s;
    overflow: hidden;
    min-height: 60rem; }
    @media screen and (min-width: 769px) {
      .home_fascia_prodotti .flex .bl {
        width: calc(50% - 0.5rem); }
        .home_fascia_prodotti .flex .bl.prod-caffe {
          width: 100%;
          order: 1; }
        .home_fascia_prodotti .flex .bl.prod-comm {
          order: 2; }
        .home_fascia_prodotti .flex .bl.prod-merch {
          order: 3; } }
    @media screen and (min-width: 1025px) {
      .home_fascia_prodotti .flex .bl {
        width: calc(33.3% - 1rem); }
        .home_fascia_prodotti .flex .bl.prod-caffe {
          width: calc(33.3% - 1rem);
          order: 1; }
        .home_fascia_prodotti .flex .bl.prod-comm {
          order: 2; }
        .home_fascia_prodotti .flex .bl.prod-merch {
          order: 3; } }
    .home_fascia_prodotti .flex .bl .box_txt {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding: 0 10% 10rem;
      color: #fff;
      z-index: 2; }
      .home_fascia_prodotti .flex .bl .box_txt h3 {
        font-size: 3.2rem;
        margin: 0 0 4rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        width: 100%;
        text-align: center;
        padding: 0 0 1rem; }
        .home_fascia_prodotti .flex .bl .box_txt h3 span {
          font-size: 4rem;
          color: #fff; }
      .home_fascia_prodotti .flex .bl .box_txt p:not(.btn) {
        text-align: center;
        margin: 0 0 12rem; }
    .home_fascia_prodotti .flex .bl .sfumatura {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      /* background: rgb(43,43,43);
                background: -moz-linear-gradient(0deg, rgba(43,43,43,1) 50%, rgba(155,155,155,1) 100%);
                background: -webkit-linear-gradient(0deg, rgba(43,43,43,1) 50%, rgba(155,155,155,1) 100%);
                background: linear-gradient(0deg, rgba(43,43,43,1) 50%, rgba(155,155,155,1) 100%);
                filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#2b2b2b",GradientType=1); */
      background: #392727;
      background: -moz-linear-gradient(0deg, #392727 0%, rgba(57, 39, 39, 0.5) 100%);
      background: -webkit-linear-gradient(0deg, #392727 0%, rgba(57, 39, 39, 0.5) 100%);
      background: linear-gradient(0deg, #392727 0%, rgba(57, 39, 39, 0.5) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#392727",endColorstr="#392727",GradientType=1);
      mix-blend-mode: multiply;
      z-index: 1;
      transition: all .3s;
      opacity: 100%; }
      @media screen and (min-width: 769px) {
        .home_fascia_prodotti .flex .bl .sfumatura {
          opacity: 80%; } }
    .home_fascia_prodotti .flex .bl .fiori {
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 1;
      margin: 0 0 -1.5rem; }
      .home_fascia_prodotti .flex .bl .fiori img {
        width: 100%;
        height: auto;
        aspect-ratio: 190 / 69; }
    .home_fascia_prodotti .flex .bl:hover .sfumatura {
      opacity: 100%; }

.home_gime {
  padding: 10rem 2%; }
  @media screen and (min-width: 769px) {
    .home_gime {
      padding: 20rem 2%; } }
  .home_gime .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .home_gime .flex .bl {
      width: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .home_gime .flex .bl {
          width: 50%;
          text-align: left;
          align-items: flex-start; } }
      .home_gime .flex .bl.txt {
        max-width: 71rem;
        margin: 0 auto 0 0;
        align-items: center; }
        @media screen and (min-width: 769px) {
          .home_gime .flex .bl.txt {
            align-items: flex-start;
            padding: 0 0 0 4rem; } }
        .home_gime .flex .bl.txt span {
          color: #399946; }
        .home_gime .flex .bl.txt .stit {
          margin: 0 0 4.5rem; }
        .home_gime .flex .bl.txt .btn {
          color: #399946;
          border: 2px solid #399946;
          margin: 5rem 0 0; }
          .home_gime .flex .bl.txt .btn:hover span {
            box-shadow: 0 0 1rem rgba(57, 153, 70, 0.33); }
      .home_gime .flex .bl.img img {
        width: 100%; }

.home_accademia {
  background-position: top left;
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .home_accademia {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; } }
  .home_accademia .container {
    position: relative;
    z-index: 3;
    padding: 75% 0 0;
    display: block;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .home_accademia .container {
        padding: 20rem 2%;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: flex-start;
        align-items: center;
        text-align: left; } }
    .home_accademia .container .bl {
      width: 100%;
      padding: 5rem 2% 8rem;
      color: #fff;
      background-color: #0D0D0D; }
      @media screen and (min-width: 769px) {
        .home_accademia .container .bl {
          width: 50%;
          padding: 0;
          background-color: transparent; } }
      .home_accademia .container .bl .stit {
        margin: 0 0 5rem; }
      .home_accademia .container .bl .btn {
        color: #F030A9;
        border: 2px solid #F030A9;
        margin: 7rem 0 0; }
  .home_accademia .sfumatura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #2b2b2b;
    background: -moz-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: -webkit-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#9b9b9b",GradientType=1);
    mix-blend-mode: multiply;
    z-index: 2;
    opacity: 60%; }
    @media screen and (min-width: 769px) {
      .home_accademia .sfumatura {
        height: 100%;
        aspect-ratio: inherit;
        opacity: 90%;
        background: -moz-linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%);
        background: -webkit-linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%);
        background: linear-gradient(-90deg, #2b2b2b 50%, #9b9b9b 100%); } }

.home_blog {
  padding: 12rem 0 24rem;
  overflow-x: hidden; }
  @media screen and (min-width: 769px) {
    .home_blog {
      padding: 12rem 0 24rem; } }
  .home_blog .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 0 0 8rem; }
    @media screen and (min-width: 769px) {
      .home_blog .flex {
        align-items: flex-start;
        justify-content: space-between; } }
    .home_blog .flex .bl {
      width: 100%;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .home_blog .flex .bl {
          width: calc(100% - 30rem);
          text-align: left; } }
      .home_blog .flex .bl h2 {
        margin: 0 0 2.5rem; }
      .home_blog .flex .bl p {
        margin: 0 auto 3rem; }
        @media screen and (min-width: 769px) {
          .home_blog .flex .bl p {
            margin: 0; } }
  .home_blog .wrapper {
    max-width: 142rem;
    position: relative;
    margin: 0 auto;
    padding: 0 2%;
    overflow: visible;
    width: 100%; }
  .home_blog #slide-blog {
    width: 100%; }
    .home_blog #slide-blog .splide__track {
      overflow: visible !important; }
    .home_blog #slide-blog .splide__arrow {
      top: 105%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(43, 43, 43, 0.4);
      padding: 1.5rem; }
    .home_blog #slide-blog .splide__arrow--prev {
      left: 0; }
      .home_blog #slide-blog .splide__arrow--prev svg {
        translate: 0 2px; }
    .home_blog #slide-blog .splide__arrow--next {
      left: 8rem;
      translate: none;
      right: inherit;
      rotate: none; }
      .home_blog #slide-blog .splide__arrow--next svg {
        rotate: 180deg;
        translate: 0 -1px; }
    .home_blog #slide-blog svg path {
      fill: #2B2B2B; }
    .home_blog #slide-blog .img_blog {
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3; }
    .home_blog #slide-blog h3 {
      font-size: 2.8rem;
      width: 100%;
      padding: 2.8rem 0 1.8rem;
      border-bottom: 1px solid rgba(43, 43, 43, 0.4);
      margin: 0 0 3rem; }
    .home_blog #slide-blog p:not(.btn) {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      /* -webkit-line-clamp: 2; */
      overflow: hidden;
      -webkit-line-clamp: 3;
      line-clamp: 3;
      margin: 0 0 2.5rem; }
    .home_blog #slide-blog .btn {
      border: none;
      background-color: #BD2585;
      color: #fff;
      padding: 5px 1.5rem;
      font-size: 1.6rem; }
  .home_blog.pag_blog .flex {
    margin: 0 0 3rem; }

.intro_accademia {
  padding: 0 0 4rem;
  margin: -5rem auto 0;
  position: relative;
  z-index: 3;
  text-align: center; }

.logo_acc {
  background-color: #fff;
  border-radius: 100rem;
  display: inline-block; }
  .logo_acc img {
    width: 32rem;
    height: auto;
    padding: 3rem;
    max-width: 100%;
    aspect-ratio: 1 / 1; }

/* pagina categoria */
.prox_date {
  background-color: #EFEFEF;
  text-align: center;
  padding: 10rem 0 26rem;
  background-size: contain;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative; }
  .prox_date h2 {
    margin: 0 auto 3rem; }

#slide-date .splide__slide, #slide-fornitori .splide__slide {
  padding: 1.5rem;
  border: 2px solid #fff;
  border-radius: 3rem; }

#slide-date .splide__arrows, #slide-fornitori .splide__arrows {
  position: absolute;
  bottom: -11rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  top: inherit;
  width: 100%; }

#slide-date .splide__arrow, #slide-fornitori .splide__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(43, 43, 43, 0.4);
  padding: 1.5rem;
  top: inherit;
  position: relative; }

#slide-date .splide__arrow--prev, #slide-fornitori .splide__arrow--prev {
  left: 0; }
  #slide-date .splide__arrow--prev svg, #slide-fornitori .splide__arrow--prev svg {
    translate: 0 2px; }

#slide-date .splide__arrow--next, #slide-fornitori .splide__arrow--next {
  left: 0;
  translate: none;
  right: inherit;
  rotate: none; }
  #slide-date .splide__arrow--next svg, #slide-fornitori .splide__arrow--next svg {
    rotate: 180deg;
    translate: 0 -1px; }

#slide-date svg path, #slide-fornitori svg path {
  fill: #2B2B2B; }

#slide-date .img_corso, #slide-fornitori .img_corso {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 2rem; }

#slide-date h3, #slide-fornitori h3 {
  font-size: 2.8rem;
  width: 100%;
  padding: 2.8rem 0 1.8rem;
  border-bottom: 1px solid rgba(43, 43, 43, 0.4);
  margin: 0 0 1rem; }

#slide-date .data, #slide-fornitori .data {
  font-size: 2.2rem;
  font-weight: 600;
  color: #F030A9;
  line-height: 1.5; }

#slide-date .ora, #slide-fornitori .ora {
  font-size: 2rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.5; }

#slide-date .disponibilita, #slide-fornitori .disponibilita {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 5px;
  margin: 0 0 3rem; }
  #slide-date .disponibilita p, #slide-fornitori .disponibilita p {
    font-size: 1.5rem;
    font-style: italic;
    color: #9B9B9B; }
  #slide-date .disponibilita img, #slide-fornitori .disponibilita img {
    width: 1.6rem;
    height: 1.6rem; }

#slide-date .btn, #slide-fornitori .btn {
  border: none;
  background-color: #BD2585;
  color: #fff;
  padding: 5px 1.5rem;
  font-size: 1.6rem; }

#slide-fornitori p {
  margin: 0 0 2rem; }

.home_fascia_prodotti.pag_accademia {
  background-color: #0d0d0d;
  padding: 0 0 10rem; }
  .home_fascia_prodotti.pag_accademia .flex {
    justify-content: center;
    gap: 4rem; }
    .home_fascia_prodotti.pag_accademia .flex .bl {
      height: 80vh; }
      .home_fascia_prodotti.pag_accademia .flex .bl .sfumatura {
        opacity: 70%; }
      .home_fascia_prodotti.pag_accademia .flex .bl:hover .sfumatura {
        opacity: 90%; }
  .home_fascia_prodotti.pag_accademia .container {
    text-align: center; }
    .home_fascia_prodotti.pag_accademia .container .logo_acc {
      margin: -16rem auto 4rem;
      z-index: 3;
      position: relative; }
    .home_fascia_prodotti.pag_accademia .container h2 {
      margin: 0 auto 4rem;
      color: #fff; }

.tutti_corsi {
  padding: 10rem 0 30rem; }
  .tutti_corsi h2 {
    text-align: center;
    margin: 0 0 5rem; }
  .tutti_corsi .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    gap: 5rem 0; }
    @media screen and (min-width: 769px) {
      .tutti_corsi .flex {
        gap: 3rem; } }
    @media screen and (min-width: 1281px) {
      .tutti_corsi .flex {
        gap: 5rem; } }
    .tutti_corsi .flex .bl {
      width: 100%;
      padding: 1.5rem;
      border: 2px solid #EFEFEF;
      border-radius: 3rem;
      position: relative;
      text-align: center;
      transition: all .3s; }
      @media screen and (min-width: 769px) {
        .tutti_corsi .flex .bl {
          width: calc(50% - 2.5rem); } }
      @media screen and (min-width: 1025px) {
        .tutti_corsi .flex .bl {
          width: calc(33.3% - 2rem); } }
      @media screen and (min-width: 1281px) {
        .tutti_corsi .flex .bl {
          width: calc(33.3% - 3.33rem); } }
      .tutti_corsi .flex .bl:hover {
        translate: 0 -8px; }
      .tutti_corsi .flex .bl .img_corso {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 2rem; }
      .tutti_corsi .flex .bl h3 {
        font-size: 2.8rem;
        width: 100%;
        padding: 2.8rem 0 1.8rem;
        border-bottom: 1px solid rgba(43, 43, 43, 0.4);
        margin: 0 0 1rem; }
      .tutti_corsi .flex .bl p {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        /* -webkit-line-clamp: 2; */
        overflow: hidden;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin: 0 0 2rem; }
      .tutti_corsi .flex .bl .btn {
        border: none;
        background-color: #BD2585;
        color: #fff;
        padding: 5px 1.5rem;
        font-size: 1.6rem;
        display: inline-block; }
      .tutti_corsi .flex .bl .fiori_corso {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: -1;
        margin: 0 auto; }

.wrap_img_principale {
  position: relative; }
  .wrap_img_principale .sfumatura {
    background: #2b2b2b;
    background: -moz-linear-gradient(0deg, #2b2b2b 0%, rgba(43, 43, 43, 0) 50%);
    background: -webkit-linear-gradient(0deg, #2b2b2b 0%, rgba(43, 43, 43, 0) 50%);
    background: linear-gradient(0deg, #2b2b2b 0%, rgba(43, 43, 43, 0) 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#2b2b2b",GradientType=1);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 98%;
    border-radius: 3rem;
    mix-blend-mode: multiply; }

.img_principale {
  width: 100%;
  max-width: 100rem;
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 3rem;
  object-fit: cover; }
  @media screen and (min-width: 769px) {
    .img_principale {
      aspect-ratio: 16 / 9; } }

.prossime_date {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  position: relative;
  gap: 1.5rem; }
  .prossime_date h3 {
    width: 100%;
    font-size: 2.5rem;
    font-style: italic;
    margin: 0 0 1rem;
    color: #2B2B2B; }
  .prossime_date .box span {
    background-color: #F030A9;
    padding: 2rem 3rem;
    border-radius: 1rem;
    display: block; }
    .prossime_date .box span .data {
      font-size: 2.2rem;
      font-weight: 600;
      color: #fff;
      line-height: 1.5; }
    .prossime_date .box span .ora {
      font-size: 2rem;
      font-weight: 300;
      font-style: italic;
      line-height: 1.5;
      color: #fff; }
  .prossime_date .box .disponibilita {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 5px;
    margin: 5px auto 0; }
    .prossime_date .box .disponibilita p {
      font-size: 1.6rem;
      font-style: italic;
      color: #9B9B9B;
      font-weight: 600; }
    .prossime_date .box .disponibilita img {
      width: 1.6rem;
      height: 1.6rem; }
  .prossime_date .box .prenota {
    font-size: 1.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: italic;
    gap: 5px;
    opacity: 1;
    transition: all .3s; }
    @media screen and (min-width: 769px) {
      .prossime_date .box .prenota {
        opacity: 0; } }
  .prossime_date .box:hover .prenota {
    opacity: 1; }

.cta_date {
  font-size: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9B9B9B;
  text-decoration: underline;
  font-style: italic;
  gap: 1rem;
  margin: 3rem auto 0; }

.desc_cms .frase_intro {
  font-size: 2.2rem;
  font-style: italic;
  color: #BD2585;
  margin: 8rem auto 4rem;
  text-align: center; }

.desc_cms .wrapper {
  margin: 8rem auto 4rem;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  max-width: 100rem;
  padding: 0 2%;
  height: auto;
  min-height: 100vh; }
  .desc_cms .wrapper .desc {
    width: 100%;
    padding: 0 0 4rem;
    margin: 0 auto;
    border-bottom: 3px solid #EFEFEF;
    text-align: center; }
    @media screen and (min-width: 1025px) {
      .desc_cms .wrapper .desc {
        width: calc(100% - 35rem - 4rem);
        padding: 2rem 7rem 2rem 0;
        margin: 0 4rem 0 0;
        border-right: 3px solid #EFEFEF;
        border-bottom: none;
        text-align: left; } }
    @media screen and (min-width: 1281px) {
      .desc_cms .wrapper .desc {
        width: calc(100% - 35rem - 7rem);
        margin: 0 7rem 0 0; } }
  .desc_cms .wrapper .info {
    width: 100%;
    text-align: center;
    padding: 4rem 0 0; }
    @media screen and (min-width: 1025px) {
      .desc_cms .wrapper .info {
        width: 35rem;
        text-align: left;
        padding: 0; } }
    @media screen and (min-width: 1281px) {
      .desc_cms .wrapper .info {
        width: 35rem; } }
    .desc_cms .wrapper .info li {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      align-items: center;
      gap: 1rem;
      font-size: 1.8rem;
      margin: 0 0 1.5rem;
      justify-content: center; }
      @media screen and (min-width: 1025px) {
        .desc_cms .wrapper .info li {
          justify-content: flex-start; } }
      .desc_cms .wrapper .info li img {
        width: 6.9rem;
        height: 6.9rem;
        object-fit: contain; }
      .desc_cms .wrapper .info li span {
        font-weight: 600; }

.openclose {
  margin: 8rem auto; }
  .openclose ul.accordion .mainbox a:hover {
    color: #2B2B2B; }
  .openclose ul.accordion li .toggle {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 600;
    padding: 1.3rem;
    background-color: #EFEFEF;
    border-radius: 1rem;
    transition: all .3s;
    margin: 0 auto 1rem;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center; }
    @media screen and (min-width: 401px) {
      .openclose ul.accordion li .toggle {
        display: block; } }
    .openclose ul.accordion li .toggle:hover {
      background-color: #DBDBDB; }
    .openclose ul.accordion li .toggle span {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      align-items: center;
      justify-content: space-between;
      max-width: 100rem;
      margin: 0 auto; }
      .openclose ul.accordion li .toggle span p {
        width: calc(100% - 1.8rem); }
    .openclose ul.accordion li .toggle img {
      width: 1.8rem;
      height: 1.8rem;
      transition: all .3s; }
  .openclose ul.accordion .inner .content {
    max-width: 100rem;
    margin: 2rem auto 4rem; }

.rotate {
  rotate: 180deg; }

.date_disp {
  margin: 6rem auto 10rem;
  padding: 5rem 0;
  border-top: 3px solid #BD2585;
  border-bottom: 3px solid #BD2585;
  max-width: 142rem;
  width: 98%; }
  @media screen and (min-width: 1025px) {
    .date_disp {
      border: 3px solid #BD2585;
      border-radius: 100rem;
      padding: 5rem; } }
  @media screen and (min-width: 1281px) {
    .date_disp {
      margin: 16rem auto; } }
  .date_disp .container {
    max-width: 100rem;
    text-align: center; }
    .date_disp .container h3 {
      color: #BD2585;
      margin: 0 auto 4rem; }
    .date_disp .container ul {
      list-style: inside disc; }
      .date_disp .container ul li {
        list-style: inside disc;
        max-width: 50rem;
        margin: 0 auto 1rem;
        border-bottom: 1px solid #EFEFEF; }
        .date_disp .container ul li::marker {
          color: #BD2585; }
        .date_disp .container ul li a {
          display: inline-block;
          width: calc(100% - 22px); }
          .date_disp .container ul li a div {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            justify-content: space-between;
            align-items: center;
            font-size: 1.6rem; }
            @media screen and (min-width: 401px) {
              .date_disp .container ul li a div {
                font-size: 2rem; } }
            .date_disp .container ul li a div .data {
              font-weight: 300; }
            .date_disp .container ul li a div .link {
              font-weight: 600;
              font-style: italic;
              color: #F030A9; }
              .date_disp .container ul li a div .link img {
                padding: 0;
                transition: all .3s;
                box-sizing: content-box; }
          .date_disp .container ul li a:hover .link img {
            padding: 0 0 0 1rem; }

.form_prenota {
  background-color: #2B2B2B;
  padding: 7rem 0 8.5rem;
  text-align: center;
  color: #fff; }
  .form_prenota .flex div[class^="box-"] {
    border-bottom: none; }
  .form_prenota form {
    max-width: 100rem;
    margin: 0 auto; }
    .form_prenota form .p_100 {
      width: 100%;
      display: block;
      font-size: 1.8rem;
      font-style: italic;
      color: #DBDBDB;
      opacity: 0.6;
      text-align: left;
      margin: 4rem 0 0; }
    .form_prenota form label {
      text-transform: none;
      opacity: 1;
      margin: 0 0 5px;
      font-size: 1.6rem; }
      .form_prenota form label span {
        font-weight: 600;
        color: #F030A9; }
    .form_prenota form .input__text {
      background-color: #4b4b4b;
      border-radius: 1rem;
      padding: 1.8rem; }
    .form_prenota form .btn_partecipante {
      text-align: right;
      display: block;
      width: 100%;
      margin: 0 0 1.5rem; }
      .form_prenota form .btn_partecipante span {
        display: inline-flex;
        padding: 1rem 2rem;
        background: #F030A9;
        border-radius: 1rem;
        align-items: center;
        gap: 1rem;
        margin: 1rem 0 0;
        font-size: 1.6rem;
        font-weight: 600;
        color: #fff; }
    .form_prenota form .box-radio {
      justify-content: flex-start;
      width: 100%;
      flex-direction: row !important;
      gap: 5px; }
      .form_prenota form .box-radio label {
        width: auto;
        display: inline-block;
        margin: 0 5rem 0 0; }
    .form_prenota form .box-privacy {
      justify-content: flex-start;
      width: 100%;
      flex-direction: row !important;
      gap: 5px; }
      .form_prenota form .box-privacy div {
        width: 100%; }
      .form_prenota form .box-privacy label {
        width: calc(100% - 20px);
        display: inline-block;
        margin: 0;
        vertical-align: top; }
        .form_prenota form .box-privacy label a {
          color: #fff;
          text-decoration: underline; }
          .form_prenota form .box-privacy label a:hover {
            color: #F030A9; }
    .form_prenota form .txt_small {
      font-style: italic;
      margin: 3rem auto 0; }

.btn_submit {
  font-size: 2rem;
  border-radius: 10rem;
  background-color: #F030A9;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  padding: 1rem 3rem;
  margin: 2rem auto 0;
  transition: all .3s; }
  .btn_submit:hover {
    translate: 0 -8px; }

.testi_seo {
  background-color: #EFEFEF;
  padding: 8rem 0;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    .testi_seo {
      background-size: contain; } }

.desc_seo h3 {
  font-size: 2.5rem;
  font-weight: 300;
  font-style: italic;
  line-height: 2; }
  @media screen and (min-width: 581px) {
    .desc_seo h3 {
      font-size: 3rem; } }

.desc_seo h4 {
  font-size: 2.1rem;
  font-weight: 600;
  margin: 1.5rem 0 1rem; }
  @media screen and (min-width: 581px) {
    .desc_seo h4 {
      font-size: 2.6rem; } }

.desc_seo h5 {
  font-size: 1.7rem;
  font-weight: 600;
  margin: 1.5rem 0 1rem; }
  @media screen and (min-width: 581px) {
    .desc_seo h5 {
      font-size: 2.3rem; } }

.desc_seo p {
  margin: 0 0 3rem; }

.desc_seo ul, .desc_seo ol {
  margin: 0 0 3rem; }

.desc_seo ul li {
  list-style: inside disc; }
  .desc_seo ul li::marker {
    color: #BD2585; }

.desc_seo ol li {
  list-style: inside decimal; }
  .desc_seo ol li::marker {
    color: #BD2585; }

.desc_seo a {
  color: #BD2585;
  font-weight: 600;
  text-decoration: underline; }
  .desc_seo a:hover {
    color: #F030A9; }

.correlati {
  padding: 8rem 0 12rem;
  text-align: center; }
  .correlati h2 {
    margin: 0 0 5.5rem; }
  .correlati .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 6rem;
    justify-content: center; }
    .correlati .flex .bl {
      width: 100%;
      transition: all .3s; }
      @media screen and (min-width: 581px) {
        .correlati .flex .bl {
          width: calc(50% - 3rem); } }
      @media screen and (min-width: 1025px) {
        .correlati .flex .bl {
          width: calc(33.3% - 4rem); } }
      @media screen and (min-width: 1281px) {
        .correlati .flex .bl {
          width: calc(25% - 4.5rem); } }
      .correlati .flex .bl:hover {
        translate: 0 -8px; }
      .correlati .flex .bl img {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4;
        object-fit: contain;
        border-radius: 3rem;
        border: 1px solid #EFEFEF;
        margin: 0 0 2.5rem; }
      .correlati .flex .bl h3 {
        font-size: 2.6rem;
        font-weight: 600;
        margin: 0 0 2.5rem; }

#header-pag-white .txt_abs .stit {
  margin: 0 0 2.5rem; }

#header-pag-white .txt_abs .btn {
  margin: 3rem auto 0; }

.img_sottocategoria {
  width: 100%;
  max-width: 95rem;
  margin: -5rem auto 0;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain; }

.dealer-locator {
  position: fixed;
  right: 0;
  bottom: 8rem;
  z-index: 9;
  transition: all .3s; }
  .dealer-locator img {
    width: 13.2rem;
    height: 5.6rem;
    object-fit: contain; }

/* animazione prodotto */
.caratteristiche {
  margin: 5rem auto; }
  .caratteristiche .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center; }
    .caratteristiche .flex picture {
      width: 100%; }
      @media screen and (min-width: 1025px) {
        .caratteristiche .flex picture {
          width: 50%; } }
      .caratteristiche .flex picture .img_dett_prod {
        width: 100%;
        height: auto;
        aspect-ratio: 223 / 300;
        max-height: 100vh;
        object-fit: contain; }
    .caratteristiche .flex .bl {
      width: 100%;
      background-color: #fff;
      padding: 0;
      position: relative; }
      @media screen and (min-width: 1025px) {
        .caratteristiche .flex .bl {
          padding: 10rem 4rem; } }
      @media screen and (min-width: 1281px) {
        .caratteristiche .flex .bl {
          padding: 10rem 6rem; } }
      @media screen and (min-width: 1025px) {
        .caratteristiche .flex .bl {
          width: 50%;
          border-left: 3px solid #EFEFEF; } }
      .caratteristiche .flex .bl .stit {
        margin: 0 0 2.5rem;
        text-align: center; }
        @media screen and (min-width: 1025px) {
          .caratteristiche .flex .bl .stit {
            text-align: left; } }
      .caratteristiche .flex .bl .row {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        align-items: center;
        justify-content: center;
        margin: 0 0 2rem; }
        @media screen and (min-width: 321px) {
          .caratteristiche .flex .bl .row {
            justify-content: space-between; } }
        .caratteristiche .flex .bl .row p {
          font-size: 2rem;
          font-weight: 600;
          font-style: italic;
          width: 100%;
          text-align: center; }
          @media screen and (min-width: 321px) {
            .caratteristiche .flex .bl .row p {
              width: auto;
              text-align: left; } }
        .caratteristiche .flex .bl .row .chicchi {
          display: flex;
          gap: 0.8rem; }
          @media screen and (min-width: 401px) {
            .caratteristiche .flex .bl .row .chicchi {
              gap: 1.4rem; } }
          .caratteristiche .flex .bl .row .chicchi img {
            width: 3rem;
            height: 2.6rem; }
            @media screen and (min-width: 401px) {
              .caratteristiche .flex .bl .row .chicchi img {
                width: 4.2rem;
                height: 3.6rem; } }
            .caratteristiche .flex .bl .row .chicchi img.opacity {
              opacity: 30%; }
      .caratteristiche .flex .bl .iconcine {
        margin: 5rem 0 0; }
        .caratteristiche .flex .bl .iconcine ul {
          display: flex;
          flex-wrap: wrap;
          width: 100%;
          align-items: center;
          gap: 1rem 2rem; }
          .caratteristiche .flex .bl .iconcine ul li {
            display: inline-flex;
            align-items: center;
            gap: 5px; }
            .caratteristiche .flex .bl .iconcine ul li img {
              width: 2.6rem;
              height: 2.6rem; }

.crema-caffeina {
  margin: 6rem 0; }
  .crema-caffeina .container {
    border-top: 3px solid #BD2585;
    border-bottom: 3px solid #BD2585;
    width: 98%; }
    @media screen and (min-width: 1025px) {
      .crema-caffeina .container {
        border: 3px solid #BD2585;
        border-radius: 100rem; } }
    .crema-caffeina .container .flex {
      padding: 4rem 0;
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      align-items: flex-start;
      max-width: 42rem;
      margin: 0 auto; }
      @media screen and (min-width: 1025px) {
        .crema-caffeina .container .flex {
          padding: 8rem 8rem 16rem;
          max-width: 100rem; } }
      .crema-caffeina .container .flex .bl {
        width: 100%; }
        .crema-caffeina .container .flex .bl:first-of-type {
          margin: 0 auto 10rem; }
        @media screen and (min-width: 1025px) {
          .crema-caffeina .container .flex .bl {
            width: 50%; }
            .crema-caffeina .container .flex .bl:first-of-type {
              margin: 0 auto; } }
        .crema-caffeina .container .flex .bl .macchia {
          margin: 0 auto;
          position: relative; }
          @media screen and (min-width: 1025px) {
            .crema-caffeina .container .flex .bl .macchia {
              margin: 0 24% 0 0; } }
          @media screen and (min-width: 1281px) {
            .crema-caffeina .container .flex .bl .macchia {
              margin: 0 30% 0 0; } }
          .crema-caffeina .container .flex .bl .macchia #tipo {
            font-size: 3rem;
            font-weight: 600;
            max-width: 20rem;
            line-height: 1.3;
            text-align: left;
            position: relative;
            z-index: 1; }
            @media screen and (min-width: 769px) {
              .crema-caffeina .container .flex .bl .macchia #tipo {
                font-size: 3.7rem; } }
          .crema-caffeina .container .flex .bl .macchia #colore {
            font-size: 4rem;
            font-family: "Cormorant", serif;
            font-optical-sizing: auto;
            font-style: italic;
            font-weight: 600;
            line-height: 1;
            padding: 0 0 0 9rem; }
            @media screen and (min-width: 351px) {
              .crema-caffeina .container .flex .bl .macchia #colore {
                padding: 0 0 0 12rem; } }
            @media screen and (min-width: 769px) {
              .crema-caffeina .container .flex .bl .macchia #colore {
                font-size: 5rem; } }
            @media screen and (min-width: 1025px) {
              .crema-caffeina .container .flex .bl .macchia #colore {
                text-align: right;
                padding: 0; } }
          .crema-caffeina .container .flex .bl .macchia .svg_macchia {
            position: absolute;
            bottom: -8rem;
            left: 0;
            width: 13rem;
            height: auto;
            aspect-ratio: 81 / 95;
            object-fit: contain; }
            @media screen and (min-width: 351px) {
              .crema-caffeina .container .flex .bl .macchia .svg_macchia {
                width: 16.2rem; } }
            @media screen and (min-width: 1025px) {
              .crema-caffeina .container .flex .bl .macchia .svg_macchia {
                left: 4rem; } }
        .crema-caffeina .container .flex .bl .tazzine ul {
          display: flex;
          gap: 0.8rem; }
          @media screen and (min-width: 401px) {
            .crema-caffeina .container .flex .bl .tazzine ul {
              gap: 1.4rem; } }
          .crema-caffeina .container .flex .bl .tazzine ul img {
            width: 4rem;
            height: 4.7rem; }
            @media screen and (min-width: 351px) {
              .crema-caffeina .container .flex .bl .tazzine ul img {
                width: 5rem;
                height: 7.1rem; } }
            @media screen and (min-width: 581px) {
              .crema-caffeina .container .flex .bl .tazzine ul img {
                width: 7.2rem;
                height: 8.5rem; } }
            .crema-caffeina .container .flex .bl .tazzine ul img.opacity {
              opacity: 30%; }

.fascia_immagine {
  margin: 12rem 0 0; }
  .fascia_immagine .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .fascia_immagine .flex .bl {
      width: 100%;
      padding: 8rem 2rem;
      margin: 0 auto; }
      @media screen and (min-width: 769px) {
        .fascia_immagine .flex .bl {
          width: 50%;
          padding: 15rem 6rem; } }
      .fascia_immagine .flex .bl.txt {
        background-color: #2B2B2B;
        color: #fff;
        text-align: center; }
        @media screen and (min-width: 769px) {
          .fascia_immagine .flex .bl.txt {
            text-align: left; } }
        @media screen and (min-width: 769px) {
          .fascia_immagine .flex .bl.txt .box {
            max-width: 61rem;
            margin: 0 auto 0 0; } }
        .fascia_immagine .flex .bl.txt .box .stit {
          margin: 0 0 3rem; }
        .fascia_immagine .flex .bl.txt .box .btn {
          margin: 5rem 0 0; }
      .fascia_immagine .flex .bl.img {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        min-height: 45rem; }
        @media screen and (min-width: 769px) {
          .fascia_immagine .flex .bl.img {
            min-height: inherit; } }

.filter {
  cursor: pointer;
  display: inline-block;
  padding: 5px 2rem;
  background-color: #EFEFEF;
  margin: 0 1rem 1rem 0;
  font-weight: 600;
  border-radius: 10rem;
  transition: all .3s; }
  .filter.current {
    background-color: #F030A9;
    color: #fff; }
  .filter:hover {
    background-color: #BD2585;
    color: #fff; }

.hide {
  display: none; }

.show {
  display: block; }

.sticky {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 8; }

.projects {
  padding: 0 0 10rem; }
  .projects .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 6rem; }
  .projects #altro {
    padding: 1rem 2rem;
    border: 3px solid #EFEFEF;
    color: #9B9B9B;
    margin: 7rem auto 0; }

.project {
  width: 100%; }
  @media screen and (min-width: 769px) {
    .project {
      width: calc(50% - 3rem); } }
  .project .img_blog {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3; }
  .project .txt_slide h3 {
    font-size: 2.8rem;
    width: 100%;
    padding: 2.8rem 0 1.8rem;
    border-bottom: 1px solid rgba(43, 43, 43, 0.4);
    margin: 0 0 3rem; }
  .project .txt_slide p:not(.btn) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* -webkit-line-clamp: 2; */
    overflow: hidden;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    margin: 0 0 2.5rem; }
  .project .txt_slide .btn {
    border: none;
    background-color: #BD2585;
    color: #fff;
    padding: 5px 1.5rem;
    font-size: 1.6rem; }

.search_blog {
  padding: 3rem 0;
  transition: all .3s;
  background: #EFEFEF; }
  .search_blog.sticky {
    padding: 1rem 0; }
  .search_blog form {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 1.5rem; }
    .search_blog form input {
      font-size: 1.6rem;
      padding: 1rem 2rem;
      border: none;
      border-radius: 20rem;
      width: calc(100% - 3.3rem); }
    .search_blog form img {
      width: 1.8rem;
      height: 1.8rem; }
    .search_blog form label {
      display: none; }

.filtri {
  padding: 4rem 0; }
  .filtri .container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    flex-wrap: wrap; }
    .filtri .container .wrap {
      width: 100%;
      padding: 0; }
      @media screen and (min-width: 790px) {
        .filtri .container .wrap {
          width: calc(100% - 30rem);
          padding: 0 2rem 0 0; } }
    .filtri .container .search {
      width: 100%; }
      @media screen and (min-width: 790px) {
        .filtri .container .search {
          width: 30rem; } }
      .filtri .container .search form {
        display: flex;
        align-items: center;
        border: 1px solid #ddd;
        padding: 0 1rem 0 0;
        border-radius: 5px; }
      .filtri .container .search input {
        width: 100%;
        padding: 1rem;
        font-size: 1.6rem;
        border: none;
        border-radius: 5px; }
      .filtri .container .search label {
        display: none; }
      .filtri .container .search button img {
        width: 2rem;
        height: 2rem; }

/* risultati */
.risultati {
  padding: 8rem 0 10rem; }
  .risultati h3 {
    font-size: 2.8rem;
    width: 100%;
    margin: 0 0 1.5rem; }
  .risultati .stit {
    margin: 0 0 4rem; }
  .risultati p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* -webkit-line-clamp: 2; */
    overflow: hidden;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin: 0 0 2rem; }
    .risultati p span {
      font-weight: 600;
      color: #BD2585; }
  .risultati .btn {
    border: none;
    background-color: #BD2585;
    color: #fff;
    padding: 5px 1.5rem;
    font-size: 1.6rem;
    display: inline-block; }
  .risultati .row {
    width: 95%;
    margin: 0 auto 3rem;
    border-bottom: 1px solid #9B9B9B;
    transition: all .3s; }
    .risultati .row:hover {
      translate: 0 -8px; }

.articolo_wrap .container {
  max-width: 100rem; }

.articolo_wrap .img_article {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: 0 auto 5rem;
  position: relative;
  border-radius: 1rem; }

.articolo_wrap .desc p {
  margin: 0 0 4rem; }

.nav_articoli {
  position: fixed;
  bottom: 10%;
  width: 100%;
  display: block;
  left: 0;
  right: 0;
  z-index: 3;
  height: 7.7rem; }
  .nav_articoli button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 5px;
    background-color: #fff;
    border: 1px solid #9B9B9B;
    position: absolute;
    top: 0; }
    .nav_articoli button#next {
      right: 0; }
    .nav_articoli button#prev {
      left: 0; }
    .nav_articoli button span {
      font-size: 1.1rem;
      font-weight: 300;
      color: #2B2B2B; }
      @media screen and (min-width: 769px) {
        .nav_articoli button span {
          font-size: 1.3rem; } }
    .nav_articoli button img {
      width: 1.8rem;
      height: 1.8rem;
      object-fit: contain; }
      @media screen and (min-width: 769px) {
        .nav_articoli button img {
          width: 3rem;
          height: 3rem; } }
    .nav_articoli button#prev span {
      text-align: right; }
    .nav_articoli button#next span {
      text-align: left; }

.condivisione {
  padding: 5rem 0 10rem; }

.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9; }
  @media screen and (max-width: 768px) {
    .fixed.resp {
      position: absolute; } }

#body {
  overflow-x: hidden; }

.header-pag .fascia_bianca {
  display: none;
  height: 12.5rem;
  background-color: #fff;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0; }

.header-pag.white .fascia_menu .bg_menu {
  background: transparent; }

.header-pag.white .fascia_menu nav.menu ul li a {
  color: #2B2B2B; }
  .header-pag.white .fascia_menu nav.menu ul li a .ico_down {
    filter: invert(1); }

@media screen and (min-width: 769px) {
  .header-pag.white .fascia_bianca {
    display: block; } }

.header-pag.white .menuresponsive img {
  filter: invert(1); }

.section {
  width: 100%;
  height: auto !important;
  min-height: 100vh;
  position: relative; }
  @media screen and (min-width: 769px) and (min-height: 700px) {
    .section {
      height: 100vh; } }

.sec_intro {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 3;
  transition: all .5s; }
  .sec_intro .txt_abs {
    position: absolute;
    top: 60%;
    left: 0;
    right: 0;
    width: 100%;
    transform: translate(0, -60%);
    text-align: center;
    z-index: 3; }
  .sec_intro .overlay {
    background-color: #713c28;
    opacity: 70%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    mix-blend-mode: multiply; }
  .sec_intro .fiori {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    margin: 0 auto -1.5rem;
    text-align: center; }
    .sec_intro .fiori img {
      width: 100%;
      max-width: 100rem;
      height: auto;
      aspect-ratio: 190 / 69; }

.main_wrapper {
  position: relative;
  z-index: 2; }

.sec_01 .video {
  width: 100%;
  height: 101.5vh;
  object-fit: cover;
  position: relative; }

.sec_01 #sec01_txt {
  position: absolute;
  bottom: 7.5rem;
  left: 0;
  right: 0;
  width: 98%;
  max-width: 80rem;
  margin: 0 auto;
  z-index: 3;
  text-align: center;
  overflow: hidden; }
  .sec_01 #sec01_txt h2 {
    margin: 0 auto 2rem; }
  .sec_01 #sec01_txt p {
    color: #fff;
    margin: 0 auto 5rem; }

.sec_01 .mouse {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  z-index: 3; }

.sec_01 .sfumatura {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  background: #2b2b2b;
  background: -moz-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
  background: -webkit-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
  background: linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#9b9b9b",GradientType=1);
  mix-blend-mode: multiply;
  z-index: 2;
  opacity: 60%; }

.sec_02 {
  display: flex;
  flex-direction: column-reverse; }
  @media screen and (min-width: 1281px) {
    .sec_02 {
      flex-direction: column; } }
  .sec_02 #txt {
    width: 100%;
    z-index: 3;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    padding: 5rem 2%;
    text-align: center; }
    @media screen and (min-width: 1281px) {
      .sec_02 #txt {
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 50%;
        padding: 0 2%;
        text-align: left; } }
    .sec_02 #txt h2 {
      text-align: center;
      width: 100%; }
      @media screen and (min-width: 769px) {
        .sec_02 #txt h2 {
          text-align: left; } }
    .sec_02 #txt .stit {
      margin: 0 0 5rem;
      text-align: center;
      width: 100%; }
      @media screen and (min-width: 769px) {
        .sec_02 #txt .stit {
          text-align: left; } }
  .sec_02 .bg {
    display: none;
    position: absolute;
    width: 50%;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    background: white;
    background: -moz-linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); }
    @media screen and (min-width: 1281px) {
      .sec_02 .bg {
        display: block; } }
    .sec_02 .bg img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .sec_02 .bl_canvas {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 70vh; }
    @media screen and (min-width: 1281px) {
      .sec_02 .bl_canvas {
        position: absolute;
        top: 0;
        left: 0;
        min-height: inherit; } }
    .sec_02 .bl_canvas canvas {
      width: 100%;
      height: 100%;
      min-height: 70vh;
      max-width: 100vw;
      max-height: 100vh;
      object-fit: cover;
      object-position: center right; }
      @media screen and (min-width: 1281px) {
        .sec_02 .bl_canvas canvas {
          min-height: inherit; } }

.sec_03 {
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center; }
  @media screen and (min-width: 769px) {
    .sec_03 {
      background-size: contain; } }
  .sec_03 .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .sec_03 .flex .bl {
      width: 100%; }
      .sec_03 .flex .bl.absresp {
        position: absolute;
        /* top: 0; */
        left: 0;
        right: 0;
        margin: 0 auto; }
      @media screen and (min-width: 769px) {
        .sec_03 .flex .bl {
          width: 33.3%;
          position: relative;
          text-align: center; }
          .sec_03 .flex .bl.absresp {
            position: relative; } }
      .sec_03 .flex .bl img {
        width: 100%;
        position: relative;
        max-height: 100vh;
        object-fit: contain;
        display: block;
        aspect-ratio: 223 / 300; }
        .sec_03 .flex .bl img#pic01 {
          z-index: 2; }
        .sec_03 .flex .bl img#pic02 {
          z-index: 3; }
        .sec_03 .flex .bl img#pic03 {
          z-index: 1; }
  .sec_03 .container {
    position: relative;
    padding: 15rem 2% 5rem;
    height: auto; }
    @media screen and (min-width: 769px) {
      .sec_03 .container {
        height: 100vh; } }
    .sec_03 .container .txt {
      position: relative;
      width: 100%;
      margin: 0 auto;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .sec_03 .container .txt {
          position: absolute;
          width: 50%;
          max-width: 71rem;
          overflow: hidden;
          bottom: 1rem;
          right: 0;
          margin: 0 auto;
          text-align: left; } }
      @media screen and (min-width: 1281px) {
        .sec_03 .container .txt {
          bottom: 15%; } }
      .sec_03 .container .txt .stit {
        margin: 0 0 2rem; }
  .sec_03 #btn_fine {
    margin: 0 auto;
    display: none;
    position: relative;
    bottom: 5rem; }
    @media screen and (min-width: 769px) {
      .sec_03 #btn_fine {
        display: inline-block; } }
  .sec_03 #btn_fine_mobile {
    margin: 5rem auto 10rem; }
    @media screen and (min-width: 769px) {
      .sec_03 #btn_fine_mobile {
        display: none; } }

.panel {
  position: relative;
  display: flex;
  height: auto;
  justify-content: center;
  align-items: center;
  align-content: center;
  color: #fff;
  min-height: 100vh; }
  @media screen and (min-width: 769px) {
    .panel {
      height: 100vh; } }
  .panel .container {
    position: relative;
    z-index: 3;
    text-align: center;
    max-width: 100rem;
    padding: 6rem 2%; }
  @media screen and (min-width: 769px) {
    .panel {
      padding: 0 2% 10rem; } }
  .panel .fiori {
    width: 100%;
    margin: 0 auto;
    z-index: 2;
    position: absolute;
    left: 0;
    bottom: -2rem; }
  .panel .mouse {
    position: absolute;
    bottom: 3rem;
    left: 0;
    right: 0;
    z-index: 3; }
  .panel .sfumatura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    background: #2b2b2b;
    background: -moz-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: -webkit-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#9b9b9b",GradientType=1);
    mix-blend-mode: multiply;
    z-index: 2;
    opacity: 60%; }

.bg-black {
  background-color: #2B2B2B;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  top: 0;
  left: 0; }

.bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  top: 0;
  left: 0; }

#section-1 p {
  margin: 3rem auto 0; }

#section-1 .btn {
  margin: 5rem auto 0; }

#section-2 p {
  margin: 3rem auto 0; }

#section-3 {
  background-color: #fff;
  color: #2B2B2B; }
  @media screen and (min-width: 769px) {
    #section-3 h2 {
      margin: 8rem auto 0; } }
  #section-3 p {
    margin: 3rem auto 0; }
  #section-3 .btn {
    margin: 3rem auto 0; }

/* .chicco {
    width: 100%;
    height: 100vh;

    canvas {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        object-fit: cover;
        object-position: center;
    }
  } */
/* .testo_simple {
    width: 100%;
    position: relative;
    height: auto;
    padding: 0 0 16rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: -10rem auto 0;

    .container {
        max-width: 100rem;

        p {
            margin: 3rem auto 0;
        }

        .btn {
            margin: 5rem auto 0;
        }
    }
  } */
.analisi {
  height: auto;
  min-height: 100vh;
  width: 100%;
  display: flex;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column; }
  .analisi .container {
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    height: auto;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center; }
    .analisi .container:not(.big) {
      max-width: 100rem; }
    .analisi .container#sec01txt {
      padding: 0 0 8rem; }
    @media screen and (min-width: 769px) {
      .analisi .container {
        height: 100vh;
        padding: 12rem 2% 0; } }
    .analisi .container p {
      margin: 3rem auto 0; }
    .analisi .container .txt {
      height: 100vh;
      width: 100%;
      position: relative; }
      @media screen and (min-width: 769px) {
        .analisi .container .txt {
          height: auto;
          width: auto; } }
  .analisi .sfumatura {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    background: #2b2b2b;
    background: -moz-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: -webkit-linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    background: linear-gradient(0deg, #2b2b2b 50%, #9b9b9b 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#9b9b9b",GradientType=1);
    mix-blend-mode: multiply;
    z-index: 2;
    opacity: 60%; }
  .analisi .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .analisi .flex .bl {
      width: 100%;
      padding: 0 2rem;
      position: absolute;
      left: 0;
      top: 12rem; }
      @media screen and (min-width: 769px) {
        .analisi .flex .bl {
          width: 33.3%;
          padding: 0 4rem;
          text-align: left;
          position: relative;
          top: 0; } }
      .analisi .flex .bl .ico {
        width: 100%;
        text-align: center; }
        .analisi .flex .bl .ico img {
          width: 100%;
          height: auto;
          max-width: 25rem; }
      .analisi .flex .bl h3 {
        font-size: 2.5rem;
        color: #F030A9;
        margin: 0 auto -2rem; }
  .analisi #tit01 {
    margin: 0 auto 4rem;
    padding: 10rem 0 0; }
    @media screen and (min-width: 769px) {
      .analisi #tit01 {
        padding: 0; } }
  .analisi #analisi_txt01 {
    padding: 6rem 0; }
    @media screen and (min-width: 769px) {
      .analisi #analisi_txt01 {
        padding: 0; } }

.organolettiche {
  overflow: hidden;
  margin: 0 0 -1.5rem; }
  .organolettiche .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .organolettiche .flex .bl {
      width: 100%;
      position: relative;
      height: auto;
      min-height: 100vh; }
      @media screen and (min-width: 769px) {
        .organolettiche .flex .bl {
          width: 50%; } }
      .organolettiche .flex .bl img {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        object-fit: cover; }
  .organolettiche .paragraph {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
    align-content: center;
    color: #fff;
    background-color: #2B2B2B; }
    .organolettiche .paragraph:nth-child(even) {
      background-color: #BD2585; }
      .organolettiche .paragraph:nth-child(even) h2 span {
        color: #2B2B2B; }
    .organolettiche .paragraph#p01 {
      z-index: 1; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p01 {
          z-index: 7; } }
    .organolettiche .paragraph#p02 {
      z-index: 2; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p02 {
          z-index: 6; } }
    .organolettiche .paragraph#p03 {
      z-index: 3; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p03 {
          z-index: 5; } }
    .organolettiche .paragraph#p04 {
      z-index: 4; }
    .organolettiche .paragraph#p05 {
      z-index: 5; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p05 {
          z-index: 3; } }
    .organolettiche .paragraph#p06 {
      z-index: 6; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p06 {
          z-index: 2; } }
    .organolettiche .paragraph#p07 {
      z-index: 7; }
      @media screen and (min-width: 769px) {
        .organolettiche .paragraph#p07 {
          z-index: 1; } }
    .organolettiche .paragraph div {
      padding: 0 5rem;
      max-width: 71rem;
      margin: 0 auto 0 0; }
      .organolettiche .paragraph div h2 {
        margin: 0 0 2rem; }
      .organolettiche .paragraph div .btn {
        margin: 5rem 0 0; }

.storia-intro .flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .storia-intro .flex .bl {
    width: 100%;
    height: auto;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; }
    @media screen and (min-width: 769px) {
      .storia-intro .flex .bl {
        width: 50%; } }
    .storia-intro .flex .bl.txt {
      background-color: #2B2B2B;
      color: #fff; }
      .storia-intro .flex .bl.txt .txt_inner {
        padding: 5rem 2rem; }
        @media screen and (min-width: 769px) {
          .storia-intro .flex .bl.txt .txt_inner {
            padding: 0 5rem; } }
        .storia-intro .flex .bl.txt .txt_inner h2 {
          margin: 0 0 2rem; }
    .storia-intro .flex .bl picture {
      width: 100%;
      height: 100%; }
      .storia-intro .flex .bl picture img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.crono {
  position: relative;
  width: 100%;
  height: 100vh; }
  .crono .year {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto; }
    .crono .year .bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      margin: 0 auto;
      z-index: 1;
      overflow: hidden; }
      .crono .year .bg picture {
        width: 100%;
        height: 100%; }
        .crono .year .bg picture img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    .crono .year .year_sfumatura {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      margin: 0 auto;
      z-index: 2;
      background: #2b2b2b;
      background: -moz-linear-gradient(0deg, #2b2b2b 50%, rgba(43, 43, 43, 0) 100%);
      background: -webkit-linear-gradient(0deg, #2b2b2b 50%, rgba(43, 43, 43, 0) 100%);
      background: linear-gradient(0deg, #2b2b2b 50%, rgba(43, 43, 43, 0) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#2b2b2b",GradientType=1);
      mix-blend-mode: multiply; }
      @media screen and (min-width: 769px) {
        .crono .year .year_sfumatura {
          background: #2b2b2b;
          background: -moz-linear-gradient(90deg, rgba(43, 43, 43, 0) 0%, #2b2b2b 50%);
          background: -webkit-linear-gradient(90deg, rgba(43, 43, 43, 0) 0%, #2b2b2b 50%);
          background: linear-gradient(90deg, rgba(43, 43, 43, 0) 0%, #2b2b2b 50%);
          filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2b2b2b",endColorstr="#2b2b2b",GradientType=1); } }
    .crono .year .year_txt {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      margin: 0 auto;
      z-index: 3;
      color: #fff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 0 2rem; }
      @media screen and (min-width: 769px) {
        .crono .year .year_txt {
          width: 50%;
          left: inherit;
          margin: 0 0 0 auto;
          padding: 0 10rem; } }
      .crono .year .year_txt h2 {
        margin: 0 0 3rem; }
    .crono .year#year01 {
      z-index: 7; }
    .crono .year#year02 {
      z-index: 6; }
    .crono .year#year03 {
      z-index: 5; }
    .crono .year#year04 {
      z-index: 4; }
    .crono .year#year05 {
      z-index: 3; }
    .crono .year#year06 {
      z-index: 2; }
    .crono .year#year07 {
      z-index: 1; }

.storia-mission .flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  flex-direction: row-reverse; }
  .storia-mission .flex .bl {
    width: 100%;
    height: auto;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; }
    @media screen and (min-width: 769px) {
      .storia-mission .flex .bl {
        width: 50%; } }
    .storia-mission .flex .bl.txt {
      background-color: #2B2B2B;
      color: #fff; }
      .storia-mission .flex .bl.txt .txt_inner {
        padding: 5rem 2rem; }
        @media screen and (min-width: 769px) {
          .storia-mission .flex .bl.txt .txt_inner {
            padding: 5rem; } }
        .storia-mission .flex .bl.txt .txt_inner h2 {
          margin: 0 0 2rem; }
        .storia-mission .flex .bl.txt .txt_inner .btn {
          margin: 5rem 0 0; }
    .storia-mission .flex .bl picture {
      width: 100%;
      height: 100%; }
      .storia-mission .flex .bl picture img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.box_gruppo .flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  flex-direction: row-reverse;
  align-items: center; }
  .box_gruppo .flex .bl {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; }
    @media screen and (min-width: 769px) {
      .box_gruppo .flex .bl {
        width: 50%;
        text-align: center; } }
    .box_gruppo .flex .bl.txt {
      text-align: left; }
      .box_gruppo .flex .bl.txt .txt_inner {
        padding: 5rem 2rem; }
        @media screen and (min-width: 769px) {
          .box_gruppo .flex .bl.txt .txt_inner {
            padding: 8rem 5rem; } }
        .box_gruppo .flex .bl.txt .txt_inner h2 {
          margin: 0 0 2rem; }
        .box_gruppo .flex .bl.txt .txt_inner .btn {
          margin: 5rem 0 0; }
    .box_gruppo .flex .bl picture {
      width: 100%;
      height: 100%; }
      .box_gruppo .flex .bl picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        max-width: 60rem; }

.style_tit {
  padding: 9rem 0 0;
  position: relative;
  text-align: center;
  z-index: 3; }
  .style_tit .sfumatura {
    background: white;
    background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 100%);
    background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 100%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
    position: absolute;
    bottom: -130%;
    left: 0;
    right: 0;
    width: 100%;
    height: 20rem;
    z-index: 1; }
  .style_tit h2 {
    position: relative;
    z-index: 2; }

.box-loghi {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2; }
  .box-loghi .box {
    width: 100%;
    height: 100vh;
    background-color: #fff;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    .box-loghi .box img {
      width: 98%;
      max-width: 30rem;
      height: auto;
      aspect-ratio: 3 / 4;
      object-fit: contain;
      margin: 0 auto;
      padding: 3rem;
      background: #fff;
      box-sizing: content-box;
      border: 2px solid #efefef;
      border-radius: 2rem; }
    .box-loghi .box#logo01 {
      z-index: 8; }
    .box-loghi .box#logo02 {
      z-index: 7; }
    .box-loghi .box#logo03 {
      z-index: 6; }
    .box-loghi .box#logo04 {
      z-index: 5; }
    .box-loghi .box#logo05 {
      z-index: 4; }
    .box-loghi .box#logo06 {
      z-index: 3; }
    .box-loghi .box#logo07 {
      z-index: 2; }
    .box-loghi .box#logo08 {
      z-index: 1; }

.spiega_logo {
  position: relative;
  margin: -100vh auto 0;
  min-height: 100vh;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .spiega_logo .container {
    text-align: center;
    max-width: 100rem;
    padding: 0 0 8rem; }
    .spiega_logo .container h2 {
      margin: 5rem 0 2rem; }
    .spiega_logo .container img {
      width: 98%;
      max-width: 29rem;
      height: auto;
      aspect-ratio: 3 / 4;
      object-fit: contain;
      margin: 0 auto;
      padding: 3rem;
      background: #fff;
      box-sizing: content-box;
      border: 2px solid #efefef;
      border-radius: 2rem; }

.box_gruppo:nth-child(even) .flex {
  flex-direction: row;
  background-color: #EFEFEF; }

.contatti_pag .flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .contatti_pag .flex .bl {
    width: 100%; }
    @media screen and (min-width: 769px) {
      .contatti_pag .flex .bl {
        width: 50%; } }
    .contatti_pag .flex .bl .txt {
      padding: 5rem 2rem; }
      @media screen and (min-width: 769px) {
        .contatti_pag .flex .bl .txt {
          padding: 8rem 5rem; } }
      .contatti_pag .flex .bl .txt .stit {
        margin: 0 0 3rem; }
    .contatti_pag .flex .bl .mappa {
      width: 100%;
      min-height: 40rem;
      height: 100%;
      border: none; }

.form_wrap {
  background-color: hwb(322 15% 36%);
  margin: 0 auto;
  padding: 8rem 0 14rem; }
  .form_wrap .stit {
    padding: 0;
    color: #fff; }
    @media screen and (min-width: 769px) {
      .form_wrap .stit {
        padding: 0 5rem; } }
  .form_wrap form {
    padding: 0; }
    @media screen and (min-width: 769px) {
      .form_wrap form {
        padding: 0 5rem; } }
    .form_wrap form .btn {
      color: #fff;
      border: 2px solid #fff;
      min-width: 20rem; }

.row_newsletter {
  width: 100%;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  margin: 2rem 0;
  display: flex;
  align-items: center; }
  .row_newsletter label {
    width: auto; }

.checkbox-custom {
  opacity: 0;
  position: absolute; }

.checkbox-custom, .checkbox-custom-label {
  display: inline-block;
  vertical-align: middle;
  margin: 5px;
  cursor: pointer; }

.checkbox-custom-label {
  position: relative; }

.checkbox-custom + .checkbox-custom-label:before {
  content: '';
  background: #2B2B2B;
  display: inline-block;
  vertical-align: middle;
  width: 2.5rem;
  height: 2.5rem;
  padding: 8px;
  margin-right: 1rem;
  text-align: center;
  border-radius: 5px; }

.checkbox-custom:checked + .checkbox-custom-label:before {
  content: url(../images/check-form.svg);
  background: #5fe35f; }

.checkbox-custom:focus + .checkbox-custom-label {
  outline: none;
  /* focus style */ }

/* DEALER */
.wrapper {
  margin: 15rem 0 0;
  height: auto; }
  @media screen and (min-width: 769px) {
    .wrapper {
      margin: 10rem 0 0; } }
  @media screen and (min-width: 1025px) {
    .wrapper {
      height: calc(100vh - 12.5rem);
      margin: 12.5rem 0 0; } }
  .wrapper .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 100%; }
    .wrapper .flex .bl_mappa {
      width: 100%;
      height: calc(90vh - 12.5rem);
      position: relative; }
      @media screen and (min-width: 1025px) {
        .wrapper .flex .bl_mappa {
          width: calc(100% - 55rem);
          height: 100%; } }
      @media screen and (max-height: 700px) {
        .wrapper .flex .bl_mappa {
          height: 50rem; } }
      .wrapper .flex .bl_mappa iframe {
        width: 100%;
        height: 100%;
        border: none; }
      .wrapper .flex .bl_mappa .btn_regione {
        position: absolute;
        bottom: 2rem;
        left: 0;
        right: 0;
        margin: 0 auto;
        text-align: center;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem 2rem; }
        .wrapper .flex .bl_mappa .btn_regione .btn {
          border: 2px solid #9B9B9B;
          background: #fff;
          font-size: 1.6rem;
          letter-spacing: 0;
          padding: 5px 1rem;
          color: #9B9B9B; }
    .wrapper .flex .bl_elenco {
      width: 100%;
      height: auto;
      background: #EFEFEF;
      padding: 3rem 1rem; }
      @media screen and (min-width: 581px) {
        .wrapper .flex .bl_elenco {
          padding: 3rem; } }
      @media screen and (min-width: 1025px) {
        .wrapper .flex .bl_elenco {
          width: 55rem;
          height: 100%; } }

#chevron {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
  transition: all cubic-bezier(0.6, 0.04, 0.98, 0.335);
  margin: 0;
  /* @media screen and (min-width:1025px) {
        display: none;
    } */ }
  @media screen and (min-width: 581px) {
    #chevron {
      margin: 0 5px 0 0; } }

.tipologia_box {
  opacity: 0;
  height: 0;
  pointer-events: none;
  position: absolute;
  background: #fff;
  padding: 2rem;
  right: 0;
  border-radius: 1rem;
  width: 30rem;
  max-width: 93vw;
  /* @media screen and (min-width:1025px) {
        width: 100%;
        padding: 0;
        display: inline-flex;
        flex-wrap: wrap;
        pointer-events: all;
        opacity: 1;
        height: auto;
        pointer-events: all;
    } */ }
  @media screen and (min-width: 581px) {
    .tipologia_box {
      left: 0;
      right: inherit;
      min-width: 30rem;
      width: 100%; } }
  .tipologia_box.show {
    opacity: 1;
    height: auto;
    visibility: visible;
    pointer-events: all;
    margin: 0 0 2rem; }

.box_filtri {
  position: absolute;
  width: auto;
  top: 16rem;
  right: 1rem;
  max-width: 95%;
  z-index: 10; }
  @media screen and (min-width: 581px) {
    .box_filtri {
      left: 2rem;
      right: inherit;
      top: 15rem; } }
  @media screen and (min-width: 769px) {
    .box_filtri {
      top: 10rem; } }
  @media screen and (min-width: 1025px) {
    .box_filtri {
      width: 49rem;
      top: inherit;
      left: inherit;
      z-index: 8; } }

.form_filtri {
  margin: 1rem 0 0;
  background: #fff;
  border-radius: 1rem; }
  .form_filtri .btntoggle {
    padding: 1rem 2rem; }
  .form_filtri p {
    display: flex;
    align-items: center; }
    .form_filtri p span {
      display: none; }
      @media screen and (min-width: 581px) {
        .form_filtri p span {
          display: block; } }
  .form_filtri .row {
    display: flex;
    flex-direction: column-reverse;
    margin: 0 0 1.2rem; }
    .form_filtri .row label {
      color: #2B2B2B;
      display: flex;
      align-items: center; }
      .form_filtri .row label .legenda {
        display: inline-block;
        width: 2rem;
        height: 2rem;
        border-radius: 5rem;
        margin: 0 5px 0 0; }
        .form_filtri .row label .legenda#portioli {
          background-color: #BD2585; }
        .form_filtri .row label .legenda#gime {
          background-color: #399946; }
    .form_filtri .row span {
      display: flex;
      gap: 1rem;
      align-items: center; }
      .form_filtri .row span input {
        flex-grow: 2; }
    .form_filtri .row .locator {
      width: 2rem;
      height: 2rem; }
      .form_filtri .row .locator img {
        width: 2rem;
        height: 2rem; }
    .form_filtri .row input, .form_filtri .row select {
      font-size: 1.6rem;
      padding: 5px 1rem;
      border: 1px solid #ddd;
      border-radius: 5px; }
  .form_filtri .btns {
    display: flex;
    justify-content: space-between; }
  .form_filtri .btn {
    font-size: 1.6rem;
    letter-spacing: 0;
    padding: 5px 1rem;
    background: #BD2585;
    color: #fff;
    border: none; }
    .form_filtri .btn.cancella {
      background: #9B9B9B; }

.bl_elenco .box_concessionari_cntt {
  width: 100%;
  margin: 2rem 0 0;
  height: calc(100% - 5.5rem - 4.5rem);
  scrollbar-color: #d0d0d0 transparent; }
  @media screen and (min-width: 1025px) {
    .bl_elenco .box_concessionari_cntt {
      overflow-y: scroll;
      margin: 8rem 0 0; } }
  .bl_elenco .box_concessionari_cntt::-webkit-scrollbar {
    width: 1rem; }
  .bl_elenco .box_concessionari_cntt::-webkit-scrollbar-track {
    background-color: transparent; }
  .bl_elenco .box_concessionari_cntt::-webkit-scrollbar-thumb {
    background-color: #BD2585;
    border-radius: 2rem;
    border: 6px solid transparent;
    background-clip: content-box; }
  .bl_elenco .box_concessionari_cntt::-webkit-scrollbar-thumb:hover {
    background-color: hwb(322 15% 36%); }
  .bl_elenco .box_concessionari_cntt .row {
    padding: 2rem;
    background: #e5e5e5;
    margin: 0 0 1rem;
    border-radius: 1rem; }
    .bl_elenco .box_concessionari_cntt .row .nome {
      font-size: 1.8rem;
      font-weight: 600;
      color: #BD2585; }
    .bl_elenco .box_concessionari_cntt .row .indirizzo {
      font-size: 1.5rem;
      font-style: italic;
      line-height: 1.5; }
    .bl_elenco .box_concessionari_cntt .row .dealer-servizi {
      font-size: 1.5rem;
      font-style: italic;
      line-height: 1.5;
      font-weight: 500; }
      .bl_elenco .box_concessionari_cntt .row .dealer-servizi span {
        margin: 0 1rem 0 0; }
        .bl_elenco .box_concessionari_cntt .row .dealer-servizi span.portioli {
          color: #BD2585; }
        .bl_elenco .box_concessionari_cntt .row .dealer-servizi span.gime {
          color: #399946; }
    .bl_elenco .box_concessionari_cntt .row .btn {
      font-size: 1.5rem;
      letter-spacing: 0;
      padding: 5px 1rem;
      margin: 1rem 0; }

/* DEALER DETTAGLIO */
.dealer-logo {
  width: 20rem;
  height: auto;
  aspect-ratio: 1 / 1;
  max-width: 100%;
  margin: 0 0 2.5rem;
  object-fit: contain; }

.txt_abs .dealer-contatti a {
  color: #fff; }
  .txt_abs .dealer-contatti a:hover {
    color: #F030A9; }

.txt_dealer .desc {
  max-width: 100rem; }
  .txt_dealer .desc h2 {
    font-size: 3.5rem;
    margin: 0 0 2.5rem; }
    .txt_dealer .desc h2 strong {
      font-family: "Cormorant", serif;
      font-optical-sizing: auto;
      font-style: italic;
      color: #F030A9;
      font-size: 4.5rem; }

.dealer_forza {
  padding: 0;
  /* .flex {
        @include flex;
        justify-content: center;
        margin: 4rem auto 0;

        .bl {
            width: 100%;
            padding: 0 2rem;
            margin: 0 0 4rem;

            @media screen and (min-width:581px) {
                width: 50%;
            }

            @media screen and (min-width:769px) {
                width: 33.3%;
            }

            @media screen and (min-width:1025px) {
                width: 25%;
            }

            @media screen and (min-width:1281px) {
                width: 20%;
            }
        }
    } */ }
  .dealer_forza .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: stretch;
    flex-direction: column-reverse; }
    @media screen and (min-width: 855px) {
      .dealer_forza .flex {
        flex-direction: row; } }
    .dealer_forza .flex .bl {
      width: 100%;
      text-align: center; }
      @media screen and (min-width: 855px) {
        .dealer_forza .flex .bl {
          width: 50%;
          text-align: left; } }
      .dealer_forza .flex .bl.txt .box {
        width: 100%;
        margin: 0 auto;
        padding: 8rem 2%; }
        @media screen and (min-width: 855px) {
          .dealer_forza .flex .bl.txt .box {
            max-width: 71rem;
            margin: 0 0 0 auto; } }
      .dealer_forza .flex .bl img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .dealer_forza ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    margin: 4rem auto 0; }
    .dealer_forza ul li {
      width: 100%;
      padding: 0 2rem;
      margin: 0 0 4rem;
      position: relative;
      text-align: center; }
      @media screen and (min-width: 581px) {
        .dealer_forza ul li {
          width: 50%; } }
      @media screen and (min-width: 769px) {
        .dealer_forza ul li {
          width: 33.3%; } }
      @media screen and (min-width: 1281px) {
        .dealer_forza ul li {
          width: 25%; } }
      .dealer_forza ul li::before {
        content: url(../images/check.svg);
        width: 7rem;
        height: 7rem;
        position: relative;
        top: 0;
        display: block;
        margin: 0 auto; }

.dealer_foto {
  margin: 0 0 -1.1rem; }
  .dealer_foto .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .dealer_foto .flex .bl {
      width: 100%; }
      @media screen and (min-width: 581px) {
        .dealer_foto .flex .bl {
          width: 50%; } }
      .dealer_foto .flex .bl img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover; }

/* regioni */
.elenco-regioni {
  padding: 8rem 0; }
  .elenco-regioni ul li .inner {
    overflow: hidden;
    display: none;
    width: 100%; }
    .elenco-regioni ul li .inner li {
      padding: 2rem;
      background: #EFEFEF;
      border-radius: 1rem;
      margin: 0 0 2rem; }
  .elenco-regioni ul li .toggle {
    display: flex;
    align-items: center;
    gap: 5px; }
  .elenco-regioni ul li .nome {
    font-weight: 600; }
  .elenco-regioni ul li .indirizzo {
    font-size: 1.5rem;
    font-style: italic;
    color: #BD2585;
    line-height: 1.5; }
  .elenco-regioni ul li .link {
    font-size: 1.4rem;
    text-align: right; }
  .elenco-regioni ul.count {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-content: flex-start;
    align-items: flex-start;
    margin: 0 auto; }
    .elenco-regioni ul.count li {
      width: 100%;
      align-self: flex-start;
      /* @media screen and (min-width:769px) {
                    width: 33.3%;
                } */ }
      @media screen and (min-width: 581px) {
        .elenco-regioni ul.count li {
          width: 50%; } }
      @media screen and (min-width: 1281px) {
        .elenco-regioni ul.count li {
          width: 25%; } }
    .elenco-regioni ul.count .inner {
      background: #EFEFEF;
      border-radius: 5px;
      margin: 0 2rem 0 0; }
      .elenco-regioni ul.count .inner li {
        padding: 1rem 2rem;
        width: 100%;
        background: transparent;
        border-radius: 0;
        margin: 0; }
        .elenco-regioni ul.count .inner li a {
          font-size: 1.6rem !important;
          color: #BD2585 !important; }

.elenco-dealer-regione {
  padding: 2rem 0 10rem; }
  .elenco-dealer-regione .container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 4rem; }
    .elenco-dealer-regione .container .bl {
      width: 100%;
      padding: 0 2rem; }
      @media screen and (min-width: 601px) {
        .elenco-dealer-regione .container .bl {
          width: calc(50% - 2rem); } }
      @media screen and (min-width: 1025px) {
        .elenco-dealer-regione .container .bl {
          width: calc(33.3% - 2.66rem); } }
      .elenco-dealer-regione .container .bl img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border-radius: 1rem; }
      .elenco-dealer-regione .container .bl .indirizzo {
        color: #9B9B9B; }
      .elenco-dealer-regione .container .bl span.portioli, .elenco-dealer-regione .container .bl span.gime {
        display: flex;
        align-items: center;
        font-style: italic;
        color: #9B9B9B; }
        .elenco-dealer-regione .container .bl span.portioli .legenda, .elenco-dealer-regione .container .bl span.gime .legenda {
          display: inline-block;
          width: 2rem;
          height: 2rem;
          margin: 0 5px 0 0;
          border-radius: 3rem; }
      .elenco-dealer-regione .container .bl span.portioli .legenda {
        background-color: #BD2585; }
      .elenco-dealer-regione .container .bl span.gime .legenda {
        background-color: #399946; }
      .elenco-dealer-regione .container .bl .btn {
        padding: 5px 1rem;
        letter-spacing: 0;
        font-size: 1.5rem;
        margin: 2rem 0 0; }

.img_mondo {
  width: 100%; }
  .img_mondo img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover; }
    @media screen and (min-width: 769px) {
      .img_mondo img {
        aspect-ratio: 5 / 2; } }

.top_deal {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 20rem 0 0; }
  @media screen and (min-width: 425px) {
    .top_deal {
      padding: 15rem 0 0; } }
  @media screen and (min-width: 1025px) {
    .top_deal {
      padding: 8rem 0 0; } }
  @media screen and (min-width: 1440px) {
    .top_deal {
      padding: 0; } }
  .top_deal .top_img_deal {
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 2/3; }
    @media screen and (min-width: 769px) {
      .top_deal .top_img_deal {
        aspect-ratio: 3/2; } }
    @media screen and (min-width: 1440px) {
      .top_deal .top_img_deal {
        width: 50%;
        min-height: 90vh;
        aspect-ratio: inherit;
        margin: 5rem 0 0; } }
  .top_deal .txt_abs_deal {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    padding: 6rem 2%;
    background-color: #fff; }
    @media screen and (min-width: 1440px) {
      .top_deal .txt_abs_deal {
        width: 50%;
        padding: 10rem 8rem 0; } }
    .top_deal .txt_abs_deal .ico_small {
      filter: invert(1); }
  .top_deal ul.breadcrumb {
    justify-content: flex-start;
    margin: 0 auto 2rem; }
  .top_deal a {
    color: #2B2B2B; }
    .top_deal a:hover {
      color: #F030A9; }

.elenco-ricette {
  padding: 10rem 0; }
  .elenco-ricette .container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 4rem; }
    .elenco-ricette .container .bl {
      width: 100%;
      padding: 0 2rem;
      text-align: center; }
      @media screen and (min-width: 601px) {
        .elenco-ricette .container .bl {
          width: calc(50% - 2rem); } }
      @media screen and (min-width: 1025px) {
        .elenco-ricette .container .bl {
          width: calc(33.3% - 2.66rem); } }
      .elenco-ricette .container .bl img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border-radius: 1rem; }
      .elenco-ricette .container .bl .nome {
        font-size: 2.3rem; }
      .elenco-ricette .container .bl .btn {
        padding: 5px 1rem;
        letter-spacing: 0;
        font-size: 1.5rem;
        margin: 1rem 0 0; }

.elenco-faq {
  padding: 10rem 0; }
  .elenco-faq .row {
    max-width: 100rem;
    margin: 0 auto; }
    .elenco-faq .row .toggle {
      padding: 5px 3rem;
      font-size: 1.8rem;
      font-weight: 600;
      border-radius: 3rem;
      border: 2px solid #BD2585;
      margin: 0 auto 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      @media screen and (min-width: 769px) {
        .elenco-faq .row .toggle {
          border-radius: 10rem; } }
    .elenco-faq .row .inner {
      display: none;
      padding: 2rem 3rem;
      background: #EFEFEF;
      margin: 0 auto 3rem;
      border-radius: 1rem; }
    .elenco-faq .row .chevron {
      width: 2rem;
      height: 2rem;
      margin: 0 0 0 1rem;
      transition: all .3s; }

#slide-tazze .splide__slide {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center; }
  #slide-tazze .splide__slide picture {
    width: 100%; }
    @media screen and (min-width: 769px) {
      #slide-tazze .splide__slide picture {
        width: 50%; } }
    #slide-tazze .splide__slide picture img {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
      object-fit: cover; }
  #slide-tazze .splide__slide .txt {
    width: 100%;
    padding: 4rem 2rem; }
    @media screen and (min-width: 769px) {
      #slide-tazze .splide__slide .txt {
        width: 50%;
        padding: 4rem 8rem; } }

#slide-tazze .splide__arrow svg {
  fill: #9B9B9B; }

.gallery {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .gallery .foto {
    width: 100%;
    margin: 0 auto -1.1rem; }
    @media screen and (min-width: 581px) {
      .gallery .foto {
        width: 50%; } }
    @media screen and (min-width: 1025px) {
      .gallery .foto {
        width: 25%; } }
    .gallery .foto img {
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      object-fit: cover; }

.richiedi_info {
  background-color: #BD2585;
  padding: 8rem 0;
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  color: #fff; }
  @media screen and (min-width: 769px) {
    .richiedi_info {
      background-size: contain; } }
  .richiedi_info h2 span {
    color: #2B2B2B; }
  .richiedi_info .btn {
    border: 2px solid #fff;
    color: #fff;
    margin: 5rem auto 0; }
    .richiedi_info .btn:hover span {
      box-shadow: 0 0 1rem rgba(255, 255, 255, 0.33); }

#slide-calendario .splide__slide picture {
  width: 100%;
  position: relative; }
  #slide-calendario .splide__slide picture img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    max-height: 95vh; }

#slide-calendario .splide__slide .txt {
  width: 100%;
  padding: 4rem 2rem 2rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: black;
  background: -moz-linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000",endColorstr="#000",GradientType=1); }
  @media screen and (min-width: 1025px) {
    #slide-calendario .splide__slide .txt {
      padding: 15rem 4rem 10rem; } }
  #slide-calendario .splide__slide .txt div {
    max-width: 100rem;
    margin: 0 auto;
    text-align: center;
    color: #fff; }

#slide-calendario .splide__arrow svg {
  fill: #EFEFEF; }

.tabs {
  padding: 4rem 0 0;
  background: #efefef; }
  .tabs .container {
    text-align: center; }
  .tabs .tab {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 3rem 0 0;
    flex-direction: column;
    gap: 2rem; }
    @media screen and (min-width: 325px) {
      .tabs .tab {
        flex-direction: row;
        gap: 0; } }
    .tabs .tab button {
      background-color: transparent;
      border: 2px solid #BD2585;
      color: #BD2585;
      padding: 1.7rem 0;
      border-radius: 8rem;
      font-size: 1.6rem;
      padding: 1rem 2rem;
      position: relative; }
      @media screen and (min-width: 325px) {
        .tabs .tab button {
          font-size: 2rem;
          padding: 1rem 2rem; } }
      @media screen and (min-width: 769px) {
        .tabs .tab button {
          font-size: 2.5rem;
          padding: 2rem 8rem; } }
      .tabs .tab button::after {
        content: '';
        display: none;
        position: absolute;
        bottom: -6rem;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 0;
        height: 0;
        border-left: 5rem solid transparent;
        border-right: 5rem solid transparent;
        border-bottom: 5rem solid #2B2B2B;
        opacity: 0; }
        @media screen and (min-width: 325px) {
          .tabs .tab button::after {
            bottom: -4rem;
            border-left: 3rem solid transparent;
            border-right: 3rem solid transparent;
            border-bottom: 3rem solid #2B2B2B;
            display: block; } }
        @media screen and (min-width: 769px) {
          .tabs .tab button::after {
            bottom: -6rem;
            border-left: 5rem solid transparent;
            border-right: 5rem solid transparent;
            border-bottom: 5rem solid #2B2B2B; } }
      .tabs .tab button.active {
        background-color: #BD2585;
        color: #fff; }
        .tabs .tab button.active::after {
          opacity: 1; }
  .tabs .tabcontent2 {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 3rem 0 0;
    padding: 10rem 0;
    min-height: 100vh;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 325px) {
      .tabs .tabcontent2 {
        margin: 3.8rem 0 0; } }
    @media screen and (min-width: 769px) {
      .tabs .tabcontent2 {
        margin: 5.8rem 0 0; } }
    .tabs .tabcontent2 .container {
      text-align: left;
      display: flex;
      flex-wrap: wrap;
      width: 100%; }
      .tabs .tabcontent2 .container .bl {
        width: 100%;
        color: #fff; }
        @media screen and (min-width: 1025px) {
          .tabs .tabcontent2 .container .bl {
            width: 50%; } }
        .tabs .tabcontent2 .container .bl .line {
          height: 1px;
          background: #fff;
          margin: 3rem 0; }
        .tabs .tabcontent2 .container .bl p {
          margin: 5rem 0 0; }

.modelli_gime {
  background-size: contain;
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  background-color: #efefef;
  padding: 8rem 0;
  text-align: center; }
  .modelli_gime .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .modelli_gime .flex .bl {
      width: 100%;
      text-align: center; }
      @media screen and (min-width: 800px) {
        .modelli_gime .flex .bl {
          width: 50%;
          padding: 0 8%; } }
      .modelli_gime .flex .bl img {
        width: 100%;
        transition: all .3s;
        aspect-ratio: 4 / 3;
        object-fit: contain;}
      .modelli_gime .flex .bl h3 {
        font-size: 3rem;
        margin: -3rem 0 2rem; }
      .modelli_gime .flex .bl:hover img {
        scale: 1.03; }

.made_in_italy {
  padding: 10rem 2%; }
  @media screen and (min-width: 769px) {
    .made_in_italy {
      padding: 20rem 2%; } }
  .made_in_italy .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .made_in_italy .flex .bl {
      width: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .made_in_italy .flex .bl {
          width: 50%;
          text-align: left;
          align-items: flex-start; } }
      .made_in_italy .flex .bl.txt {
        max-width: 71rem;
        margin: 0 auto 0 0;
        align-items: center; }
        @media screen and (min-width: 769px) {
          .made_in_italy .flex .bl.txt {
            align-items: flex-start;
            padding: 0 0 0 4rem; } }
        .made_in_italy .flex .bl.txt span {
          color: #BD2585; }
        .made_in_italy .flex .bl.txt .stit {
          margin: 0 0 4.5rem; }
        .made_in_italy .flex .bl.txt .btn {
          color: #BD2585;
          border: 2px solid #BD2585;
          margin: 5rem 0 0; }
          .made_in_italy .flex .bl.txt .btn:hover span {
            box-shadow: 0 0 1rem rgba(189, 37, 133, 0.33); }
      .made_in_italy .flex .bl.img img {
        width: 100%; }

/* PAGINA MACCHINA DETTAGLIO */
.img_100 {
  margin: 10rem 0 0;
  min-height: 50rem;
  height: 90vh;
  overflow: hidden; }
  .img_100 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.punti_forza {
  padding: 10rem 0;
  background-size: contain;
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  background-color: #EFEFEF; }
  .punti_forza .container > h2 {
    margin: 0 0 2rem;
    text-align: center; }
  .punti_forza .container .desc ul li {
    list-style-position: inside;
    list-style-type: none;
    list-style-image: url(../images/circle.svg); }
    .punti_forza .container .desc ul li::marker {
      font-size: 2.5rem;
      line-height: 1; }
  .punti_forza .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    .punti_forza .flex .bl {
      width: 100%; }
      @media screen and (min-width: 1025px) {
        .punti_forza .flex .bl {
          width: 50%; } }
      .punti_forza .flex .bl.txt {
        padding: 0; }
        @media screen and (min-width: 1025px) {
          .punti_forza .flex .bl.txt {
            padding: 8rem 5rem 0 0; } }

.slide_colori h3 {
  text-align: center; }

#main-slider {
  margin: 0; }
  #main-slider .img-big {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain; }

#thumbnail-slider {
  padding: 0 4rem 3rem;
  margin: 2rem auto 0; }
  #thumbnail-slider .splide__track {
    padding-bottom: 4rem; }
    @media screen and (min-width: 575px) {
      #thumbnail-slider .splide__track .splide__list {
        justify-content: center; } }
    @media screen and (min-width: 1025px) {
      #thumbnail-slider .splide__track .splide__list {
        justify-content: flex-start; } }
    @media screen and (min-width: 1240px) {
      #thumbnail-slider .splide__track .splide__list {
        justify-content: center; } }
  #thumbnail-slider .splide__slide {
    opacity: 0.7; }
    #thumbnail-slider .splide__slide.is-active {
      opacity: 1; }
  #thumbnail-slider .splide__arrow {
    width: 35px;
    height: 35px;
    position: absolute;
    z-index: 2;
    top: 20%; }
    #thumbnail-slider .splide__arrow svg {
      fill: #bfbfbf;
      width: 35px;
      height: 35px; }
    #thumbnail-slider .splide__arrow.my-prev {
      left: 0; }
    #thumbnail-slider .splide__arrow.my-next {
      right: 0; }
  #thumbnail-slider .nome_colore {
    margin: 75px 0 0;
    text-align: center; }

#slide-semplice img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1; }

#slide-semplice .splide__arrow[disabled] {
  opacity: 0; }

.descrizione_2 {
  padding: 10rem 0; }
  .descrizione_2 .container {
    text-align: center;
    max-width: 100rem; }
    .descrizione_2 .container .tabella.desk {
      display: none;
      margin: 4rem auto 0;}
      .descrizione_2 .container .tabella.desk .row {
        display: flex;
        flex-wrap: wrap; }
        .descrizione_2 .container .tabella.desk .row .bl {
          width: 12%;
          background-color: #EFEFEF;
          line-height: 1.3;
          padding: 2rem 2%;
          margin: 0 0 5px;}
          .descrizione_2 .container .tabella.desk .row .bl.xl {
            width: 17.33%; }
          .descrizione_2 .container .tabella.desk .row .bl:not(:last-child) {
            border-right: 1px solid #2B2B2B; }
        .descrizione_2 .container .tabella.desk .row.legenda .bl {
          background-color: #fff;
          padding: 1rem;
        }
        .descrizione_2 .container .tabella.desk .row .bl:first-child {
          border-radius: 1rem 0 0 1rem;
        }
        .descrizione_2 .container .tabella.desk .row .bl:last-child {
          border-radius: 0 1rem 1rem 0;
        }

    .descrizione_2 .container .tabella.mobile {
      display: block;
      margin: 4rem auto 0;}
      .descrizione_2 .container .tabella.mobile .bl {
        margin: 0 0 4rem; }
        .descrizione_2 .container .tabella.mobile .bl h4 {
          font-size: 2rem;
          padding: 1rem 2rem;
          background: #BD2585;
          color: #fff;
          border-radius: 1rem 1rem 0 0;}
        .descrizione_2 .container .tabella.mobile .bl .row {
          padding: 1.5rem 2rem;
          border-bottom: 1px solid rgba(43, 43, 43, 0.2);
          background: #EFEFEF;}
          .descrizione_2 .container .tabella.mobile .bl .row:last-of-type {
            border-bottom: none;
            border-radius: 0 0 1rem 1rem;
          }
          .descrizione_2 .container .tabella.mobile .bl .row h5 {
            font-size: 1.6rem;
            color: #BD2585;}

@media screen and (min-width: 700px) {
  .descrizione_2 .container .tabella.desk {
    display: block; }
  .descrizione_2 .container .tabella.mobile {
    display: none; }
}


.slide_three {
  padding: 0 2% 10rem; }

#slide-three {
  padding: 0 3rem; }
  #slide-three .splide__slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 3;
    object-fit: contain; }
  #slide-three .splide__arrow svg {
    fill: #2B2B2B; }
  #slide-three .splide__arrow--prev {
    left: -5px; }
  #slide-three .splide__arrow--right {
    right: -5px; }
  #slide-three .splide__arrow[disabled] {
    opacity: 0; }

.buttons_schede {
  padding: 0 2rem; }
  .buttons_schede .flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 2rem; }
    .buttons_schede .flex .bl {
      width: 100%;
      padding: 3rem;
      color: #fff; }
      .buttons_schede .flex .bl a {
        color: #fff; }
      @media screen and (min-width: 581px) {
        .buttons_schede .flex .bl {
          width: calc(50% - 1rem);
          padding: 6rem 4rem; } }
      @media screen and (min-width: 1025px) {
        .buttons_schede .flex .bl {
          padding: 8rem; } }
      .buttons_schede .flex .bl .btn {
        border: none;
        background: #fff;
        min-width: 15rem;
        margin: 2rem 0 0; }
      .buttons_schede .flex .bl:first-of-type {
        background-color: #2B2B2B; }
        .buttons_schede .flex .bl:first-of-type .btn {
          color: #2B2B2B; }
      .buttons_schede .flex .bl:last-of-type {
        background-color: #BD2585; }
        .buttons_schede .flex .bl:last-of-type .btn {
          color: #BD2585; }

.form_macchine {
  margin: 2rem 0 0; }
  .form_macchine .form_bg {
    background-color: #DBDBDB;
    padding: 5rem 2%; }
    .form_macchine .form_bg form {
      background-color: #fff;
      max-width: 142rem;
      margin: 0 auto;
      width: 100%;
      padding: 4rem 2% 8rem;
      border-radius: 2rem;
      overflow: hidden; }
      .form_macchine .form_bg form div[class^="box-"] {
        margin: 0 0 2.5rem; }
      .form_macchine .form_bg form .input__text {
        color: #2B2B2B;
        background-color: #fff;
        border-bottom: 1px solid #DBDBDB; }
      .form_macchine .form_bg form label {
        color: #2B2B2B; }
      .form_macchine .form_bg form h2 {
        margin: 0 0 3rem; }
