@charset "UTF-8";
.otgs-development-site-front-end {
  display: none; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

picture {
  width: 100%;
  height: auto;
  display: block;
  overflow: hidden; }

.full_size {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  z-index: -1; }

.flexHorizontal {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%; }
  @media (max-width: 991px) {
    .flexHorizontal {
      flex-wrap: wrap; } }
  .flexHorizontal.left {
    justify-content: flex-start; }
  .flexHorizontal.right {
    justify-content: flex-end; }
  .flexHorizontal .link {
    margin-right: 40px; }
    @media (max-width: 991px) {
      .flexHorizontal .link {
        margin-right: 0; } }

li {
  list-style: none !important; }

::selection {
  color: #fff;
  background-color: #34BDC2; }

.clearer {
  clear: both; }

html, body {
  overflow: auto;
  /* scroll attivo */
  -ms-overflow-style: none;
  /* IE e Edge legacy */
  scrollbar-width: none;
  /* Firefox */ }

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Opera */ }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
  font-family: "Quicksand", sans-serif;
  font-weight: normal;
  font-size: 18px;
  line-height: 1em;
  color: #606060;
  transition: background-color 0.6s ease-out; }
  body.admin-bar {
    margin-top: 0; }
  @media (max-width: 991px) {
    body {
      overflow-x: hidden;
      font-size: calc(16 / 768 * 100vw); } }
  @media (max-width: 575px) {
    body {
      font-size: calc(16 / 360 * 100vw); } }

.noise_solo {
  background-image: url("../images/noise.webp");
  background-repeat: repeat;
  background-attachment: fixed; }

.noise_bk {
  position: fixed;
  background-image: url("../images/noise.webp");
  background-repeat: repeat;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  z-index: 0;
  top: 0;
  left: 0;
  pointer-events: none; }

.noise2 {
  position: fixed;
  background-image: url("../images/noise2.jpg");
  opacity: .08;
  width: 200%;
  height: 200%;
  left: -50%;
  top: -50%;
  animation: noise 1.2s steps(3) infinite both;
  pointer-events: none;
  will-change: auto;
  z-index: 5100; }

@keyframes noise {
  0% {
    transform: translate3d(1%, -1%, 0); }
  10% {
    transform: translate3d(-5%, -2%, 0); }
  20% {
    transform: translate3d(10%, 5%, 0); }
  30% {
    transform: translate3d(5%, -11%, 0); }
  40% {
    transform: translate3d(-12%, -5%, 0); }
  50% {
    transform: translate3d(10%, 9%, 0); }
  60% {
    transform: translate3d(15%, 0, 0); }
  70% {
    transform: translate3d(-10%, 8%, 0); }
  80% {
    transform: translate3d(10%, 2%, 0); }
  90% {
    transform: translate3d(1%, 5%, 0); }
  to {
    transform: translate3d(0, 8%, 0); } }
ol {
  list-style: decimal;
  padding-left: 23px; }

.mod_container {
  display: flex;
  width: 100%;
  margin: auto;
  position: relative;
  z-index: 10;
  padding: 0 calc(60 / 1920 * 100vw); }
  @media (max-width: 1900px) {
    .mod_container {
      padding: 20px calc(60 / 1920 * 100vw); } }
  @media (max-width: 1280px) {
    .mod_container {
      padding: 20px calc(40 / 1366 * 100vw); } }
  @media (max-width: 1024px) {
    .mod_container {
      padding: 20px calc(40 / 768 * 100vw); } }
  @media (max-width: 991px) {
    .mod_container {
      padding: 20px calc(40 / 768 * 100vw); } }
  @media (max-width: 575px) {
    .mod_container {
      padding: 0 20px; } }
  .mod_container.beetween {
    justify-content: space-between; }
  .mod_container.column_direction {
    flex-direction: column; }
  .mod_container.mod_container_boxed {
    max-width: 1600px; }
  .mod_container.mod_container_boxed_1600 {
    max-width: 1600px; }
  .mod_container.mod_container_boxed_1400 {
    max-width: 1400px; }

img {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  object-fit: cover; }

.hidden_vp {
  opacity: 0; }

.visible_vp {
  opacity: 1; }

.wp-post-image {
  width: 100%;
  height: auto; }

img.ajax-loader {
  width: auto; }

.aligncenter {
  margin: 0 auto; }

.alignleft {
  float: left;
  margin-right: 35px; }

.alignright {
  float: right;
  margin-left: 35px; }

.no_lateral_left {
  padding-left: 0px !important; }

.no_lateral_padding {
  padding-left: 0px !important;
  padding-right: 0px !important; }

.no_margin {
  margin: 0 !important; }

.padding_5 {
  padding-left: 5px !important;
  padding-right: 5px !important; }

span.wpcf7-not-valid-tip {
  color: #f00;
  font-size: 8px;
  display: block;
  z-index: 200;
  top: 19px;
  right: 10px; }

.wpcf7-form {
  padding: 30px;
  background-color: #EFEFEF;
  border-radius: 30px; }
  .wpcf7-form .flexHorizontal {
    justify-content: space-between;
    gap: calc(20 / 1920 * 100vw);
    margin-bottom: calc(20 / 1920 * 100vw);
    margin-top: calc(20 / 1920 * 100vw); }
    @media (max-width: 991px) {
      .wpcf7-form .flexHorizontal {
        gap: calc(16 / 768 * 100vw);
        margin-bottom: calc(16 / 768 * 100vw);
        margin-top: calc(16 / 768 * 100vw); } }
    @media (max-width: 575px) {
      .wpcf7-form .flexHorizontal {
        gap: calc(12 / 360 * 100vw);
        margin-bottom: calc(12 / 360 * 100vw);
        margin-top: calc(12 / 360 * 100vw); } }
    .wpcf7-form .flexHorizontal.flexHorizontal_age_hide {
      margin: 0; }
      .wpcf7-form .flexHorizontal.flexHorizontal_age_hide div {
        margin-bottom: calc(20 / 1920 * 100vw); }
        @media (max-width: 991px) {
          .wpcf7-form .flexHorizontal.flexHorizontal_age_hide div {
            margin-bottom: calc(16 / 768 * 100vw); } }
        @media (max-width: 575px) {
          .wpcf7-form .flexHorizontal.flexHorizontal_age_hide div {
            margin-bottom: calc(12 / 360 * 100vw); } }
    .wpcf7-form .flexHorizontal.flexHorizontal_no_margin_top {
      margin-top: 0; }
    .wpcf7-form .flexHorizontal.flexHorizontal_col {
      flex-direction: column; }
    .wpcf7-form .flexHorizontal > * {
      width: 100%; }
  .wpcf7-form .intl-tel-input {
    width: 100%; }
  .wpcf7-form .wpcf7-radio {
    display: flex;
    align-items: center;
    gap: 20px; }
  .wpcf7-form label {
    display: block;
    font-weight: normal;
    margin-bottom: 5px;
    font-size: 14px; }
  .wpcf7-form input {
    font-size: 14px; }
  .wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form input[type=number], .wpcf7-form input[type=date], .wpcf7-form textarea {
    width: 100%;
    border: none;
    color: #606060;
    border-radius: 10px;
    height: 70px;
    box-sizing: border-box;
    /* Opera/IE 8+ */
    padding: 0 20px;
    background-color: #fff;
    font-family: "Quicksand", sans-serif;
    letter-spacing: .2px; }
    .wpcf7-form input[type=text]:active, .wpcf7-form input[type=text]:focus, .wpcf7-form input[type=text]:hover, .wpcf7-form input[type=email]:active, .wpcf7-form input[type=email]:focus, .wpcf7-form input[type=email]:hover, .wpcf7-form input[type=tel]:active, .wpcf7-form input[type=tel]:focus, .wpcf7-form input[type=tel]:hover, .wpcf7-form input[type=number]:active, .wpcf7-form input[type=number]:focus, .wpcf7-form input[type=number]:hover, .wpcf7-form input[type=date]:active, .wpcf7-form input[type=date]:focus, .wpcf7-form input[type=date]:hover, .wpcf7-form textarea:active, .wpcf7-form textarea:focus, .wpcf7-form textarea:hover {
      outline: none; }
  .wpcf7-form textarea {
    font-size: 14px;
    height: 150px;
    padding: 20px; }
    .wpcf7-form textarea:active, .wpcf7-form textarea:focus, .wpcf7-form textarea:hover {
      outline: none; }
  .wpcf7-form select {
    width: 100%;
    border: none;
    color: #606060;
    border-radius: 10px;
    height: 70px;
    letter-spacing: .2px;
    text-transform: uppercase;
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;
    /* Opera/IE 8+ */
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0 20px;
    background-color: #fff;
    font-size: 14px;
    background-repeat: no-repeat;
    font-family: "Quicksand", sans-serif;
    background-image: url("../images/dropdown.svg");
    background-position: 98% center;
    background-size: 50px;
    cursor: pointer;
    outline: none !important; }
  .wpcf7-form input[type=checkbox] {
    float: left;
    margin-right: 10px;
    margin-top: 0;
    position: relative;
    top: -2px; }
  .wpcf7-form .content_bottone {
    text-align: right;
    width: auto; }
    @media (max-width: 575px) {
      .wpcf7-form .content_bottone {
        margin: auto;
        width: 100%; } }
  .wpcf7-form input[type=submit] {
    border: none;
    display: inline-block;
    background-color: #34BDC2;
    color: #fff;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 15px;
    text-decoration: none;
    height: 70px;
    padding: 0 40px;
    letter-spacing: 1px;
    z-index: 100;
    text-align: center;
    cursor: pointer;
    margin-top: 15px;
    transition: .3s;
    width: 250px;
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 14px;
    line-height: 1em; }
    .wpcf7-form input[type=submit]:hover {
      background-color: #32D8DE;
      color: #fff; }
    @media (max-width: 575px) {
      .wpcf7-form input[type=submit] {
        width: 100%;
        min-width: 100%;
        padding: 0;
        display: block;
        margin: auto; } }
  .wpcf7-form .accetto {
    font-size: 13px;
    position: relative;
    font-family: "Quicksand", sans-serif;
    top: -5px;
    color: #606060;
    text-decoration: none; }
    .wpcf7-form .accetto:hover {
      color: #606060;
      text-decoration: underline !important; }
  .wpcf7-form span.wpcf7-list-item {
    margin: 0 0 0 0; }

strong {
  font-weight: bold; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

a {
  transition: color 300ms ease 0s, background-color 300ms ease 0s, opacity 300ms ease 0s;
  transition-property: color, background-color, opacity;
  transition-duration: 300ms, 300ms, 300ms;
  transition-timing-function: ease, ease, ease;
  transition-delay: 0s, 0s, 0s;
  color: #606060;
  text-decoration: none; }
  a:hover {
    color: #34BDC2;
    outline: none !important;
    text-decoration: none !important; }

a:active {
  outline: none !important; }

a:focus {
  outline: none !important; }

header, nav, article, aside, section, footer, main figure, figcaption, hgroup {
  display: block; }

.clearfix:before, .clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

.bk {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.effect_hover img {
  transform: translate(0);
  -ms-transform: translate(0);
  -moz-transform: translate(0);
  -webkit-transform: translate(0);
  -o-transform: translate(0);
  transition: .3s; }
  .effect_hover img:hover {
    text-decoration: none;
    box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
    transform: translate(0, -10px);
    -ms-transform: translate(0, -10px);
    -moz-transform: translate(0, -10px);
    -webkit-transform: translate(0, -10px);
    -o-transform: translate(0, -10px); }
    @media (max-width: 1024px) {
      .effect_hover img:hover {
        transform: translate(0);
        -ms-transform: translate(0);
        -moz-transform: translate(0);
        -webkit-transform: translate(0);
        -o-transform: translate(0);
        box-shadow: none; } }

div.wpcf7 div.wpcf7-response-output {
  border-color: #606060 !important;
  background-color: #606060;
  color: #fff;
  font-size: 20px;
  font-weight: 300;
  text-align: center;
  padding: 20px;
  margin: 20px 0; }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.paginazione {
  text-align: center; }
  .paginazione a {
    margin: 0 5px; }
  .paginazione span {
    margin: 0 5px; }

.privacy {
  font-size: 12px;
  color: #fff; }

#big_main {
  position: absolute;
  height: 100%;
  width: 100%; }

.ajax-loader {
  position: absolute; }

.swiper {
  width: 100%; }
  .swiper.slide_big, .swiper.slide_big_2, .swiper.slide_small {
    overflow: visible; }
  .swiper .swiper-wrapper {
    width: 100%; }

.btn {
  outline: none !important; }

.wpcf7 {
  text-align: left; }
  .wpcf7 br {
    display: none; }

.fixed_body {
  width: 100%;
  position: fixed; }

.hide_label .wpcf7-list-item-label {
  display: none; }

.hidden_label {
  visibility: hidden; }

.map-wrap {
  margin-top: 40px;
  padding-top: 0;
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden; }
  @media (max-width: 991px) {
    .map-wrap {
      height: 450px;
      padding-top: 0;
      padding-bottom: 0;
      margin-top: 20px; } }
  .map-wrap iframe {
    width: 100%;
    border-radius: 20px; }

.cover_mappa {
  position: absolute;
  width: calc(100% - 40px);
  height: 100%;
  border-radius: 20px;
  inset: 0;
  left: 20px; }

#map_contatti {
  height: 100% !important; }

.object_image {
  overflow: hidden;
  width: 100%;
  margin-bottom: 0; }
  .object_image img {
    display: flex;
    object-fit: cover;
    width: 100%;
    height: 100%; }

.gallery_orizzontale .swiper-wrapper a, .gallery_orizzontale_2 .swiper-wrapper a {
  display: block;
  height: 340px; }
  @media (max-width: 1600px) {
    .gallery_orizzontale .swiper-wrapper a, .gallery_orizzontale_2 .swiper-wrapper a {
      height: 340px; } }
  @media (max-width: 1280px) {
    .gallery_orizzontale .swiper-wrapper a, .gallery_orizzontale_2 .swiper-wrapper a {
      height: 300px; } }
  @media (max-width: 991px) {
    .gallery_orizzontale .swiper-wrapper a, .gallery_orizzontale_2 .swiper-wrapper a {
      height: 340px; } }
  @media (max-width: 575px) {
    .gallery_orizzontale .swiper-wrapper a, .gallery_orizzontale_2 .swiper-wrapper a {
      height: 340px; } }
.gallery_orizzontale .swiper-wrapper h4, .gallery_orizzontale_2 .swiper-wrapper h4 {
  margin-top: 10px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.5em;
  color: #fff; }

.gallery_orizzontale_2 .swiper-wrapper h4 {
  color: #606060; }

.ui-timepicker-disabled {
  display: none !important; }

.fancybox-active {
  height: inherit; }

.all_link {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; }

.attachment_scroll {
  background-attachment: fixed; }
  @supports (-webkit-overflow-scrolling: touch) {
    .attachment_scroll {
      background-attachment: scroll; } }

.grecaptcha-badge {
  display: none !important; }

.error404 {
  background: #777;
  height: 100vh; }

/* Classe per le sezioni full-height */
.full-viewport {
  min-height: 100vh;
  min-height: 100dvh; }

.wrap {
  position: relative;
  z-index: 10;
  overflow: hidden;
  width: calc(100%);
  min-height: 100vh;
  min-height: 100dvh; }
  .wrap.middle_height {
    min-height: 50vh;
    min-height: 60dvh; }
    .wrap.middle_height::before {
      height: 100%; }
    .wrap.middle_height .content_text_slide .inner {
      padding-top: 140px; }
    @media (max-width: 1600px) {
      .wrap.middle_height {
        height: 500px; } }
  .wrap::before {
    content: '';
    display: block;
    position: absolute;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    border-radius: 40px 40px 0 0;
    height: 200px;
    background: linear-gradient(#000 0%, rgba(131, 129, 123, 0) 100%);
    opacity: 0.1;
    z-index: 100; }
    @media (max-width: 1280px) {
      .wrap::before {
        width: 100%;
        border-radius: 0;
        inset: 0; } }
  @media (max-width: 575px) {
    .wrap {
      min-height: 100vh;
      min-height: 100dvh; } }
  .wrap .scroller_line {
    z-index: 1000;
    background-color: #fff; }
    .wrap .scroller_line .arrow_down {
      background-color: #34BDC2; }
  .wrap .breve_descrizione_box {
    position: absolute;
    z-index: 400;
    bottom: 104px;
    left: 40px;
    text-align: left; }
    @media (max-width: 991px) {
      .wrap .breve_descrizione_box {
        left: 15px; } }
    @media (max-width: 575px) {
      .wrap .breve_descrizione_box {
        position: static;
        text-align: center; } }
    .wrap .breve_descrizione_box p {
      font-weight: 300;
      font-size: 14px;
      line-height: 20px;
      color: #fff;
      margin-bottom: 0; }
      @media (max-width: 575px) {
        .wrap .breve_descrizione_box p {
          margin-bottom: 20px; } }
  .wrap .multi_slide {
    position: absolute;
    /*width: 100%;
    height: 100%;
    top: 0;
    left: 0;*/
    z-index: 11;
    overflow: hidden;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    top: 20px;
    left: 20px;
    border-radius: 40px; }
    @media (max-width: 1280px) {
      .wrap .multi_slide {
        border-radius: 0;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0; } }
    .wrap .multi_slide picture {
      margin: 0;
      height: 100%;
      overflow: hidden; }
      .wrap .multi_slide picture img {
        display: flex;
        object-fit: cover;
        width: 100%;
        height: 100%;
        object-position: center center; }
  .wrap .content_text_slide {
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 180px 0;
    padding: 180px 0; }
    .wrap .content_text_slide.align_top {
      align-items: flex-start; }
    .wrap .content_text_slide.align_left {
      align-items: flex-start; }
    .wrap .content_text_slide.align_right {
      align-items: flex-end; }
    .wrap .content_text_slide.align_center {
      align-items: center; }
    .wrap .content_text_slide.align_bottom {
      align-items: flex-end; }
    .wrap .content_text_slide.justify_left {
      justify-content: left; }
    .wrap .content_text_slide.justify_right {
      justify-content: right; }
    .wrap .content_text_slide.justify_center {
      justify-content: center; }
    .wrap .content_text_slide.justify_between {
      justify-content: space-between; }
    .wrap .content_text_slide .inner {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      z-index: 100;
      max-width: 1200px;
      padding-top: 60px; }
      @media (max-width: 991px) {
        .wrap .content_text_slide .inner {
          padding-top: 60px; } }
  .wrap .box_slide {
    opacity: 1;
    position: relative;
    max-width: 1000px;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    transition: .3s; }
    @media (max-width: 1280px) {
      .wrap .box_slide {
        padding: 0 40px; } }
    @media (max-width: 991px) {
      .wrap .box_slide {
        padding: 0 20px; } }
    .wrap .box_slide .bread_crumb, .wrap .box_slide .woocommerce-breadcrumb {
      margin-bottom: 30px;
      z-index: 200;
      position: relative; }
      .wrap .box_slide .bread_crumb span, .wrap .box_slide .bread_crumb a, .wrap .box_slide .woocommerce-breadcrumb span, .wrap .box_slide .woocommerce-breadcrumb a {
        font-size: 16px;
        text-decoration: none;
        color: #fff; }
      .wrap .box_slide .bread_crumb a:hover, .wrap .box_slide .woocommerce-breadcrumb a:hover {
        text-decoration: underline; }
    .wrap .box_slide .content_breadcrumbs {
      display: flex;
      align-items: center; }
      @media (max-width: 575px) {
        .wrap .box_slide .content_breadcrumbs {
          flex-direction: column;
          align-items: flex-start; } }
      .wrap .box_slide .content_breadcrumbs .bread_crumb a, .wrap .box_slide .content_breadcrumbs .bread_crumb span {
        color: #fff;
        font-weight: normal;
        font-size: 14px;
        letter-spacing: 0.20em;
        line-height: 32px;
        text-transform: uppercase; }
        @media (max-width: 575px) {
          .wrap .box_slide .content_breadcrumbs .bread_crumb a, .wrap .box_slide .content_breadcrumbs .bread_crumb span {
            letter-spacing: 0.15em; } }
    .wrap .box_slide .scroll_to {
      text-decoration: none;
      font-weight: 300; }
      .wrap .box_slide .scroll_to:hover {
        text-decoration: none; }
    .wrap .box_slide .link {
      margin-top: 0;
      margin-bottom: 20px;
      opacity: 0; }

.wrap_only_text {
  padding-top: 200px;
  padding-bottom: 60px; }

.video-hero {
  position: absolute;
  overflow: hidden;
  z-index: 13;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  top: 20px;
  left: 20px;
  border-radius: 40px; }
  @media (max-width: 1280px) {
    .video-hero {
      border-radius: 0;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; } }
  .video-hero #video_hero_media {
    object-fit: cover;
    width: 100vw;
    height: 110vh;
    position: relative;
    top: 0;
    left: 0; }

.slider_container.no_content_before:before {
  content: none; }
.slider_container:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .2;
  background: #000;
  z-index: 100; }
.slider_container.custom_layer:before {
  height: 48%;
  top: auto;
  left: 20px;
  width: calc(100% - 40px);
  border-radius: 40px;
  bottom: 20px;
  opacity: .4;
  background: linear-gradient(to top, #000 0%, rgba(131, 129, 123, 0) 100%); }
  @media (max-width: 1280px) {
    .slider_container.custom_layer:before {
      bottom: 0;
      width: 100%;
      left: 0;
      border-radius: 0; } }

.content_circle {
  position: absolute;
  z-index: 1000;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  height: 120px;
  bottom: 20px;
  overflow: hidden; }
  @media (max-width: 1280px) {
    .content_circle {
      bottom: 0; } }

.motion-circle-wrapper {
  width: 250px;
  height: 250px;
  display: inline-block;
  position: relative; }
  .motion-circle-wrapper .sketch {
    height: 20px;
    top: 88px; }
  .motion-circle-wrapper .circle_svg {
    width: 100%;
    height: 100%;
    overflow: visible; }
  .motion-circle-wrapper a {
    text-transform: uppercase;
    position: absolute;
    text-align: center;
    left: 0;
    width: 100%;
    top: 64px;
    color: #fff;
    font-size: 16px;
    line-height: 110%; }
  .motion-circle-wrapper .scroll_to_section {
    display: block;
    text-transform: uppercase;
    position: absolute;
    text-align: center;
    left: 0;
    width: 100%;
    top: 64px;
    color: #fff;
    font-size: 16px;
    line-height: 110%; }
  .motion-circle-wrapper .cerchio-pieno {
    fill: #34BDC2; }
  .motion-circle-wrapper .arco {
    fill: none;
    stroke: #34BDC2;
    stroke-width: 6px;
    stroke-linecap: round;
    stroke-dasharray: 180 600; }

.tracciato_wrapper_slider {
  height: 15px;
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  position: absolute;
  top: 105px;
  left: calc(50% - 1px); }
  .tracciato_wrapper_slider svg {
    display: block;
    width: auto;
    overflow: visible; }

.single-post .content_circle, .page-template-template-single-page .content_circle {
  display: none; }
.single-post .global_page, .page-template-template-single-page .global_page {
  margin-bottom: 0; }
.single-post .wrap, .page-template-template-single-page .wrap {
  min-height: 50vh;
  min-height: 50dvh; }
.single-post .sezione_approfondimento .sezione_contatti, .page-template-template-single-page .sezione_approfondimento .sezione_contatti {
  padding-top: 60px;
  padding-bottom: 0; }

.page-template-template-contatti .wrap_global_container::before, .page-template-template-job .wrap_global_container::before, .page-template-template-neutro .wrap_global_container::before {
  display: none; }

.blog .wrap_global_container::before, .category .wrap_global_container::before, .tag .wrap_global_container::before {
  inset: 0;
  border-radius: 0;
  width: 100%; }

.btx-button {
  margin-top: 30px; }

.link, .btx-button {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  align-items: center; }
  .link.centra, .btx-button.centra {
    text-align: center; }
  .link.link_more span, .btx-button.link_more span {
    border: none;
    padding: 0;
    border-radius: 0; }
    .link.link_more span:hover, .btx-button.link_more span:hover {
      background-color: transparent;
      box-shadow: none; }
  .link a, .link span, .link button, .btx-button a, .btx-button span, .btx-button button {
    font-family: "Quicksand", sans-serif;
    font-weight: bold;
    font-size: 14px;
    line-height: 1em;
    color: #fff;
    border: none;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    transition: .3s;
    padding: 0 60px;
    letter-spacing: 0.02em;
    overflow: hidden;
    position: relative;
    background-color: #34BDC2;
    text-decoration: none !important;
    text-transform: uppercase;
    gap: 5px;
    height: 60px; }
    @media (max-width: 1280px) {
      .link a, .link span, .link button, .btx-button a, .btx-button span, .btx-button button {
        height: 55px; } }
    .link a::before, .link span::before, .link button::before, .btx-button a::before, .btx-button span::before, .btx-button button::before {
      content: "";
      position: absolute;
      height: 100%;
      width: 0;
      background: #fff;
      left: 0;
      bottom: 0;
      transition: all .3s;
      opacity: 0.1; }
    .link a:hover, .link span:hover, .link button:hover, .btx-button a:hover, .btx-button span:hover, .btx-button button:hover {
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      background-color: #32D8DE; }
      .link a:hover::before, .link span:hover::before, .link button:hover::before, .btx-button a:hover::before, .btx-button span:hover::before, .btx-button button:hover::before {
        width: 100%; }
    .link a:focus, .link span:focus, .link button:focus, .btx-button a:focus, .btx-button span:focus, .btx-button button:focus {
      text-decoration: none;
      outline: 0 !important; }
    .link a.white_link, .link span.white_link, .link button.white_link, .btx-button a.white_link, .btx-button span.white_link, .btx-button button.white_link {
      background-color: #fff;
      backdrop-filter: none;
      color: #606060;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02), 0 2px 10px rgba(0, 0, 0, 0.02); }
      .link a.white_link:hover, .link span.white_link:hover, .link button.white_link:hover, .btx-button a.white_link:hover, .btx-button span.white_link:hover, .btx-button button.white_link:hover {
        background-color: #32D8DE;
        color: #fff; }
      .link a.white_link:active, .link span.white_link:active, .link button.white_link:active, .btx-button a.white_link:active, .btx-button span.white_link:active, .btx-button button.white_link:active {
        background-color: #fff;
        color: #606060 !important; }
    .link a.full_black_link, .link span.full_black_link, .link button.full_black_link, .btx-button a.full_black_link, .btx-button span.full_black_link, .btx-button button.full_black_link {
      background-color: #606060; }
      .link a.full_black_link:hover, .link span.full_black_link:hover, .link button.full_black_link:hover, .btx-button a.full_black_link:hover, .btx-button span.full_black_link:hover, .btx-button button.full_black_link:hover {
        background-color: black; }
  .link.dark_link a, .btx-button.dark_link a {
    background-color: #32898D; }
    .link.dark_link a::before, .btx-button.dark_link a::before {
      background: #1C1C1C; }
    .link.dark_link a:hover::before, .btx-button.dark_link a:hover::before {
      width: 100%; }
  .link.colored a, .btx-button.colored a {
    background-color: #34BDC2; }
    .link.colored a:hover, .btx-button.colored a:hover {
      background-color: #32D8DE;
      color: #fff; }

.link_centro {
  margin: auto;
  max-width: 250px; }

.title_link span::before {
  content: none !important; }

.link_alternativo {
  margin-top: 50px; }
  .link_alternativo.centra {
    text-align: center; }
  .link_alternativo a, .link_alternativo span, .link_alternativo button {
    color: #606060;
    text-align: center;
    text-transform: uppercase;
    background-color: transparent;
    height: 70px;
    line-height: 70px;
    padding: 0;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none !important;
    display: inline-block;
    border: none;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    letter-spacing: .4px;
    position: relative;
    transition: .3s; }
    .link_alternativo a::before, .link_alternativo span::before, .link_alternativo button::before {
      width: 110px;
      height: 2px;
      background-color: #34BDC2;
      position: absolute;
      display: block;
      content: '';
      top: 0;
      left: 50%;
      margin-left: -55px; }
    .link_alternativo a::after, .link_alternativo span::after, .link_alternativo button::after {
      width: 110px;
      height: 2px;
      background-color: #34BDC2;
      position: absolute;
      display: block;
      content: '';
      bottom: 0;
      left: 50%;
      margin-left: -55px; }
    .link_alternativo a:hover, .link_alternativo span:hover, .link_alternativo button:hover {
      text-decoration: none;
      cursor: pointer;
      color: #34BDC2; }
    .link_alternativo a:focus, .link_alternativo span:focus, .link_alternativo button:focus {
      text-decoration: none;
      outline: 0 !important; }

.simple_link {
  margin-top: 24px; }
  .simple_link a {
    font-weight: 700;
    font-size: 13px;
    line-height: 35px;
    text-transform: uppercase;
    letter-spacing: .2px;
    text-decoration: none !important;
    margin: 0 10px; }
    @media (max-width: 575px) {
      .simple_link a {
        display: block;
        margin: 10px; } }
    .simple_link a i {
      position: relative;
      top: 0;
      font-size: 10px; }
    .simple_link a:hover {
      text-decoration: none !important;
      color: #32898D; }

.booking_link a {
  font-weight: 700;
  font-size: 13px;
  line-height: 35px;
  text-transform: uppercase;
  letter-spacing: .2px;
  text-decoration: none !important;
  margin: 0 10px; }
  @media (max-width: 575px) {
    .booking_link a {
      display: block;
      margin: 10px; } }
  .booking_link a i {
    position: relative;
    top: 0;
    font-size: 10px; }
  .booking_link a:hover {
    text-decoration: none !important;
    color: #32898D; }

button, .button_div {
  background-color: transparent;
  border: none; }
  button:active, button:focus, .button_div:active, .button_div:focus {
    outline: none; }
  button a, .button_div a {
    font-family: "Quicksand", sans-serif;
    white-space: nowrap;
    color: #fff;
    display: flex;
    align-items: center;
    gap: calc(20 / 1920 * 100vw);
    border: 1px solid #fff;
    border-radius: 999px;
    padding: calc(18 / 1920 * 100vw) calc(25 / 1920 * 100vw) calc(18 / 1920 * 100vw) calc(50 / 1920 * 100vw);
    transition: color .4s ease-in-out, background-color .4s ease-in-out;
    font-size: calc(18 / 1920 * 100vw); }
    @media (max-width: 1280px) {
      button a, .button_div a {
        font-size: sizeL(18); } }
    @media (max-width: 991px) {
      button a, .button_div a {
        font-size: sizeM(12);
        padding: sizeM(5) sizeM(15) sizeM(5) sizeM(20); } }
    @media (max-width: 575px) {
      button a, .button_div a {
        font-size: sizeS(10);
        padding: sizeS(5) sizeS(15) sizeS(5) sizeS(20); } }
    button a:hover, .button_div a:hover {
      background-color: #fff;
      color: #34BDC2; }
    button a svg, .button_div a svg {
      width: calc(20 / 1920 * 100vw);
      transform: rotate(-90deg); }
      @media (max-width: 991px) {
        button a svg, .button_div a svg {
          width: sizeM(10); } }
      @media (max-width: 575px) {
        button a svg, .button_div a svg {
          width: sizeS(10); } }

.button_link a {
  font-family: "Quicksand", sans-serif;
  white-space: nowrap;
  color: #32898D;
  display: flex;
  align-items: center;
  gap: calc(20 / 1920 * 100vw);
  border: 1px solid #32898D;
  border-radius: 999px;
  padding: calc(18 / 1920 * 100vw) calc(25 / 1920 * 100vw);
  transition: color .4s ease-in-out, background-color .4s ease-in-out;
  max-width: 250px;
  text-align: center;
  justify-content: center;
  margin: 40px auto 0;
  font-size: calc(18 / 1920 * 100vw); }
  @media (max-width: 1280px) {
    .button_link a {
      font-size: sizeL(18); } }
  @media (max-width: 991px) {
    .button_link a {
      font-size: sizeM(12);
      padding: sizeM(5) sizeM(15); } }
  @media (max-width: 575px) {
    .button_link a {
      font-size: sizeS(10);
      padding: sizeS(5) sizeS(15); } }
  .button_link a:active, .button_link a:focus {
    outline: none; }
  .button_link a:hover {
    background-color: #32898D;
    color: #fff; }
    .button_link a:hover svg path {
      fill: #fff; }
  .button_link a svg {
    width: calc(20 / 1920 * 100vw);
    transform: rotate(-90deg); }
    .button_link a svg path {
      fill: #32898D; }
    @media (max-width: 991px) {
      .button_link a svg {
        width: sizeM(10); } }
    @media (max-width: 575px) {
      .button_link a svg {
        width: sizeS(10); } }

.group_link {
  display: flex;
  gap: 20px;
  margin-top: calc(50 / 1920 * 100vw);
  margin-bottom: calc(40 / 1920 * 100vw); }
  @media (max-width: 991px) {
    .group_link {
      flex-direction: column;
      height: 100%;
      gap: 0;
      margin-top: 60px; }
      .group_link .group_link_wrap {
        width: 100%;
        max-width: 100%; } }
  @media (max-width: 575px) {
    .group_link {
      margin-top: 35px; } }
  .group_link .link {
    width: auto;
    min-width: 250px;
    text-align: center;
    justify-content: center; }
    @media (max-width: 1024px) {
      .group_link .link {
        min-width: 85%;
        justify-content: flex-start; } }

.plus_link a {
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  position: relative;
  overflow: hidden; }
  @media (max-width: 991px) {
    .plus_link a {
      width: 45px;
      height: 45px;
      border: 1px solid #fff; }
      .plus_link a svg {
        width: 18px; } }
  .plus_link a svg {
    transition: all .3s; }
  .plus_link a::before {
    border-radius: 50%;
    content: "";
    position: absolute;
    height: 100%;
    width: 0;
    background-color: #34BDC2;
    left: 0;
    bottom: 0;
    transition: all .3s;
    opacity: 1;
    background-image: url("../images/plus.svg");
    background-repeat: no-repeat;
    background-position: center; }
    @media (max-width: 991px) {
      .plus_link a::before {
        background-size: 18px; } }
  .plus_link a:hover svg {
    transform: translate(200%); }
  .plus_link a:hover::before {
    width: 100%; }

.plus_button_link {
  margin-top: 40px;
  border-radius: 50%;
  backdrop-filter: blur(30px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.1); }
  .plus_button_link span {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    transition: .3s; }
    @media (max-width: 991px) {
      .plus_button_link span {
        width: 45px;
        height: 45px; }
        .plus_button_link span svg {
          width: 18px; } }
    .plus_button_link span svg {
      transition: all .3s; }
    .plus_button_link span:hover, .plus_button_link span:active {
      background-color: #32898D; }

.back_to_top_site, .back_to_start_3d {
  position: absolute;
  right: 40px;
  z-index: 100;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: -80px; }
  .back_to_top_site button, .back_to_start_3d button {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    background-color: #34BDC2;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    cursor: pointer; }
    @media (max-width: 991px) {
      .back_to_top_site button, .back_to_start_3d button {
        width: 45px;
        height: 45px;
        border: 1px solid #fff; }
        .back_to_top_site button svg, .back_to_start_3d button svg {
          width: 18px; } }
    .back_to_top_site button svg, .back_to_start_3d button svg {
      transition: all .3s; }
    .back_to_top_site button::before, .back_to_start_3d button::before {
      border-radius: 50%;
      content: "";
      position: absolute;
      height: 100%;
      width: 0;
      background-color: #34BDC2;
      left: 0;
      bottom: 0;
      transition: all .3s;
      opacity: 1;
      background-image: url("../images/arrow-up.svg");
      background-repeat: no-repeat;
      background-position: center; }
      @media (max-width: 991px) {
        .back_to_top_site button::before, .back_to_start_3d button::before {
          background-size: 18px; } }
    .back_to_top_site button:hover, .back_to_start_3d button:hover {
      background-color: #32898D; }
      .back_to_top_site button:hover svg, .back_to_start_3d button:hover svg {
        transform: translate(200%); }
      .back_to_top_site button:hover::before, .back_to_start_3d button:hover::before {
        width: 100%; }

.pulse {
  animation: pulse-animation 2s infinite; }

@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0px rgba(255, 255, 255, 0.2); }
  100% {
    box-shadow: 0 0 0 30px rgba(255, 255, 255, 0); } }
.menu-open {
  margin: 0 25px;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  z-index: 150;
  display: none; }
  @media (max-width: 1280px) {
    .menu-open {
      display: flex; } }
  .menu-open svg {
    width: 25px; }

#toggle {
  width: 60px;
  height: 40px;
  cursor: pointer;
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  opacity: .8;
  transition: .3s; }
  @media (max-width: 575px) {
    #toggle {
      width: 40px; } }
  @media (min-width: 1280px) {
    #toggle:hover span:before {
      margin: -12px 0 0 0; }
    #toggle:hover span:after {
      margin: 12px 0 0 0; } }
  #toggle span {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    border-radius: 0;
    margin: 0;
    background: #fff;
    transition: 350ms ease all; }
    #toggle span:before, #toggle span:after {
      content: " ";
      position: absolute;
      width: 100%;
      height: 2px;
      background: #fff;
      transition: .3s; }
    #toggle span:before {
      margin: -10px 0 0 0; }
    #toggle span:after {
      margin: 10px 0 0 0; }
  #toggle.open span {
    background-color: transparent; }
    #toggle.open span:before, #toggle.open span:after {
      margin: 0; }
    #toggle.open span:before {
      transform: rotate(135deg); }
    #toggle.open span:after {
      transform: rotate(-135deg); }

.menu_is_open {
  position: fixed;
  width: 100%; }
  .menu_is_open #toggle span {
    background-color: transparent; }
    .menu_is_open #toggle span:before, .menu_is_open #toggle span:after {
      margin: 0; }
    .menu_is_open #toggle span:before {
      transform: rotate(135deg); }
    .menu_is_open #toggle span:after {
      transform: rotate(-135deg); }

.fixed_body {
  overflow: hidden;
  width: 100%; }

header {
  display: flex;
  position: absolute;
  width: 100%;
  z-index: 120;
  font-family: "Quicksand", sans-serif;
  line-height: 1em;
  transition: all 0.5s linear;
  transform: translateY(0);
  overflow: hidden;
  top: 40px;
  will-change: transform; }
  header.header-hidden {
    transform: translateY(-100px); }
  header.remove_header {
    transform: translateY(-300px); }
  header.header-invert .grid_header {
    background-color: rgba(52, 189, 194, 0.9); }
  @media (max-width: 1280px) {
    header {
      top: 20px; } }
  @media (max-width: 991px) {
    header {
      padding: 0;
      font-size: calc(16 / 768 * 100vw); } }
  @media (max-width: 575px) {
    header {
      font-size: calc(10 / 360 * 100vw); } }
  header .mod_container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 calc(40 / 1920 * 100vw); }
    @media (max-width: 1900px) {
      header .mod_container {
        padding: 0 calc(40 / 1920 * 100vw); } }
    @media (max-width: 1280px) {
      header .mod_container {
        padding: 0 calc(40 / 1920 * 100vw); } }
    @media (max-width: 991px) {
      header .mod_container {
        padding: 0px calc(20 / 768 * 100vw); } }
  header .grid_header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(18px);
    background-color: rgba(255, 255, 255, 0.18);
    height: 70px;
    max-width: 1400px;
    padding: 0 40px;
    padding-right: 6px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    outline: 1px solid rgba(255, 255, 255, 0.1); }
  header .side_a, header .side_b, header .side_c {
    width: 250px;
    display: flex;
    align-items: center; }
    @media (max-width: 991px) {
      header .side_a, header .side_b, header .side_c {
        width: auto; } }
  header .side_b {
    width: calc(100% - 500px); }
    @media (max-width: 991px) {
      header .side_b {
        display: none; } }
  header .side_c {
    position: relative; }
    @media (max-width: 575px) {
      header .side_c .select_language, header .side_c .link_contatti {
        display: none; } }
  @media (max-width: 1024px) {
    header .select_service {
      display: none; } }
  header .link_contatti {
    margin-left: 40px; }
  header .bread_crumb_custom {
    display: flex;
    align-items: center; }
    @media (max-width: 991px) {
      header .bread_crumb_custom {
        flex-direction: column;
        text-align: left;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 16px; }
        header .bread_crumb_custom .remove_mobile {
          display: none; } }
    header .bread_crumb_custom span {
      font-family: "Quicksand", sans-serif;
      font-weight: normal;
      font-size: 14px;
      line-height: 16px;
      color: #fff;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      gap: 5px; }
      header .bread_crumb_custom span.linea {
        margin: 0 10px; }
  header .side_b {
    justify-content: center; }
  header .side_c {
    justify-content: flex-end; }
    header .side_c .menu {
      display: flex;
      align-items: center;
      gap: 35px; }
      @media (max-width: 1280px) {
        header .side_c .menu {
          display: none; } }
      header .side_c .menu li {
        flex: unset; }
        header .side_c .menu li.current-menu-item a {
          color: #34BDC2; }
  header a {
    font-family: "Quicksand", sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 16px;
    color: #fff;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px; }
  header label {
    font-family: "Quicksand", sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 16px;
    color: #9D9D9D;
    text-transform: uppercase;
    display: flex;
    align-items: center; }
  header #toggle {
    cursor: pointer; }
    @media (max-width: 575px) {
      header #toggle svg {
        width: 59px;
        height: 59px; } }

.open_navigation_menu .link_video {
  opacity: 0; }

.footer_quick_link, .footer_quick_link_mobile {
  display: flex;
  position: absolute;
  bottom: 50px;
  width: 100%;
  z-index: 120;
  font-family: "Quicksand", sans-serif;
  line-height: 1em;
  color: #fff;
  background-color: transparent;
  height: 100px;
  transition: all 0.5s linear;
  transform: translateY(0); }
  @media (max-width: 991px) {
    .footer_quick_link.desk_ql, .footer_quick_link_mobile.desk_ql {
      display: none; } }
  .footer_quick_link.footer_quick_link_mobile, .footer_quick_link_mobile.footer_quick_link_mobile {
    display: none; }
  @media (max-width: 991px) {
    .footer_quick_link, .footer_quick_link_mobile {
      bottom: 0;
      height: 50px; }
      .footer_quick_link.footer_quick_link_mobile, .footer_quick_link_mobile.footer_quick_link_mobile {
        display: block;
        position: static; } }
  .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(40 / 1920 * 100vw);
    width: 100%; }
    @media (max-width: 1900px) {
      .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
        padding: calc(40 / 1920 * 100vw); } }
    @media (max-width: 1280px) {
      .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
        padding: 20px calc(80 / 1366 * 100vw); } }
    @media (max-width: 1024px) {
      .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
        padding: 20px calc(40 / 768 * 100vw); } }
    @media (max-width: 991px) {
      .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
        padding: 20px calc(20 / 768 * 100vw); } }
    @media (max-width: 575px) {
      .footer_quick_link .mod_container, .footer_quick_link_mobile .mod_container {
        padding: 20px calc(20 / 360 * 100vw); } }
  .footer_quick_link div, .footer_quick_link_mobile div {
    width: 33.333333%; }
    @media (max-width: 991px) {
      .footer_quick_link div, .footer_quick_link_mobile div {
        width: auto; } }
    .footer_quick_link div.side_b, .footer_quick_link_mobile div.side_b {
      text-align: center;
      display: flex;
      justify-content: center; }
  .footer_quick_link label, .footer_quick_link_mobile label {
    font-family: "Quicksand", sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 16px;
    color: #9D9D9D;
    text-transform: uppercase;
    display: flex;
    align-items: center; }

.logo {
  width: 200px;
  position: relative;
  margin-top: 0;
  transition: .3s;
  display: flex;
  align-items: center; }
  @media (max-width: 991px) {
    .logo {
      width: 180px; } }
  .logo img, .logo svg {
    width: 100%;
    height: 100%; }
    .logo img path, .logo svg path {
      transition: .3s; }
  .logo svg path {
    transition: .3s; }

.short_menu {
  margin-left: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 1280px) {
    .short_menu {
      display: none; } }
  .short_menu ul {
    margin-bottom: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
    .short_menu ul li {
      display: flex;
      align-items: center;
      text-align: center;
      justify-content: center;
      position: relative; }
      .short_menu ul li.menu-item-has-children > a::after {
        color: #fff;
        display: inline-block;
        width: 0;
        height: 0;
        margin-left: .5em;
        vertical-align: .3em;
        content: "";
        border-top: .3em solid;
        border-right: .3em solid transparent;
        border-bottom: 0;
        border-left: .3em solid transparent; }
      .short_menu ul li.remove_desktop {
        display: none; }
      .short_menu ul li.only_for_desk {
        display: none; }
      .short_menu ul li a {
        font-family: "Quicksand", sans-serif;
        font-size: 14px;
        letter-spacing: .2px;
        text-transform: uppercase;
        text-align: center;
        color: #fff;
        width: 100%;
        font-weight: 500;
        position: relative;
        transition: .3s;
        display: block;
        padding: 0 20px; }
        .short_menu ul li a:hover {
          color: #fff;
          opacity: .8;
          text-decoration: none; }
        .short_menu ul li a:active {
          background-color: none !important;
          background: none !important; }
      .short_menu ul li.menu_td .sub-menu, .short_menu ul li.menu_es .sub-menu {
        width: 700px; }
      .short_menu ul li .sub-menu {
        background-color: #fff;
        position: absolute;
        top: 50px;
        width: 100%;
        margin-top: -50px;
        opacity: 0;
        transition: all 0.5s;
        pointer-events: none;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 10px;
        left: 20px;
        padding: 20px;
        border-radius: 20px; }
        @media (max-width: 575px) {
          .short_menu ul li .sub-menu {
            grid-template-columns: 1fr; } }
        .short_menu ul li .sub-menu li {
          transition: all 0.3s ease; }
          .short_menu ul li .sub-menu li.all_post {
            grid-column: 2/4;
            /*a {
              background-color: $col_1;
              color: #fff;
              &:hover {
                background-color: $col_1a;
              }
            }*/ }
          @media (max-width: 575px) {
            .short_menu ul li .sub-menu li {
              grid-column: 1/3; } }
          .short_menu ul li .sub-menu li.current-menu-item a {
            background-color: #34BDC2;
            color: #fff; }
          .short_menu ul li .sub-menu li.full_link {
            grid-column: 1/3; }
          .short_menu ul li .sub-menu li a {
            transition: all 0.3s ease;
            background: #f4f4f4;
            border-radius: 12px;
            height: 70px;
            display: flex;
            align-items: center;
            width: 100%;
            padding: 0 10px;
            font-size: 14px;
            letter-spacing: -0.2px;
            line-height: 16px;
            font-weight: 500;
            font-family: "Quicksand", sans-serif;
            color: #606060;
            position: relative;
            justify-content: center;
            /* &::after {
               content: '';
               display: block;
               width: 14px;
               height: 14px;
               background-image: url('images/arrow-right-b.svg');
               background-size: contain;
               background-repeat: no-repeat;
               background-position: center;
               position: absolute;
               right: 30px;
             } */ }
            .short_menu ul li .sub-menu li a:hover, .short_menu ul li .sub-menu li a:active, .short_menu ul li .sub-menu li a:focus {
              background-color: #34BDC2;
              color: #fff;
              box-shadow: 0px 25px 49px rgba(0, 0, 0, 0.1);
              /* &::after {
                 background-image: url('images/arrow-right.svg');
               }*/ }
        .short_menu ul li .sub-menu.open {
          opacity: 1;
          margin-top: 0px;
          pointer-events: unset; }

@media (max-width: 1280px) {
  .simple_menu {
    display: none; } }
.simple_menu ul {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  position: relative; }
  .simple_menu ul li {
    display: flex;
    align-items: center;
    position: relative; }
    .simple_menu ul li.only_footer {
      display: none; }
    .simple_menu ul li:nth-last-child(1) a::after {
      display: none; }
    .simple_menu ul li.menu-item-has-children > a::after {
      color: #606060;
      display: inline-block;
      width: 0;
      height: 0;
      margin-left: .5em;
      vertical-align: .3em;
      content: "";
      border-top: .3em solid;
      border-right: .3em solid transparent;
      border-bottom: 0;
      border-left: .3em solid transparent; }
    .simple_menu ul li.attiva_mega_menu > a::after {
      color: #fff;
      display: inline-block;
      width: 0;
      height: 0;
      margin-left: .5em;
      vertical-align: .3em;
      content: "";
      border-top: .3em solid;
      border-right: .3em solid transparent;
      border-bottom: 0;
      border-left: .3em solid transparent;
      transition: .3s; }
    .simple_menu ul li.remove_desktop {
      display: none; }
    .simple_menu ul li.only_for_desk {
      display: none; }
    .simple_menu ul li.current-menu-item a {
      font-weight: bold; }
    .simple_menu ul li a {
      font-family: "Quicksand", sans-serif;
      color: #fff;
      padding: 15px 20px;
      text-align: center;
      display: flex;
      align-items: center;
      text-decoration: none;
      text-transform: uppercase;
      font-size: 15px;
      line-height: 30px; }
      .simple_menu ul li a:hover {
        color: #32D8DE;
        text-decoration: underline; }
    .simple_menu ul li.menu_td .sub-menu, .simple_menu ul li.menu_es .sub-menu {
      width: 600px; }
    .simple_menu ul li .sub-menu {
      position: absolute;
      top: 80px;
      width: 100%;
      margin-top: -50px;
      opacity: 0;
      transition: all 0.5s;
      pointer-events: none;
      display: grid;
      grid-template-columns: 1fr;
      left: 20px;
      padding: 0;
      grid-gap: 1px; }
      @media (max-width: 575px) {
        .simple_menu ul li .sub-menu {
          grid-template-columns: 1fr; } }
      .simple_menu ul li .sub-menu li {
        transition: all 0.3s ease; }
        @media (max-width: 1280px) {
          .simple_menu ul li .sub-menu li:nth-last-child(1) {
            border-bottom: none; } }
        .simple_menu ul li .sub-menu li.full_col {
          grid-column: 1/4; }
          .simple_menu ul li .sub-menu li.full_col a {
            background-color: #606060;
            color: #fff !important; }
        .simple_menu ul li .sub-menu li:nth-child(1) a {
          border-radius: 5px 5px 0 0; }
        .simple_menu ul li .sub-menu li:nth-last-child(1) a {
          border-radius: 0 0 5px 5px;
          border: none; }
        .simple_menu ul li .sub-menu li a {
          transition: all 0.3s ease;
          background-color: #34BDC2;
          border-bottom: 1px solid #1C304A;
          display: flex;
          align-items: center;
          width: 100%;
          padding: 15px 20px;
          letter-spacing: -0.2px;
          line-height: 16px;
          font-family: "Quicksand", sans-serif;
          color: #fff !important;
          position: relative;
          font-size: 16px;
          text-transform: none;
          border-radius: 0;
          text-align: left;
          justify-content: flex-start; }
          @media (max-width: 1280px) {
            .simple_menu ul li .sub-menu li a {
              background-color: transparent;
              color: #606060 !important;
              border-bottom: none; } }
          .simple_menu ul li .sub-menu li a:hover, .simple_menu ul li .sub-menu li a:active, .simple_menu ul li .sub-menu li a:focus {
            background-color: #1C304A;
            color: #fff !important;
            box-shadow: 0px 25px 49px rgba(0, 0, 0, 0.1); }
            @media (max-width: 1280px) {
              .simple_menu ul li .sub-menu li a:hover, .simple_menu ul li .sub-menu li a:active, .simple_menu ul li .sub-menu li a:focus {
                background-color: transparent;
                color: #606060 !important;
                box-shadow: none; } }
        .simple_menu ul li .sub-menu li.current-menu-item a {
          background-color: #1C304A;
          color: #fff !important;
          font-weight: normal; }
          @media (max-width: 1280px) {
            .simple_menu ul li .sub-menu li.current-menu-item a {
              background-color: transparent;
              color: #606060 !important;
              font-weight: bold;
              box-shadow: none; } }
      .simple_menu ul li .sub-menu.open {
        opacity: 1;
        margin-top: 0;
        pointer-events: unset; }

.menu_is_open .simple_menu ul li.attiva_mega_menu > a::after {
  transform: rotate(180deg); }
.menu_is_open .simple_menu ul li.attiva_mega_menu > a {
  color: #fff;
  font-weight: bold; }
.menu_is_open .logo img path, .menu_is_open .logo img rect, .menu_is_open .logo svg path, .menu_is_open .logo svg rect {
  fill: #fff; }

.layer_bk_menu {
  background: transparent;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  transition: all 0.3s ease;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  pointer-events: none; }
  @media (max-width: 1280px) {
    .layer_bk_menu {
      display: none; } }
  .layer_bk_menu.active {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    pointer-events: auto; }

#cursor {
  z-index: 902000;
  opacity: 0;
  left: 0px;
  top: 0px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: rgba(50, 137, 141, 0.3);
  position: fixed;
  transform: translate(-50%, -50%);
  pointer-events: none;
  /* Assicura che il cursore personalizzato non interferisca con gli eventi del mouse */ }
  @media (max-width: 1200px) {
    #cursor {
      display: none; } }

.select_language {
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  font-size: 13px;
  gap: 15px;
  position: absolute;
  left: -50px; }
  @media (max-width: 1280px) {
    .select_language {
      position: static; } }
  .select_language a, .select_language span {
    font-size: 15px;
    line-height: normal;
    text-align: center;
    color: #fff;
    border: 1px dotted #fff;
    width: 30px;
    height: 30px;
    display: flex;
    padding: 0;
    align-items: center;
    border-radius: 50%;
    justify-content: center;
    transition: .3s; }
  .select_language a {
    border: 1px dotted transparent; }
    .select_language a:hover {
      border: 1px dotted #fff; }
  .select_language hr {
    background: #fff;
    height: 1px;
    width: 0;
    margin: 0;
    border: none;
    position: absolute;
    transition: width .3s ease-in-out, transform .3s ease-in-out;
    left: 0;
    bottom: -4px;
    z-index: 10; }

.video_trigger {
  cursor: none; }

.cursor_video {
  position: fixed;
  z-index: 902000;
  inset: 0;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: rgba(96, 96, 96, 0.4);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  will-change: transform, opacity; }

.paragrafo h1, .paragrafo h2 {
  font-family: "Quicksand", sans-serif;
  font-weight: normal;
  line-height: 100%;
  margin-bottom: 20px;
  color: #34BDC2; }
  @media (max-width: 991px) {
    .paragrafo h1, .paragrafo h2 {
      font-size: 40px;
      margin-bottom: 25px; } }
.paragrafo h2 {
  color: #34BDC2;
  line-height: 111%;
  display: block;
  font-family: "Quicksand", sans-serif;
  font-size: 60px; }
  @media (max-width: 575px) {
    .paragrafo h2 {
      font-size: 35px; } }
  .paragrafo h2 strong {
    font-weight: normal;
    color: #32898D; }
  .paragrafo h2 em {
    font-style: italic;
    font-family: "Quicksand", sans-serif; }
  .paragrafo h2 .word {
    padding-top: 0;
    margin-bottom: -0.4em; }
.paragrafo h3 {
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  margin-bottom: 35px;
  line-height: 120%;
  color: #34BDC2; }
  .paragrafo h3:nth-last-child(1) {
    margin-bottom: 0; }
  @media (max-width: 991px) {
    .paragrafo h3 {
      font-size: 18px;
      margin-bottom: 15px; } }
.paragrafo p {
  font-family: "Quicksand", sans-serif;
  font-size: 20px;
  line-height: 130%;
  color: #606060;
  margin-bottom: 20px; }
  .paragrafo p:nth-last-of-type(1) {
    margin-bottom: 0; }
  @media (max-width: 991px) {
    .paragrafo p {
      font-size: 16px;
      max-width: 100%;
      line-height: 150%; } }
  .paragrafo p a {
    color: #000; }
  .paragrafo p strong {
    font-weight: bold; }
  .paragrafo p:nth-last-child(1) {
    margin-bottom: 0; }
.paragrafo ul {
  display: flex;
  flex-direction: column;
  margin: 40px 0; }
  @media (max-width: 575px) {
    .paragrafo ul {
      margin: 20px 0; } }
  .paragrafo ul li {
    list-style: none;
    display: inline-block;
    font-family: "Quicksand", sans-serif;
    font-size: 20px;
    line-height: 130%;
    margin-bottom: 15px;
    color: #606060; }
    @media (max-width: 991px) {
      .paragrafo ul li {
        font-size: 16px;
        max-width: 100%;
        line-height: 150%; } }
    .paragrafo ul li strong {
      font-weight: bold; }
    @media (max-width: 575px) {
      .paragrafo ul li {
        font-size: 16px; } }
    .paragrafo ul li::before {
      background-image: url(../images/check-icon.svg);
      content: "";
      padding-right: 5px;
      width: 20px;
      height: 20px;
      display: inline-block;
      margin-right: 10px;
      color: #34BDC2;
      background-size: contain;
      background-repeat: no-repeat; }
      @media (max-width: 575px) {
        .paragrafo ul li::before {
          width: 16px;
          height: 16px;
          position: relative;
          top: 3px; } }
    .paragrafo ul li:nth-last-child(1) {
      margin-bottom: 0; }
.paragrafo ol {
  display: flex;
  flex-direction: column;
  margin: 40px 0;
  padding-left: 0;
  counter-reset: decimal_inc; }
  @media (max-width: 575px) {
    .paragrafo ol {
      margin: 20px 0; } }
  .paragrafo ol li {
    list-style: none;
    display: inline-block;
    font-size: 18px;
    font-weight: 300;
    line-height: 158%;
    counter-increment: decimal_inc;
    margin-bottom: 15px; }
    .paragrafo ol li strong {
      font-weight: bold; }
    @media (max-width: 575px) {
      .paragrafo ol li {
        font-size: 16px; } }
    .paragrafo ol li::before {
      content: counters(decimal_inc,"]") "] ";
      padding-right: 10px;
      color: #32D8DE; }
    .paragrafo ol li:nth-last-child(1) {
      margin-bottom: 0; }
.paragrafo .bullet_list {
  margin-top: 60px; }
  @media (max-width: 991px) {
    .paragrafo .bullet_list {
      margin-top: 40px;
      margin-bottom: 30px; } }
.paragrafo .bullet_item {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 40px;
  margin-bottom: 30px; }
  @media (max-width: 575px) {
    .paragrafo .bullet_item {
      grid-template-columns: 20px 1fr; } }
  @media (max-width: 575px) {
    .paragrafo .bullet_item:nth-last-child(1) {
      margin-bottom: 0; } }
  .paragrafo .bullet_item:nth-last-child(1) .content p {
    margin-bottom: 0; }
  .paragrafo .bullet_item .count {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background-color: #F6F6F6;
    font-size: 18px; }
    @media (max-width: 991px) {
      .paragrafo .bullet_item .count {
        font-size: 16px;
        width: 40px;
        height: 40px; } }
    @media (max-width: 575px) {
      .paragrafo .bullet_item .count {
        font-size: 14px; } }
  .paragrafo .bullet_item h2 {
    font-size: 30px !important;
    margin-bottom: 15px;
    line-height: 120%;
    font-family: "Quicksand", sans-serif;
    text-transform: none;
    color: #1C1C1C; }
    @media (max-width: 575px) {
      .paragrafo .bullet_item h2 {
        font-size: 24px !important; } }
.paragrafo .split {
  column-count: 2;
  column-gap: 30px; }
  @media (max-width: 575px) {
    .paragrafo .split {
      column-count: 1;
      column-gap: 0; } }
.paragrafo .link {
  margin-top: 40px;
  max-width: 270px; }
  @media (max-width: 575px) {
    .paragrafo .link {
      margin-top: 20px; } }
.paragrafo .content_link .link {
  margin-top: 0; }
  .paragrafo .content_link .link:nth-child(1) {
    margin-top: calc(60 / 1920 * 100vw); }
    @media (max-width: 991px) {
      .paragrafo .content_link .link:nth-child(1) {
        margin-top: calc(40 / 768 * 100vw); } }
    @media (max-width: 575px) {
      .paragrafo .content_link .link:nth-child(1) {
        margin-top: calc(20 / 360 * 100vw); } }
.paragrafo table {
  width: 100%;
  border: 1px solid #ddd;
  margin: 40px 0;
  padding: 40px;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 17px; }
  .paragrafo table td {
    border: 1px solid #ddd;
    padding: 20px;
    line-height: 140%; }

.paragrafo_elencato ul {
  margin: 40px 0; }
  .paragrafo_elencato ul li {
    list-style: none;
    display: inline-block;
    font-size: 18px;
    line-height: 158%;
    font-weight: 300;
    margin-bottom: 15px; }
    @media (max-width: 575px) {
      .paragrafo_elencato ul li {
        font-size: 16px; } }
    .paragrafo_elencato ul li strong {
      font-weight: bold; }
    .paragrafo_elencato ul li::before {
      content: "-";
      padding-right: 10px;
      color: #32D8DE;
      width: 40px; }
    .paragrafo_elencato ul li:nth-last-child(1) {
      margin-bottom: 0; }
.paragrafo_elencato ol {
  margin: 40px 0;
  margin-top: 0;
  padding-left: 0;
  counter-reset: decimal_inc; }
  .paragrafo_elencato ol li {
    font-family: "Quicksand", sans-serif;
    list-style: none;
    display: flex;
    counter-increment: decimal_inc;
    margin-bottom: 20px;
    font-weight: normal;
    font-size: 24px;
    line-height: 128%;
    color: #606060; }
    @media (max-width: 575px) {
      .paragrafo_elencato ol li {
        font-size: 20px; } }
    .paragrafo_elencato ol li strong {
      font-weight: bold; }
    .paragrafo_elencato ol li::before {
      content: counters(decimal_inc,".") ". ";
      padding-right: 10px;
      color: #32D8DE; }
    .paragrafo_elencato ol li:nth-last-child(1) {
      margin-bottom: 0; }

.paragrafo_prev h3 {
  font-family: "Quicksand", sans-serif;
  font-weight: 300;
  font-size: calc(24 / 1920 * 100vw);
  margin-bottom: calc(20 / 1920 * 100vw);
  line-height: 126%;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #32898D; }
  @media (max-width: 1280px) {
    .paragrafo_prev h3 {
      font-size: calc(20 / 1366 * 100vw);
      margin-bottom: calc(20 / 1366 * 100vw); } }
  @media (max-width: 575px) {
    .paragrafo_prev h3 {
      font-size: 16px;
      margin-bottom: 10px; } }
.paragrafo_prev h2 {
  font-family: "Quicksand", sans-serif;
  font-weight: normal;
  font-size: calc(100 / 1920 * 100vw);
  margin-bottom: calc(40 / 1920 * 100vw);
  line-height: 90%;
  text-transform: uppercase;
  color: #fff; }
  @media (max-width: 1280px) {
    .paragrafo_prev h2 {
      font-size: calc(80 / 1366 * 100vw);
      margin-bottom: calc(40 / 1366 * 100vw); } }
  @media (max-width: 575px) {
    .paragrafo_prev h2 {
      font-size: 40px;
      margin-bottom: 20px;
      line-height: 100%; } }
.paragrafo_prev p {
  font-family: "Quicksand", sans-serif;
  font-weight: 300;
  font-size: calc(20 / 1920 * 100vw);
  line-height: 130%;
  color: #fff;
  max-width: 50%;
  letter-spacing: .01em; }
  @media (max-width: 1280px) {
    .paragrafo_prev p {
      font-size: calc(18 / 1366 * 100vw); } }
  @media (max-width: 575px) {
    .paragrafo_prev p {
      font-size: 15px;
      max-width: 100%; } }
.paragrafo_prev .link {
  max-width: 250px;
  margin: 50px auto 0; }
  @media (max-width: 575px) {
    .paragrafo_prev .link {
      margin-bottom: 10px; }
      .paragrafo_prev .link a {
        width: 100%; } }

.paragrafo_centro {
  text-align: center;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center; }
  .paragrafo_centro p {
    margin-left: 0;
    max-width: 60%; }
    @media (max-width: 991px) {
      .paragrafo_centro p {
        max-width: 90%; } }
  .paragrafo_centro .icona_hotel {
    margin: 0 auto calc(50 / 1920 * 100vw);
    align-items: center; }
    @media (max-width: 991px) {
      .paragrafo_centro .icona_hotel {
        margin: 0 auto calc(50 / 768 * 100vw); } }
  .paragrafo_centro .link {
    justify-content: center; }

.paragrafo_split {
  column-count: 2;
  column-gap: 30px; }
  @media (max-width: 991px) {
    .paragrafo_split {
      column-count: 1;
      column-gap: 0; } }

.paragrafo_white h1, .paragrafo_white h2, .paragrafo_white h3, .paragrafo_white h4, .paragrafo_white li, .paragrafo_white strong, .paragrafo_white em, .paragrafo_white p {
  color: #fff; }
.paragrafo_white p strong {
  color: #fff; }
.paragrafo_white ul li {
  color: #fff; }
  .paragrafo_white ul li::before {
    background-image: url(../images/check-icon-w.svg);
    content: "";
    padding-right: 5px;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-right: 10px;
    color: #fff;
    background-size: contain;
    background-repeat: no-repeat; }
    @media (max-width: 575px) {
      .paragrafo_white ul li::before {
        width: 16px;
        height: 16px;
        position: relative;
        top: 3px; } }
.paragrafo_white .icona_hotel h4 {
  color: #fff; }
.paragrafo_white .icona_hotel path {
  fill: #fff; }
.paragrafo_white .link a {
  color: #fff; }
  .paragrafo_white .link a:before {
    background-color: #fff; }

.paragrafo_slider img {
  width: 300px;
  margin: 40px auto; }
.paragrafo_slider h1 {
  font-family: "Quicksand", sans-serif;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
  font-size: 65px;
  line-height: 105%;
  margin-bottom: 40px; }
  @media (max-width: 991px) {
    .paragrafo_slider h1 {
      font-size: 36px;
      line-height: 100%; } }
  .paragrafo_slider h1.grey_col {
    color: #32898D; }
.paragrafo_slider h2 {
  font-weight: normal;
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 40px; }

.small_paragrafo {
  max-width: calc(265 / 1920 * 100vw); }
  .small_paragrafo svg {
    position: relative;
    top: 1px; }
  .small_paragrafo.alternativo {
    max-width: calc(350 / 1920 * 100vw); }
    @media (max-width: 1024px) {
      .small_paragrafo.alternativo {
        max-width: calc(350 / 768 * 100vw); } }
    .small_paragrafo.alternativo p {
      color: #fff;
      text-transform: none; }
  .small_paragrafo p {
    font-family: "Quicksand", sans-serif;
    font-weight: normal;
    font-size: 1vw;
    line-height: 110%;
    color: #32898D;
    text-transform: uppercase;
    margin-bottom: 0; }
    @media (max-width: 1900px) {
      .small_paragrafo p {
        font-size: clamp(15px, 1vw, 16px); } }

.paragrafo_blur {
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  padding: 60px;
  border-radius: 10px; }
  @media (max-width: 991px) {
    .paragrafo_blur {
      max-width: none;
      padding: 40px; } }
  .paragrafo_blur p {
    color: #606060; }
  .paragrafo_blur.no_blur {
    background: transparent;
    backdrop-filter: none;
    padding: 0; }

.paragrafo_boxed {
  max-width: 750px; }
  @media (max-width: 1900px) {
    .paragrafo_boxed {
      max-width: 550px; } }
  @media (max-width: 1280px) {
    .paragrafo_boxed {
      max-width: 550px; } }
  @media (max-width: 1024px) {
    .paragrafo_boxed {
      max-width: 100%; } }
  .paragrafo_boxed h3 {
    color: #fff;
    font-size: 70px; }
    @media (max-width: 991px) {
      .paragrafo_boxed h3 {
        font-size: 40px; } }
  .paragrafo_boxed p {
    max-width: 750px; }
    @media (max-width: 1900px) {
      .paragrafo_boxed p {
        max-width: 100%; } }

.occhiello {
  display: flex;
  align-items: flex-start;
  gap: 20px; }
  .occhiello svg {
    position: relative;
    top: 5px; }
  .occhiello p {
    max-width: 200px;
    text-transform: uppercase;
    color: #fff;
    line-height: 112%; }
    @media (max-width: 1024px) {
      .occhiello p {
        max-width: 100%; } }

.paragrafo_anim {
  will-change: transform, opacity, filter; }
  .paragrafo_anim h2, .paragrafo_anim p {
    will-change: transform, opacity, filter; }

.paragrafo_descrittivo h2 {
  text-transform: none;
  line-height: 112%; }
  .paragrafo_descrittivo h2 .word {
    padding-top: 0;
    margin-bottom: -0.3em; }

.paragrafo_titolato {
  max-width: 1080px; }
  .paragrafo_titolato.paragrafo_titolato_esteso {
    max-width: 1200px; }
    .paragrafo_titolato.paragrafo_titolato_esteso p {
      margin-bottom: 30px;
      text-align: left; }
  .paragrafo_titolato.paragrafo_white h2, .paragrafo_titolato.paragrafo_white p {
    color: #fff; }
    .paragrafo_titolato.paragrafo_white h2 strong, .paragrafo_titolato.paragrafo_white p strong {
      color: #fff;
      font-weight: bold; }
  .paragrafo_titolato h2 {
    color: #34BDC2;
    font-size: 100px;
    font-weight: 300; }
    @media (max-width: 1280px) {
      .paragrafo_titolato h2 {
        font-size: 80px; } }
    @media (max-width: 991px) {
      .paragrafo_titolato h2 {
        font-size: 60px; } }
    @media (max-width: 575px) {
      .paragrafo_titolato h2 {
        font-size: 50px; } }
  .paragrafo_titolato p {
    max-width: 100%;
    font-weight: normal;
    font-size: 50px;
    letter-spacing: -0.04em;
    line-height: 60px;
    text-align: center;
    color: #32898D; }
    @media (max-width: 1280px) {
      .paragrafo_titolato p {
        font-size: 40px;
        line-height: 130%; } }
    @media (max-width: 991px) {
      .paragrafo_titolato p {
        font-size: 25px; } }
    .paragrafo_titolato p strong {
      font-weight: normal;
      color: #34BDC2; }

.paragrafo_small_boxed {
  max-width: 400px; }

.paragrafo_anim_split {
  opacity: 0; }

.paragrafo_evidenza p {
  font-weight: 500;
  font-size: 26px;
  line-height: 29px;
  text-align: center;
  color: #34BDC2; }

.paragrafo_testo_contatti .info_prenotazioni ul {
  margin-top: 30px;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px; }
  @media (max-width: 575px) {
    .paragrafo_testo_contatti .info_prenotazioni ul {
      margin-bottom: 40px; } }
  .paragrafo_testo_contatti .info_prenotazioni ul li {
    margin-bottom: 0;
    margin-top: 15px; }
    @media (max-width: 575px) {
      .paragrafo_testo_contatti .info_prenotazioni ul li {
        margin-bottom: 5px;
        width: 100%; } }
    .paragrafo_testo_contatti .info_prenotazioni ul li.full_col {
      width: 100%;
      margin: 0; }
      .paragrafo_testo_contatti .info_prenotazioni ul li.full_col.col_title {
        margin-bottom: -10px; }
    .paragrafo_testo_contatti .info_prenotazioni ul li::before {
      display: none; }
    .paragrafo_testo_contatti .info_prenotazioni ul li a {
      font-family: "Quicksand", sans-serif;
      color: #34BDC2;
      font-size: 15px;
      font-weight: bold;
      border: 1px solid #34BDC2;
      padding: 10px 20px;
      border-radius: 5px;
      display: block;
      text-align: center; }
      .paragrafo_testo_contatti .info_prenotazioni ul li a:hover {
        background-color: #34BDC2;
        color: #fff; }
.paragrafo_testo_contatti h2 {
  font-size: 80px;
  text-transform: none; }
  @media (max-width: 575px) {
    .paragrafo_testo_contatti h2 {
      font-size: 45px; } }

.paragrafo_blog {
  text-align: center;
  margin-bottom: 60px; }
  .paragrafo_blog h1 {
    font-size: 80px;
    font-weight: 300;
    text-transform: uppercase; }
    @media (max-width: 991px) {
      .paragrafo_blog h1 {
        font-size: 60px; } }
    @media (max-width: 575px) {
      .paragrafo_blog h1 {
        font-size: 40px; } }

.sezione_approfondimento .mod_container {
  max-width: 1400px; }

.paginazione {
  margin-top: 60px; }
  @media (max-width: 991px) {
    .paginazione {
      margin-top: 40px; } }
  .paginazione .paginate-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap; }
  .paginazione span, .paginazione a {
    color: #fff;
    width: 40px;
    height: 40px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    transition: .3s; }
    .paginazione span:hover, .paginazione a:hover {
      background-color: #fff;
      color: #32D8DE; }
  .paginazione .current {
    background-color: #fff;
    color: #34BDC2; }
  .paginazione .next, .paginazione .prev {
    width: auto; }
    @media (max-width: 991px) {
      .paginazione .next, .paginazione .prev {
        width: 100%;
        font-size: 16px;
        margin: 20px auto; } }
    .paginazione .next:hover, .paginazione .prev:hover {
      background: transparent;
      color: #fff;
      text-decoration: underline !important; }

.paragrafo_neutro {
  padding-bottom: 60px; }

.paragrafo_scheda_articolo .btx-gallery-content {
  display: flex; }
.paragrafo_scheda_articolo figure {
  width: 100% !important; }
  .paragrafo_scheda_articolo figure img {
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 20px; }
.paragrafo_scheda_articolo figcaption {
  font-size: 16px;
  margin-top: 20px; }
.paragrafo_scheda_articolo img {
  border-radius: 30px;
  overflow: hidden;
  margin-bottom: 20px; }
.paragrafo_scheda_articolo blockquote {
  background-color: #ddd !important;
  margin: 40px auto;
  padding: 40px;
  font-size: 20px;
  line-height: 120%;
  border-radius: 20px; }
  @media (max-width: 991px) {
    .paragrafo_scheda_articolo blockquote {
      padding: 40px 20px;
      font-size: 18px; } }
.paragrafo_scheda_articolo h1 {
  font-family: "Quicksand", sans-serif;
  font-weight: normal;
  line-height: 100%;
  margin: 30px 0;
  color: #34BDC2;
  font-size: 50px; }
  @media (max-width: 991px) {
    .paragrafo_scheda_articolo h1 {
      font-size: 30px;
      margin-bottom: 25px; } }
.paragrafo_scheda_articolo h2 {
  color: #34BDC2;
  line-height: 111%;
  display: block;
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-weight: 500; }
  .paragrafo_scheda_articolo h2 strong {
    font-weight: normal;
    color: #32898D; }
  .paragrafo_scheda_articolo h2 em {
    font-style: italic;
    font-family: "Quicksand", sans-serif; }
  .paragrafo_scheda_articolo h2 .word {
    padding-top: 0;
    margin-bottom: -0.4em; }
.paragrafo_scheda_articolo .data_articolo {
  color: #34BDC2 !important;
  font-size: 16px;
  display: block;
  margin-bottom: 15px; }
.paragrafo_scheda_articolo a {
  font-weight: bold; }
.paragrafo_scheda_articolo p {
  line-height: 130%; }
  @media (max-width: 991px) {
    .paragrafo_scheda_articolo p {
      line-height: 150%;
      font-size: 17px; } }
.paragrafo_scheda_articolo .bread_crumbs {
  color: #34BDC2;
  font-size: 16px;
  margin-bottom: 15px; }
  .paragrafo_scheda_articolo .bread_crumbs a, .paragrafo_scheda_articolo .bread_crumbs span {
    color: #34BDC2;
    font-size: 16px; }

.paragrafo_scheda {
  max-width: 500px; }

.paragrafo_nascosto {
  display: none; }

footer {
  padding: 60px 0;
  background-color: #34BDC2;
  position: relative;
  z-index: 100;
  width: calc(100% - 40px);
  left: 20px;
  margin-bottom: 20px;
  border-radius: 40px; }
  footer .mod_container {
    padding: 0 5vw; }
    footer .mod_container .grid_footer {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px; }
      @media (max-width: 1024px) {
        footer .mod_container .grid_footer {
          display: flex;
          flex-direction: column;
          gap: 40px; } }
    footer .mod_container .item_footer {
      position: relative; }
      footer .mod_container .item_footer.border_footer {
        border-top: 1px solid #fff;
        padding-top: 40px; }
      footer .mod_container .item_footer.social_footer_box ul {
        display: flex;
        align-items: center;
        gap: 20px; }
        footer .mod_container .item_footer.social_footer_box ul li a {
          display: flex;
          justify-content: center;
          align-items: center; }
          footer .mod_container .item_footer.social_footer_box ul li a svg {
            height: 30px;
            width: auto; }
      footer .mod_container .item_footer.item_footer_menu_footer {
        margin-top: 42px; }
        @media (max-width: 991px) {
          footer .mod_container .item_footer.item_footer_menu_footer {
            margin-top: 0; } }
      footer .mod_container .item_footer.media_footer ul li {
        margin-bottom: 20px; }
        footer .mod_container .item_footer.media_footer ul li:nth-last-child(1) {
          margin-bottom: 0; }
      footer .mod_container .item_footer.media_footer img {
        width: 200px;
        height: auto; }
      footer .mod_container .item_footer.credit_footer {
        display: flex;
        align-items: flex-end;
        grid-column: 1 / 3;
        justify-content: center; }
      footer .mod_container .item_footer .dati_societari {
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 16px;
        color: #fff; }
      footer .mod_container .item_footer .menu a {
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 18px;
        line-height: 30px;
        color: #fff;
        transition: .3s;
        position: relative;
        left: 0; }
        footer .mod_container .item_footer .menu a:hover {
          left: 20px;
          text-decoration: underline !important; }
          @media (max-width: 1024px) {
            footer .mod_container .item_footer .menu a:hover {
              left: 0; } }
      footer .mod_container .item_footer a, footer .mod_container .item_footer p, footer .mod_container .item_footer li {
        color: #fff;
        font-size: 16px;
        font-family: "Quicksand", sans-serif; }
      footer .mod_container .item_footer a:hover {
        text-decoration: underline !important; }
      footer .mod_container .item_footer ul li {
        line-height: 25px; }
        footer .mod_container .item_footer ul li.current_page_item a {
          color: #fff; }
      footer .mod_container .item_footer h4 {
        color: #fff;
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 20px;
        margin-bottom: 20px;
        text-transform: uppercase; }
      footer .mod_container .item_footer .container_marquee {
        max-width: 500px; }
        @media (max-width: 1280px) {
          footer .mod_container .item_footer .container_marquee {
            max-width: 350px; } }
    footer .mod_container .logo_footer {
      width: 350px;
      margin-bottom: 40px; }
      @media (max-width: 991px) {
        footer .mod_container .logo_footer {
          width: 200px; } }
      footer .mod_container .logo_footer svg {
        width: 100%;
        height: auto; }
        footer .mod_container .logo_footer svg path, footer .mod_container .logo_footer svg rect {
          fill: #fff; }

.underfooter {
  color: #fff;
  font-size: 14px;
  font-family: "Quicksand", sans-serif;
  padding: 60px 5vw;
  background-color: #1C1C1C;
  position: relative;
  z-index: 100; }
  .underfooter .flexHorizontal {
    padding-top: 60px; }
  .underfooter a, .underfooter p, .underfooter li {
    color: #fff;
    font-size: 14px;
    font-family: "Quicksand", sans-serif; }

.webenaco {
  color: #fff !important; }
  .webenaco:hover {
    color: #606060;
    text-decoration: none; }
  .webenaco svg {
    margin-left: 5px;
    width: 70px;
    color: #fff;
    position: relative;
    top: -1px;
    transition: .6s; }
    .webenaco svg path {
      fill: #fff; }
    .webenaco svg:hover {
      color: #606060;
      fill: #606060; }
      .webenaco svg:hover path.we {
        fill: #e13145; }

.edit_gestore #wp-admin-bar-customize, .edit_gestore #wp-admin-bar-comments, .edit_gestore #wp-admin-bar-new-content, .edit_gestore #wp-admin-bar-wp-mail-smtp-menu, .edit_gestore #wp-admin-bar-duplicate-post, .edit_gestore #wp-admin-bar-wp-logo {
  display: none; }
.edit_gestore #wp-admin-bar-themes, .edit_gestore #wp-admin-bar-search, .edit_gestore #wp-admin-bar-edit-profile {
  display: none; }
.edit_gestore #wp-admin-bar-popup-maker, .edit_gestore #wp-admin-bar-wpseo-menu, .edit_gestore #wp-admin-bar-updates {
  display: none; }

/* =======================
   BENTO BOX - METALTRONICA LAYOUT (6-Column System)
   ======================= */
.bento_box--new-layout {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0px 0 60px;
  /* --- STILE BASE CARD --- */
  /* --- 1. INTRO (Sinistra) --- */
  /* --- 2. STAT 32 (Centro) --- */
  /* --- 3. MACHINE (Destra) --- */
  /* --- 4. FOTO BW (Centro) --- */
  /* --- 5. ANNO 1977 (Destra) --- */
  /* --- 6. TIMELINE (Basso, Extra Largo, SWIPER) --- */
  /* --- 7. LOGO BOX (Basso, Stretto) --- */
  /* --- RESPONSIVE --- */ }
  .bento_box--new-layout .bento_box__grid {
    display: grid;
    width: 100%;
    max-width: 1600px;
    padding: 0 20px;
    gap: 20px;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 340px 260px 220px; }
  .bento_box--new-layout .bb {
    position: relative;
    border-radius: 30px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    overflow: hidden; }
    .bento_box--new-layout .bb img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      transition: transform 0.5s ease; }
    .bento_box--new-layout .bb:hover img {
      transform: scale(1.05); }
    .bento_box--new-layout .bb > * {
      position: relative;
      z-index: 1; }
  .bento_box--new-layout .bb--intro {
    background-color: #F6F6F6;
    grid-column: 1 / span 2;
    grid-row: 1 / span 2;
    justify-content: center; }
    .bento_box--new-layout .bb--intro .bb__content h2 {
      font-family: "Quicksand", sans-serif;
      font-weight: 400;
      font-size: 28px;
      line-height: 115%;
      color: #34BDC2;
      margin: 0;
      max-width: 100%; }
  .bento_box--new-layout .bb--stat-teal {
    background-color: #34BDC2;
    grid-column: 3 / span 2;
    grid-row: 1;
    justify-content: center;
    align-items: center;
    text-align: center; }
    .bento_box--new-layout .bb--stat-teal .bb__num {
      font-family: "Quicksand", sans-serif;
      font-weight: 300;
      font-size: clamp(80px, 9vw, 130px);
      color: #ffffff;
      line-height: 1;
      margin-bottom: 0px; }
      @media (max-width: 991px) {
        .bento_box--new-layout .bb--stat-teal .bb__num {
          font-size: 100px; } }
    .bento_box--new-layout .bb--stat-teal .bb__caption {
      font-family: "Quicksand", sans-serif;
      font-size: 16px;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: #ffffff;
      margin-top: 10px; }
  .bento_box--new-layout .bb--machine {
    background-color: #EAEAEA;
    grid-column: 5 / span 2;
    grid-row: 1; }
    .bento_box--new-layout .bb--machine img {
      object-fit: cover;
      transform-origin: center; }
  .bento_box--new-layout .bb--photo-bw {
    background-color: #000;
    grid-column: 3 / span 2;
    grid-row: 2;
    padding: 0; }
    .bento_box--new-layout .bb--photo-bw img {
      filter: grayscale(100%);
      object-position: center center; }
  .bento_box--new-layout .bb--year-stat {
    background-color: #F6F6F6;
    grid-column: 5 / span 2;
    grid-row: 2;
    justify-content: space-between; }
    .bento_box--new-layout .bb--year-stat .bb__caption {
      font-family: "Quicksand", sans-serif;
      font-size: 16px;
      text-transform: uppercase;
      color: #34BDC2;
      letter-spacing: 1px;
      font-weight: 600; }
    .bento_box--new-layout .bb--year-stat .bb__num {
      font-family: "Quicksand", sans-serif;
      font-weight: 300;
      font-size: clamp(50px, 6vw, 100px);
      color: #34BDC2;
      line-height: 1;
      text-align: left;
      align-self: flex-end;
      width: 100%; }
      @media (max-width: 991px) {
        .bento_box--new-layout .bb--year-stat .bb__num {
          font-size: 100px; } }
  .bento_box--new-layout .bb--timeline {
    background-color: #34BDC2;
    grid-column: 1 / span 6;
    grid-row: 3;
    display: block;
    padding: 0;
    padding: 40px;
    overflow: hidden; }
    .bento_box--new-layout .bb--timeline .timeline-swiper {
      width: 100%;
      height: 100%;
      overflow: hidden; }
      .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-wrapper {
        transition-timing-function: linear !important;
        align-items: flex-start; }
      .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide {
        width: 600px;
        margin-right: 60px;
        height: auto; }
        .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item {
          display: flex;
          flex-direction: column;
          user-select: none; }
          .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item .year {
            font-family: "Quicksand", sans-serif;
            font-size: 20px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 12px;
            position: relative;
            padding-left: 15px; }
            @media (max-width: 991px) {
              .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item .year {
                line-height: 130%; } }
            .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item .year::before {
              content: '';
              position: absolute;
              left: 0;
              top: 6px;
              width: 6px;
              height: 6px;
              background: #fff;
              border-radius: 50%; }
          .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item .line {
            width: 100%;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.4);
            margin-bottom: 15px; }
          .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide.timeline_item p {
            font-family: "Quicksand", sans-serif;
            font-size: 16px;
            line-height: 1.4;
            color: #ffffff; }
  .bento_box--new-layout .bb--logo-box {
    background-color: #F6F6F6;
    grid-column: 6 / span 1;
    grid-row: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px; }
    .bento_box--new-layout .bb--logo-box svg {
      width: 70%;
      height: auto; }
      .bento_box--new-layout .bb--logo-box svg path {
        fill: #34BDC2; }
  @media (max-width: 1024px) {
    .bento_box--new-layout .bento_box__grid {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto;
      gap: 15px; }
    .bento_box--new-layout .bb--timeline {
      grid-column: 1 / -1; }
      .bento_box--new-layout .bb--timeline .timeline-swiper .swiper-slide {
        width: 260px;
        margin-right: 40px; }
    .bento_box--new-layout .bb--intro {
      grid-column: 1 / -1;
      grid-row: auto;
      min-height: 300px; }
    .bento_box--new-layout .bb--stat-teal {
      grid-column: 1;
      grid-row: auto;
      min-height: 250px; }
    .bento_box--new-layout .bb--machine {
      grid-column: 2;
      grid-row: auto;
      min-height: 250px; }
    .bento_box--new-layout .bb--photo-bw {
      grid-column: 1;
      grid-row: auto;
      min-height: 250px; }
    .bento_box--new-layout .bb--year-stat {
      grid-column: 2;
      grid-row: auto; }
    .bento_box--new-layout .bb--timeline {
      grid-column: 1 / -1;
      min-height: 200px; }
    .bento_box--new-layout .bb--logo-box {
      grid-column: 1 / -1;
      min-height: 150px; } }
  @media (max-width: 600px) {
    .bento_box--new-layout .bento_box__grid {
      grid-template-columns: 1fr; }
    .bento_box--new-layout .bb {
      padding: 30px; }
    .bento_box--new-layout .bb--intro, .bento_box--new-layout .bb--stat-teal, .bento_box--new-layout .bb--machine, .bento_box--new-layout .bb--photo-bw, .bento_box--new-layout .bb--year-stat, .bento_box--new-layout .bb--timeline, .bento_box--new-layout .bb--logo-box {
      grid-column: 1;
      grid-row: auto;
      min-height: 250px; }
    .bento_box--new-layout .bb--timeline {
      flex-direction: column;
      gap: 30px;
      align-items: flex-start; } }

/*// Glow Border Animation //*/
.animated-border-box {
  height: 100%;
  width: 100%;
  position: absolute;
  overflow: hidden;
  z-index: 0;
  /* Border Radius */
  border-radius: 10px;
  isolation: isolate;
  contain: paint; }

.animated-border-box:before {
  content: '';
  z-index: -2;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  position: absolute;
  width: 300%;
  height: 300%;
  background-repeat: no-repeat;
  background-position: 0 0;
  /*border color, change middle color*/
  background-image: conic-gradient(rgba(28, 28, 28, 0), #414141, rgba(28, 28, 28, 0) 25%);
  /* change speed here */
  animation: rotate var(--ab-dur, 8s) linear infinite;
  animation-delay: var(--ab-delay, 0s);
  /* nuovo: fase */
  animation-direction: var(--ab-dir, normal);
  /* nuovo: direzione */
  will-change: transform;
  backface-visibility: hidden; }

.animated-border-box:after {
  content: '';
  position: absolute;
  z-index: -1;
  background: #1C1C1C;
  left: 0.06em;
  top: 0.06em;
  width: calc(100% - 0.12em);
  height: calc(100% - 0.12em);
  border-radius: 14px; }

@keyframes rotate {
  100% {
    transform: translate(-50%, -50%) rotate(1turn); } }
/* Fasi (stagger armonioso via delay negativo) */
.ab-seed-0 {
  --ab-delay: 0s; }

.ab-seed-1 {
  --ab-delay: -.3s; }

.ab-seed-2 {
  --ab-delay: -.6s; }

.ab-seed-3 {
  --ab-delay: -.9s; }

.ab-seed-4 {
  --ab-delay: -1.2s; }

.ab-seed-5 {
  --ab-delay: -1.5s; }

/* Varianti opzionali */
.ab-rev {
  --ab-dir: reverse; }

/* rotazione inversa */
.ab-fast {
  --ab-dur: 4s; }

/* un filo più rapida */
.ab-slow {
  --ab-dur: 8s; }

/* un filo più lenta */
.accordion {
  width: 100%;
  padding-right: 15%; }
  @media (max-width: 1024px) {
    .accordion {
      padding-right: 5%; } }

.accordion_box .ab_content_mod_flex .side_b {
  width: 100% !important; }

.titolo_gruppo_domanda h3 {
  font-size: 20px; }
  @media (max-width: 575px) {
    .titolo_gruppo_domanda h3 {
      font-size: 16px; } }

.card_content {
  border-bottom: 1px solid #32898D;
  margin-bottom: 40px;
  padding-bottom: 30px; }
  .card_content:nth-last-child(1) {
    border-bottom: none; }
  .card_content .card-header {
    background-color: transparent;
    overflow: hidden;
    transition: .3s;
    border: none;
    padding: 0; }
    .card_content .card-header .fake_button .wrap_div_text {
      width: 100%; }
    .card_content .card-header .wrap_div_text {
      display: flex;
      width: calc(100% - 80px);
      flex-direction: column;
      align-items: flex-start;
      text-align: left; }
      .card_content .card-header .wrap_div_text h2 {
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 60px;
        line-height: 60px;
        color: #fff; }
        @media (max-width: 991px) {
          .card_content .card-header .wrap_div_text h2 {
            font-size: 25px;
            line-height: 100%; } }
  .card_content .card-body {
    padding: 10px 0 40px; }
    .card_content .card-body picture {
      height: 50vh; }
      @media (max-width: 991px) {
        .card_content .card-body picture {
          height: 45vh;
          margin-bottom: 20px; } }
    .card_content .card-body .paragrafo p {
      font-weight: normal;
      font-size: 16px;
      line-height: 20px;
      color: #fff; }
  .card_content button, .card_content .fake_button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 0;
    background: transparent;
    border: none;
    cursor: pointer; }
    .card_content button.collapsed svg, .card_content .fake_button.collapsed svg {
      transform: rotate(0deg); }
    .card_content button svg, .card_content .fake_button svg {
      width: 70px;
      height: 70px;
      transform: rotate(45deg);
      position: relative;
      transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
      @media (max-width: 991px) {
        .card_content button svg, .card_content .fake_button svg {
          width: 40px;
          height: 40px; } }
    .card_content button h2, .card_content .fake_button h2 {
      color: #606060;
      margin: 0;
      transition: .3s;
      font-family: "Quicksand", sans-serif;
      font-weight: bold;
      font-size: 50px;
      line-height: 50px; }
      @media (max-width: 991px) {
        .card_content button h2, .card_content .fake_button h2 {
          font-size: 18px;
          text-align: left; } }

.collapse:not(.show) {
  display: none; }

.accordion .collapsing {
  transition: none !important;
  /* non imporre height qui; ci pensa GSAP */
  overflow: hidden; }

.d-none {
  display: none !important; }

@-moz-document url-prefix() {
  .d-none-ff {
    display: none !important; } }
.mod_container.col_50_50 .ab_content_flex .side_a {
  width: calc(50% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_50_50 .ab_content_flex .side_a {
      width: 100%; } }
.mod_container.col_50_50 .ab_content_flex .side_b {
  width: calc(50% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_50_50 .ab_content_flex .side_b {
      width: 100%; } }
.mod_container.col_50_50 .ab_content_flex.remove_flex_gap .side_a {
  width: 50%; }
  @media (max-width: 991px) {
    .mod_container.col_50_50 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.mod_container.col_50_50 .ab_content_flex.remove_flex_gap .side_b {
  width: 50%; }
  @media (max-width: 991px) {
    .mod_container.col_50_50 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.mod_container.col_40_60 .ab_content_flex .side_a {
  width: calc(40% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_40_60 .ab_content_flex .side_a {
      width: 100%; } }
.mod_container.col_40_60 .ab_content_flex .side_b {
  width: calc(60% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_40_60 .ab_content_flex .side_b {
      width: 100%; } }
.mod_container.col_40_60 .ab_content_flex.remove_flex_gap .side_a {
  width: 40%; }
  @media (max-width: 991px) {
    .mod_container.col_40_60 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.mod_container.col_40_60 .ab_content_flex.remove_flex_gap .side_b {
  width: 60%; }
  @media (max-width: 991px) {
    .mod_container.col_40_60 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.mod_container.col_60_40 .ab_content_flex .side_a {
  width: calc(60% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_60_40 .ab_content_flex .side_a {
      width: 100%; } }
.mod_container.col_60_40 .ab_content_flex .side_b {
  width: calc(40% - 25px); }
  @media (max-width: 991px) {
    .mod_container.col_60_40 .ab_content_flex .side_b {
      width: 100%; } }
.mod_container.col_60_40 .ab_content_flex.remove_flex_gap .side_a {
  width: 60%; }
  @media (max-width: 991px) {
    .mod_container.col_60_40 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.mod_container.col_60_40 .ab_content_flex.remove_flex_gap .side_b {
  width: 40%; }
  @media (max-width: 991px) {
    .mod_container.col_60_40 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.mod_container.col_100 .ab_content_flex {
  flex-direction: column; }
  .mod_container.col_100 .ab_content_flex .side_a {
    width: 100%; }
  .mod_container.col_100 .ab_content_flex .side_b {
    width: 100%; }

.ab_content_flex {
  width: 100%;
  justify-content: space-between;
  display: flex;
  gap: 0 50px; }
  .ab_content_flex.remove_flex_gap {
    gap: 0; }
  @media (max-width: 991px) {
    .ab_content_flex {
      flex-direction: column; }
      .ab_content_flex:not(:last-child) {
        margin-bottom: 20px; } }
  .ab_content_flex.align_top {
    align-items: flex-start; }
  .ab_content_flex.align_left {
    align-items: flex-start; }
  .ab_content_flex.align_right {
    align-items: flex-end; }
  .ab_content_flex.align_center {
    align-items: center; }
  .ab_content_flex.align_bottom {
    align-items: flex-end; }
  .ab_content_flex.justify_left {
    justify-content: left; }
  .ab_content_flex.justify_right {
    justify-content: right; }
  .ab_content_flex.justify_center {
    justify-content: center; }
  .ab_content_flex.justify_between {
    justify-content: space-between; }
  .ab_content_flex .side_a {
    width: 50%;
    position: relative; }
    @media (max-width: 991px) {
      .ab_content_flex .side_a {
        width: 100%; }
        .ab_content_flex .side_a picture {
          margin-bottom: 25px; } }
  .ab_content_flex .side_b {
    width: 50%;
    position: relative; }
    @media (max-width: 991px) {
      .ab_content_flex .side_b {
        width: 100%; } }
  .ab_content_flex .side_top {
    width: 100%; }
  .ab_content_flex .side_bottom {
    width: 100%; }

.section_composer.immagine_wide picture {
  position: absolute;
  width: 60vw;
  top: 0;
  left: 0;
  height: 50vh;
  border-radius: 4px; }
  @media (max-width: 1900px) {
    .section_composer.immagine_wide picture {
      height: 68vh;
      max-height: 550px; } }
  @media (max-width: 991px) {
    .section_composer.immagine_wide picture {
      position: static;
      width: 100%;
      margin-top: 40px;
      order: 1;
      display: block;
      height: 45vh; } }
.section_composer.under_wide {
  padding-top: 40vh; }
  @media (max-width: 1900px) {
    .section_composer.under_wide {
      padding-top: 60vh; } }
  @media (max-width: 991px) {
    .section_composer.under_wide {
      padding-top: 0; } }
.section_composer .video_background {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  z-index: -1; }
  .section_composer .video_background video {
    object-fit: cover;
    width: 100vw;
    height: 100%;
    position: relative;
    top: 0;
    left: 0; }
.section_composer .paragrafo {
  position: relative; }
  .section_composer .paragrafo.text_align_left {
    text-align: left; }
  .section_composer .paragrafo.text_align_right {
    text-align: right; }
  .section_composer .paragrafo.text_align_center {
    text-align: center; }
.section_composer.remove_padding_top {
  padding-top: 0; }
.section_composer.remove_padding_bottom {
  padding-bottom: 0; }
.section_composer picture.remove_margin_top {
  margin-top: 0; }
.section_composer picture.remove_margin_bottom {
  margin-bottom: 0; }
.section_composer .banner_picture {
  height: 50vh;
  border-radius: 4px;
  display: flex;
  margin: 50px 0 0; }
  .section_composer .banner_picture:not(:last-child) {
    margin-bottom: 50px; }
.section_composer .normal_picture {
  display: flex;
  width: 100%;
  margin-bottom: 0; }
  .section_composer .normal_picture:not(:last-child) {
    margin-bottom: 25px; }
.section_composer .ruota_img {
  transform: rotate(-10deg);
  max-width: 300px;
  margin: 0 auto 100px; }
  @media (max-width: 991px) {
    .section_composer .ruota_img {
      margin-bottom: 60px !important; } }
.section_composer .side_bottom .banner_picture {
  margin-bottom: 0; }
.section_composer .ab_content_flex {
  flex-wrap: wrap; }
.section_composer.col_50_50 .ab_content_flex .side_a {
  width: calc(50% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_50_50 .ab_content_flex .side_a {
      width: 100%; } }
.section_composer.col_50_50 .ab_content_flex .side_b {
  width: calc(50% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_50_50 .ab_content_flex .side_b {
      width: 100%; } }
.section_composer.col_50_50 .ab_content_flex.remove_flex_gap .side_a {
  width: 50%; }
  @media (max-width: 991px) {
    .section_composer.col_50_50 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.section_composer.col_50_50 .ab_content_flex.remove_flex_gap .side_b {
  width: 50%; }
  @media (max-width: 991px) {
    .section_composer.col_50_50 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.section_composer.col_40_60 .ab_content_flex .side_a {
  width: calc(40% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_40_60 .ab_content_flex .side_a {
      width: 100%; } }
.section_composer.col_40_60 .ab_content_flex .side_b {
  width: calc(60% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_40_60 .ab_content_flex .side_b {
      width: 100%; } }
.section_composer.col_40_60 .ab_content_flex.remove_flex_gap .side_a {
  width: 40%; }
  @media (max-width: 991px) {
    .section_composer.col_40_60 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.section_composer.col_40_60 .ab_content_flex.remove_flex_gap .side_b {
  width: 60%; }
  @media (max-width: 991px) {
    .section_composer.col_40_60 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.section_composer.col_60_40 .ab_content_flex .side_a {
  width: calc(60% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_60_40 .ab_content_flex .side_a {
      width: 100%; } }
.section_composer.col_60_40 .ab_content_flex .side_b {
  width: calc(40% - 25px); }
  @media (max-width: 991px) {
    .section_composer.col_60_40 .ab_content_flex .side_b {
      width: 100%; } }
.section_composer.col_60_40 .ab_content_flex.remove_flex_gap .side_a {
  width: 60%; }
  @media (max-width: 991px) {
    .section_composer.col_60_40 .ab_content_flex.remove_flex_gap .side_a {
      width: 100%; } }
.section_composer.col_60_40 .ab_content_flex.remove_flex_gap .side_b {
  width: 40%; }
  @media (max-width: 991px) {
    .section_composer.col_60_40 .ab_content_flex.remove_flex_gap .side_b {
      width: 100%; } }
.section_composer.col_100 .ab_content_flex {
  flex-direction: column; }
  .section_composer.col_100 .ab_content_flex .side_a {
    width: 100%; }
  .section_composer.col_100 .ab_content_flex .side_b {
    width: 100%; }
.section_composer.sfondo_dark .paragrafo h2 strong {
  color: #606060; }

.text_banner {
  position: relative;
  z-index: 1; }
  @media (max-width: 991px) {
    .text_banner {
      display: flex;
      flex-direction: column;
      padding-top: 0; } }
  @media (max-width: 991px) {
    .text_banner .mod_container {
      order: 2; } }
  @media (max-width: 991px) {
    .text_banner.corpo_testo {
      padding: 40px 0 0; } }
  .text_banner.corpo_testo .paragrafo h2 {
    margin-bottom: 40px; }
  .text_banner.corpo_testo .paragrafo p {
    padding-right: 30px; }
    @media (max-width: 991px) {
      .text_banner.corpo_testo .paragrafo p {
        max-width: 100%; } }
  .text_banner picture {
    position: absolute;
    width: 60vw;
    top: 0;
    left: 0;
    height: 50vh;
    border-radius: 4px; }
    @media (max-width: 1900px) {
      .text_banner picture {
        height: 68vh;
        max-height: 550px; } }
    @media (max-width: 991px) {
      .text_banner picture {
        position: static;
        width: 100%;
        margin-top: 40px;
        order: 1;
        display: block; } }

.grid_padding_top .grid_wrap {
  padding-top: 25px; }

.grid_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
  margin-top: 25px; }
  .grid_wrap.sezione_stile_2 {
    gap: 50px 25px;
    margin-bottom: 0 !important; }
  .grid_wrap.sezione_stile_1 {
    margin-bottom: 50px !important; }
  .grid_wrap.contratta .item_w .inner_w .paragrafo.paragrafo_bottom {
    margin-top: 0; }
  .grid_wrap.contratta .item_w .inner_w .paragrafo h2 {
    font-size: 30px; }
  .grid_wrap.contratta .item_w .inner_w .box_info {
    margin-top: 0; }
    .grid_wrap.contratta .item_w .inner_w .box_info .linea_anim {
      display: none; }
  @media (max-width: 991px) {
    .grid_wrap {
      grid-template-columns: 1fr 1fr !important; } }
  @media (max-width: 575px) {
    .grid_wrap {
      grid-template-columns: 1fr !important;
      gap: 20px; } }
  .grid_wrap.grid_1 {
    grid-template-columns: 1fr; }
  .grid_wrap.grid_2 {
    grid-template-columns: 1fr 1fr; }
  .grid_wrap.grid_3 {
    grid-template-columns: 1fr 1fr 1fr; }
  .grid_wrap.grid_4 {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_7 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_8 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_9 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_10 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_11 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr  1fr 1fr 1fr; }
  .grid_wrap.grid_12 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr  1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_focus {
    margin-top: 25px;
    margin-bottom: 80px; }
    @media (max-width: 991px) {
      .grid_wrap.grid_focus {
        margin-bottom: 20px; } }
    .grid_wrap.grid_focus .item_focus {
      min-height: 350px; }
      .grid_wrap.grid_focus .item_focus .paragrafo h2 {
        font-weight: bold;
        color: #34BDC2;
        text-transform: uppercase;
        font-size: 30px; }
      .grid_wrap.grid_focus .item_focus .paragrafo p {
        color: #34BDC2; }
      .grid_wrap.grid_focus .item_focus picture {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        z-index: -1;
        opacity: 0;
        transition: .3s;
        margin: 0; }
      .grid_wrap.grid_focus .item_focus .video_background {
        opacity: 0;
        transition: .3s; }
      .grid_wrap.grid_focus .item_focus:hover .paragrafo h2 {
        color: #606060; }
      .grid_wrap.grid_focus .item_focus:hover .paragrafo p {
        color: #606060; }
      .grid_wrap.grid_focus .item_focus:hover .inner_w {
        border: 0.06em solid #34BDC2; }
      .grid_wrap.grid_focus .item_focus:hover picture, .grid_wrap.grid_focus .item_focus:hover .video_background {
        opacity: 1; }
  .grid_wrap .item_w {
    position: relative; }
    .grid_wrap .item_w:hover {
      cursor: default; }
    .grid_wrap .item_w .inner_w {
      border: 0.06em solid #34BDC2;
      padding: 30px;
      transition: .3s;
      height: 100%;
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      position: relative;
      border-radius: 20px; }
      @media (max-width: 575px) {
        .grid_wrap .item_w .inner_w {
          padding: 25px; } }
      .grid_wrap .item_w .inner_w .link {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        color: transparent;
        box-shadow: none;
        outline: none; }
        .grid_wrap .item_w .inner_w .link a {
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          margin: 0;
          padding: 0;
          background: transparent;
          border: none;
          color: transparent;
          box-shadow: none;
          outline: none; }
    .grid_wrap .item_w:hover .inner_w {
      border: 0.06em solid #fff;
      box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); }
      @media (max-width: 1024px) {
        .grid_wrap .item_w:hover .inner_w {
          border: 0.06em solid #34BDC2;
          box-shadow: none; } }
    .grid_wrap .item_w .box_info {
      margin-top: 40px; }
    .grid_wrap .item_w h2 {
      font-weight: 300;
      font-size: 48px;
      color: #606060; }
      @media (max-width: 575px) {
        .grid_wrap .item_w h2 {
          font-size: 38px; } }
    .grid_wrap .item_w p {
      font-size: 15px;
      color: #32D8DE; }
    .grid_wrap .item_w picture {
      height: 160px;
      display: block;
      border-radius: 2px;
      margin: 30px 0; }
    .grid_wrap .item_w .paragrafo_bottom {
      margin-top: 30px; }
  .grid_wrap .item_w_stile_2 {
    display: flex; }
    .grid_wrap .item_w_stile_2:hover .inner_w {
      box-shadow: none;
      border: none !important; }
    .grid_wrap .item_w_stile_2 .inner_w {
      height: auto;
      padding: 0;
      border: none;
      display: flex; }
      .grid_wrap .item_w_stile_2 .inner_w .box_info {
        border-top: 1px solid #34BDC2; }
      .grid_wrap .item_w_stile_2 .inner_w .paragrafo h2 {
        font-weight: 300;
        font-size: 30px;
        line-height: 100%;
        color: #606060;
        text-transform: none;
        margin-bottom: 0; }
      .grid_wrap .item_w_stile_2 .inner_w .paragrafo p {
        color: #606060;
        max-width: 250px; }
        @media (max-width: 575px) {
          .grid_wrap .item_w_stile_2 .inner_w .paragrafo p {
            max-width: 100%; } }
      .grid_wrap .item_w_stile_2 .inner_w picture {
        position: relative;
        opacity: 1;
        margin-bottom: 35px;
        max-width: 140px;
        height: auto; }

.sfondo_bk {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1; }
  .sfondo_bk:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .4;
    background: #000;
    z-index: 100; }

/* STILE PRELOADER 3D */
.loader_3d_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #003B3D;
  /* Verde Brand */
  z-index: 9999;
  /* Sopra a tutto l'header e il sito */
  display: flex;
  justify-content: flex-end;
  /* Allinea tutto a destra */
  align-items: flex-end;
  /* Allinea tutto in basso */
  padding: 40px 60px;
  /* Spazio dai bordi dello schermo */
  pointer-events: auto;
  /* Blocca i click sulla pagina mentre carica */
  will-change: transform;
  /* Ottimizza per l'animazione di uscita */
  /* Tipografia Generale del Loader */
  color: #ffffff;
  font-family: "Quicksand", sans-serif;
  font-weight: 300;
  line-height: 1; }
  .loader_3d_wrapper .loader_content {
    display: flex;
    align-items: flex-start;
    /* Allinea il simbolo % in alto rispetto al numero */
    overflow: hidden;
    /* Necessario per animazioni di entrata/uscita pulite */ }
  .loader_3d_wrapper .loader_number {
    display: block;
    font-size: 12rem;
    /* Dimensione Desktop */
    font-weight: 300;
    /* Bold */
    letter-spacing: -4px;
    /* Tracking stretto moderno */
    /* Adattamento Mobile */ }
    @media (max-width: 768px) {
      .loader_3d_wrapper .loader_number {
        font-size: 6rem;
        letter-spacing: -2px; } }
  .loader_3d_wrapper .loader_symbol {
    display: block;
    font-size: 4rem;
    /* Simbolo più piccolo del numero */
    font-weight: 300;
    /* Light */
    margin-top: 20px;
    /* Offset ottico verticale */
    margin-left: 5px;
    /* Adattamento Mobile */ }
    @media (max-width: 768px) {
      .loader_3d_wrapper .loader_symbol {
        font-size: 2rem;
        margin-top: 10px; } }

/* Stato "Caricato":
   Quando GSAP finisce l'animazione, aggiungiamo questa classe al body
   per assicurarci che il loader non sia più cliccabile.
*/
body.is-loaded .loader_3d_wrapper {
  pointer-events: none;
  visibility: hidden; }

.content_three_1 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none; }

.content_three_2 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none; }

#pin-three {
  position: relative; }

.wrapper_text_3d {
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 20;
  top: 0;
  pointer-events: none; }
  .wrapper_text_3d .section_3d_focus {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none; }
    .wrapper_text_3d .section_3d_focus.center_align .mod_container {
      justify-content: center; }
    .wrapper_text_3d .section_3d_focus.center_align .paragrafo_scheda {
      text-align: center;
      transform: translateZ(0);
      will-change: opacity, transform; }
      .wrapper_text_3d .section_3d_focus.center_align .paragrafo_scheda .link {
        margin: 40px auto; }
        @media (max-width: 1024px) {
          .wrapper_text_3d .section_3d_focus.center_align .paragrafo_scheda .link {
            max-width: fit-content;
            margin: 30px auto; }
            .wrapper_text_3d .section_3d_focus.center_align .paragrafo_scheda .link span {
              height: 50px;
              padding: 0 35px; } }
        .wrapper_text_3d .section_3d_focus.center_align .paragrafo_scheda .link span {
          gap: 5px; }
    @media (max-width: 1024px) {
      .wrapper_text_3d .section_3d_focus.right_align {
        align-items: flex-start; } }
    .wrapper_text_3d .section_3d_focus.right_align .mod_container {
      justify-content: flex-end; }
      @media (max-width: 1024px) {
        .wrapper_text_3d .section_3d_focus.right_align .mod_container {
          justify-content: flex-start;
          margin: unset; }
          .wrapper_text_3d .section_3d_focus.right_align .mod_container .paragrafo_scheda {
            text-align: center;
            padding: 60px 25px; } }
    @media (max-width: 1024px) {
      .wrapper_text_3d .section_3d_focus.left_align {
        align-items: flex-start; } }
    .wrapper_text_3d .section_3d_focus.left_align .mod_container {
      justify-content: flex-start; }
      @media (max-width: 1024px) {
        .wrapper_text_3d .section_3d_focus.left_align .mod_container {
          justify-content: flex-start;
          margin: unset; }
          .wrapper_text_3d .section_3d_focus.left_align .mod_container .paragrafo_scheda {
            text-align: center;
            padding: 60px 25px; } }
    .wrapper_text_3d .section_3d_focus .paragrafo_scheda,
    .wrapper_text_3d .section_3d_focus .mod_container {
      pointer-events: auto;
      cursor: auto; }
      .wrapper_text_3d .section_3d_focus .paragrafo_scheda a, .wrapper_text_3d .section_3d_focus .paragrafo_scheda button, .wrapper_text_3d .section_3d_focus .paragrafo_scheda .btn,
      .wrapper_text_3d .section_3d_focus .mod_container a,
      .wrapper_text_3d .section_3d_focus .mod_container button,
      .wrapper_text_3d .section_3d_focus .mod_container .btn {
        cursor: pointer; }
    .wrapper_text_3d .section_3d_focus .paragrafo_scheda {
      visibility: hidden;
      opacity: 0;
      max-width: 500px;
      width: 100%; }
      @media (max-width: 1024px) {
        .wrapper_text_3d .section_3d_focus .paragrafo_scheda {
          max-width: 100%; } }
      @media (max-width: 1024px) {
        .wrapper_text_3d .section_3d_focus .paragrafo_scheda .text_content .wrap_contenuto {
          display: none; } }
      .wrapper_text_3d .section_3d_focus .paragrafo_scheda .img_box_pr_bottom {
        max-width: 200px;
        margin-top: 25px;
        border-radius: 30px; }
        @media (max-width: 1024px) {
          .wrapper_text_3d .section_3d_focus .paragrafo_scheda .img_box_pr_bottom {
            display: none;
            max-width: 60px;
            margin: auto; } }
      .wrapper_text_3d .section_3d_focus .paragrafo_scheda h2 {
        font-size: 36px;
        line-height: 100%; }
        @media (max-width: 1024px) {
          .wrapper_text_3d .section_3d_focus .paragrafo_scheda h2 {
            font-size: 26px;
            line-height: 120%; } }
      .wrapper_text_3d .section_3d_focus .paragrafo_scheda ul li::before {
        background-image: url(../images/check-icon-w.svg);
        content: "";
        padding-right: 10px;
        width: 20px;
        height: 20px;
        display: inline-block;
        margin-right: 10px;
        color: #34BDC2;
        background-size: contain;
        background-repeat: no-repeat; }
        @media (max-width: 575px) {
          .wrapper_text_3d .section_3d_focus .paragrafo_scheda ul li::before {
            width: 16px;
            height: 16px;
            position: relative;
            top: 3px; } }
      .wrapper_text_3d .section_3d_focus .paragrafo_scheda h2, .wrapper_text_3d .section_3d_focus .paragrafo_scheda p, .wrapper_text_3d .section_3d_focus .paragrafo_scheda li {
        color: #fff; }
      @media (max-width: 1600px) {
        .wrapper_text_3d .section_3d_focus .paragrafo_scheda p {
          font-size: 20px; } }
      @media (max-width: 1024px) {
        .wrapper_text_3d .section_3d_focus .paragrafo_scheda p {
          font-size: 17px;
          line-height: 130%; } }

#section_3d_1 {
  padding-top: 120px; }
  #section_3d_1 .mod_container {
    margin: unset; }
    #section_3d_1 .mod_container .paragrafo_scheda {
      max-width: 900px; }

#testo_1 img {
  width: 260px;
  height: auto;
  margin: 30px auto; }
  @media (max-width: 575px) {
    #testo_1 img {
      width: 200px; } }

.body_wrap_prodotto_helianthus #testo_1 img {
  width: 350px; }

.map_button {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  width: fit-content;
  gap: 20px;
  padding: 20px 20px;
  border-radius: 50px;
  z-index: 99; }
  .map_button .button {
    width: 40px;
    height: 40px;
    cursor: pointer;
    pointer-events: all;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(18px);
    background-color: rgba(255, 255, 255, 0.18);
    transition: .3s;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .map_button .button:hover {
      background-color: #32898D; }
    .map_button .button.active {
      background-color: #32898D; }
    .map_button .button p {
      font-size: 14px;
      font-weight: bold;
      pointer-events: none;
      color: #fff; }

.prodotti-template-single-prodotti-3d .modal_premium_large .modal_inner {
  max-width: 1200px; }
.prodotti-template-single-prodotti-3d .sezione_contatti {
  padding-top: 100px; }
  @media (max-width: 1024px) {
    .prodotti-template-single-prodotti-3d .sezione_contatti {
      padding: 40px 0; } }
.prodotti-template-single-prodotti-3d .info_prev_contatti, .prodotti-template-single-prodotti-3d .sezione_contatti {
  padding-top: 100px;
  background: #fff;
  z-index: 100;
  position: relative; }

.container_cybele,
.container_helianthus,
.container_3d {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: relative;
  z-index: 10;
  overflow: hidden;
  border-radius: 0;
  background-color: transparent;
  transform: translateZ(0);
  will-change: transform; }

canvas {
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  outline: none; }

.webgl_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; }
  .webgl_wrapper#webgl-cybele {
    background-color: #00444D; }
  .webgl_wrapper#webgl-helianthus {
    background-color: #374250; }

.wrapper_text_3d {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 20;
  pointer-events: none; }
  .wrapper_text_3d .section_3d_focus {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none; }

.body_wrap_prodotto_cybele .wrap_global_container {
  background-color: #00444D; }
.body_wrap_prodotto_cybele #testo_15 {
  margin-top: -20%; }
@media (max-width: 1280px) {
  .body_wrap_prodotto_cybele #modal_14 .modal_content_scroll {
    align-items: center; }
    .body_wrap_prodotto_cybele #modal_14 .modal_content_scroll .modal_inner {
      min-height: auto; } }

.body_wrap_prodotto_helianthus .wrap_global_container {
  background-color: #374250; }

.container_cybele {
  height: 100vh;
  height: 100dvh;
  width: 100%;
  position: relative;
  z-index: 10; }
  .container_cybele .container_canvas {
    background-color: #00444D; }
  .container_cybele #testo_7.paragrafo_scheda {
    max-width: 400px; }
    @media (max-width: 1024px) {
      .container_cybele #testo_7.paragrafo_scheda {
        max-width: 100%; } }
  @media (max-width: 1024px) {
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_4 .cta_wrapper_3d .mobile_trigger, .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_6 .cta_wrapper_3d .mobile_trigger {
      margin-top: 28vh; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_7 .cta_wrapper_3d .mobile_trigger {
      margin-top: 38vh; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_5 {
      align-items: center; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_16 {
      align-items: flex-start; }
      .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_16 .cta_wrapper_3d .mobile_trigger {
        margin-top: 38vh; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_17 {
      align-items: flex-start; }
      .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_17 .cta_wrapper_3d .mobile_trigger {
        margin-top: 35vh; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_15 {
      align-items: flex-end; }
      .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_15 .cta_wrapper_3d .mobile_trigger {
        position: relative;
        top: -30vh;
        margin-top: 0; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_6 {
      align-items: flex-end; }
      .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_6 .cta_wrapper_3d .mobile_trigger {
        position: relative;
        top: -42vh;
        margin-top: 0; }
    .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_19 .mod_container {
      height: 100%; }
      .container_cybele .wrapper_text_3d .section_3d_focus#section_3d_19 .mod_container .paragrafo_scheda {
        display: flex;
        padding: 60px 25px 180px;
        flex-direction: column;
        justify-content: space-between; } }

.container_helianthus {
  height: 100vh;
  height: 100dvh;
  width: 100%;
  position: relative; }
  .container_helianthus .container_canvas {
    background-color: #374250; }
  .container_helianthus #section_3d_1 .mod_container {
    padding-top: 12vh; }
  .container_helianthus #testo_7.paragrafo_scheda {
    max-width: 400px; }
    @media (max-width: 1024px) {
      .container_helianthus #testo_7.paragrafo_scheda {
        max-width: 100%; } }
  .container_helianthus #testo_15.paragrafo_scheda {
    max-width: 400px; }
    @media (max-width: 1024px) {
      .container_helianthus #testo_15.paragrafo_scheda {
        max-width: 100%; } }
  @media (max-width: 1024px) {
    .container_helianthus .wrapper_text_3d .section_3d_focus#section_3d_9 {
      align-items: center;
      padding-top: 25%; }
      .container_helianthus .wrapper_text_3d .section_3d_focus#section_3d_9 .cta_wrapper_3d .mobile_trigger {
        position: relative;
        top: 6vh;
        margin-top: 0; }
    .container_helianthus .wrapper_text_3d .section_3d_focus#section_3d_13 .cta_wrapper_3d .mobile_trigger {
      position: relative;
      top: 45vh;
      margin-top: 0; }
    .container_helianthus .wrapper_text_3d .section_3d_focus#section_3d_15 .mod_container {
      height: 100%; }
      .container_helianthus .wrapper_text_3d .section_3d_focus#section_3d_15 .mod_container .paragrafo_scheda {
        display: flex;
        padding: 60px 25px 180px;
        flex-direction: column;
        justify-content: space-between; } }

.container_canvas {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease-out, visibility .8s ease-out; }
  .container_canvas .content_circle {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    position: relative; }
    .container_canvas .content_circle .motion-circle-wrapper {
      width: 200px;
      height: 200px; }
      .container_canvas .content_circle .motion-circle-wrapper .cerchio-pieno {
        fill: transparent; }
    .container_canvas .content_circle .emme_logo {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .container_canvas .content_circle .emme_logo svg {
        width: 60px;
        height: auto; }
  .container_canvas.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition: opacity 0.3s ease-in, visibility 0.3s ease-in; }

.circle_svg_motion {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  animation: container-rotate 2s linear infinite; }

.circle_svg_motion .arco {
  fill: none;
  stroke: #40E0D0;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 1, 521;
  stroke-dashoffset: 0;
  animation: dash-elastic 1.5s ease-in-out infinite; }

/* --- KEYFRAMES --- */
@keyframes container-rotate {
  100% {
    transform: rotate(360deg); } }
@keyframes dash-elastic {
  0% {
    stroke-dasharray: 1, 521;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 400, 521;
    stroke-dashoffset: -100; }
  100% {
    stroke-dasharray: 1, 521;
    stroke-dashoffset: -520; } }
.prodotti-template-single-prodotti-3d header {
  position: fixed; }
  .prodotti-template-single-prodotti-3d header .grid_header {
    transition: 1s; }
.prodotti-template-single-prodotti-3d .wrap_global_container::before {
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 0; }
.prodotti-template-single-prodotti-3d .back_to_top_site {
  display: none; }
.prodotti-template-single-prodotti-3d .back_to_start_3d {
  right: 40px;
  bottom: 100px;
  position: fixed !important;
  /* FONDAMENTALE: Fixed per uscire dal container pinnato */
  z-index: 1000 !important;
  /* Altissimo per stare sopra a tutto */
  pointer-events: auto !important;
  /* STATO INIZIALE: NASCOSTO */
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  /* Piccola animazione di entrata */
  transition: opacity 0.4s ease, transform 0.4s ease, background-color 0.3s;
  background: #00444D;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: pointer;
  /* --- STATO ATTIVO (Aggiunto da JS dopo lo scroll) --- */
  /* --- TEMI COLORE (Gestiti via classe) --- */ }
  @media (max-width: 1024px) {
    .prodotti-template-single-prodotti-3d .back_to_start_3d {
      backdrop-filter: blur(30px);
      border-style: solid;
      border-color: rgba(255, 255, 255, 0.1);
      background: rgba(255, 255, 255, 0.1); } }
  .prodotti-template-single-prodotti-3d .back_to_start_3d svg {
    cursor: pointer;
    width: 15px; }
  .prodotti-template-single-prodotti-3d .back_to_start_3d:hover {
    background-color: #34BDC2; }
  .prodotti-template-single-prodotti-3d .back_to_start_3d button {
    pointer-events: auto !important;
    background-color: #00444D; }
    .prodotti-template-single-prodotti-3d .back_to_start_3d button:hover {
      transform: translateY(0) scale(1.1);
      border-color: #fff; }
      .prodotti-template-single-prodotti-3d .back_to_start_3d button:hover svg {
        transform: translateY(-3px); }
  .prodotti-template-single-prodotti-3d .back_to_start_3d.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0); }

/* NAVIGAZIONE CINEMA REEL */
.cinema_timeline_wrapper {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: 100%;
  height: 70px;
  background: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  /* Maschera sfumata ai lati */
  mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%); }
  .cinema_timeline_wrapper .cinema_timeline_scroll {
    display: flex;
    align-items: center;
    height: 100%;
    overflow-x: auto;
    padding: 0 calc(50% - 22px);
    /* Padding ampio per centrare primo/ultimo */
    /* FIX CRUCIALE: Nascondi scrollbar */
    /* Riabilita interazione */
    pointer-events: auto;
    /* Scroll Orizzontale */
    overflow-x: auto;
    overflow-y: hidden;
    /* Inerzia iOS */
    -webkit-overflow-scrolling: touch;
    /* Impedisce al browser di gestire gesture avanti/indietro */
    overscroll-behavior-x: contain;
    /* Padding per centrare primo e ultimo */
    box-sizing: border-box;
    /* FIX SAFARI: Forza accelerazione hardware per gestire meglio lo scroll */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    /* Nascondi scrollbar */
    scrollbar-width: none; }
    .cinema_timeline_wrapper .cinema_timeline_scroll::-webkit-scrollbar {
      display: none; }
    .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn {
      /* FIX CRUCIALE: Impedisce lo schiacciamento */
      flex-shrink: 0;
      flex-grow: 0;
      position: relative;
      width: 44px;
      height: 44px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 4px;
      /* Spaziatura tra i cerchi */
      cursor: pointer;
      border-radius: 50%;
      /* Assicura area cliccabile tonda */
      /* Assicurati che il touch non selezioni il testo */
      user-select: none;
      -webkit-user-select: none;
      /* Numero */
      /* SVG Progress Circle */
      /* STATO HOVER (Opzionale) */
      /* STATO ATTIVO */ }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn p {
        position: relative;
        z-index: 2;
        margin: 0;
        font-weight: 300;
        font-size: 14px;
        font-family: "Quicksand", sans-serif;
        color: rgba(255, 255, 255, 0.4);
        transition: all 0.3s ease; }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn .progress_ring {
        position: absolute;
        top: 0;
        left: 0;
        width: 44px;
        /* Dimensioni esplicite */
        height: 44px;
        transform: rotate(-90deg);
        z-index: 1;
        pointer-events: none; }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn .progress_ring__circle {
        stroke-dasharray: 125.6;
        /* Circonferenza r=20 */
        stroke-dashoffset: 125.6;
        /* Parte vuoto */
        stroke: #fff;
        /* Colore Brand */
        opacity: 0;
        transition: opacity 0.3s ease;
        /* Fade in morbido del cerchio */ }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn:hover p {
        color: #fff; }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn.active p {
        font-family: "Quicksand", sans-serif;
        color: #fff;
        font-weight: bold; }
      .cinema_timeline_wrapper .cinema_timeline_scroll .timeline_btn.active .progress_ring__circle {
        opacity: 1;
        /* Mostra il cerchio */ }

/* PULSANTE APPROFONDISCI */
.btn_open_modal {
  margin-top: 20px; }
  @media (max-width: 1024px) {
    .btn_open_modal {
      margin: 20px auto; } }
  .btn_open_modal span {
    gap: 5px; }
  .btn_open_modal:hover {
    border-radius: 50px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }

/* MODAL GLOBAL WRAPPER */
.modals_wrapper_global {
  position: relative;
  z-index: 99999; }

/* SINGOLO MODAL */
.modal_premium {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  display: none; }
  .modal_premium.active {
    display: block; }
  .modal_premium .modal_backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px); }
  .modal_premium .modal_content_scroll {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    overflow-x: hidden;
    /* FIX MOBILE: Abilita inerzia e gestione touch nativa */
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior: contain;
    /* MODIFICA: Setup Flex per margin: auto */
    display: flex;
    flex-direction: column;
    /* Importante per gestire lo scroll verticale correttamente */
    padding: 40px;
    /* Rimosso justify-content e align-items per usare margin: auto sul figlio */
    /* Scrollbar nascosta */
    scrollbar-width: none; }
    @media (max-width: 1024px) {
      .modal_premium .modal_content_scroll {
        padding: 20px;
        /* Rimosso align-items: flex-start perché margin: auto gestisce tutto automaticamente */ } }
    .modal_premium .modal_content_scroll::-webkit-scrollbar {
      display: none; }
  .modal_premium .modal_inner {
    background: #fff;
    width: 100%;
    /* MODIFICA FONDAMENTALE: */
    margin: auto;
    /* Questo centra se c'è spazio, e allinea in alto se scrolla */
    max-width: 900px;
    min-height: 50vh;
    padding: 60px 20px 20px;
    border-radius: 20px;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    color: #000; }
    @media (max-width: 1024px) {
      .modal_premium .modal_inner {
        padding: 20px;
        min-height: auto; } }
  .modal_premium .btn_close_modal {
    background: none;
    border: none;
    gap: 5px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #000;
    transition: opacity 0.3s;
    z-index: 100;
    position: relative;
    top: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
    cursor: pointer; }
    .modal_premium .btn_close_modal:hover {
      opacity: 0.6; }
  @media (max-width: 1024px) {
    .modal_premium .modal_body .info_prenotazioni {
      display: none; } }
  .modal_premium .modal_body video {
    width: 100%;
    border-radius: 30px; }
    @media (max-width: 1024px) {
      .modal_premium .modal_body video {
        border-radius: 12px; } }
  .modal_premium .modal_body h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #34BDC2; }
  .modal_premium .modal_body p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 20px; }

/* Blocca lo scroll del body quando il modal è aperto */
body.is-modal-open {
  overflow: hidden; }

.group_icon {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-top: 40px;
  justify-content: space-around; }
  @media (max-width: 575px) {
    .group_icon {
      gap: 20px;
      justify-content: unset; } }
  .group_icon .icon_box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    @media (max-width: 1024px) {
      .group_icon .icon_box {
        align-items: center; } }
    .group_icon .icon_box picture {
      height: 50px;
      width: auto;
      margin-bottom: 20px;
      display: flex;
      justify-content: center; }
      @media (max-width: 575px) {
        .group_icon .icon_box picture {
          height: 40px; } }
      .group_icon .icon_box picture img {
        width: auto; }
    .group_icon .icon_box h3 {
      font-size: 16px;
      font-weight: 300;
      color: #fff; }

.content_circle_pr {
  transition: .8s;
  opacity: 1;
  visibility: visible;
  bottom: 0;
  pointer-events: auto !important;
  cursor: pointer; }
  .content_circle_pr .scroll_to_section {
    cursor: pointer;
    pointer-events: auto; }
  .content_circle_pr .motion-circle-wrapper {
    position: relative;
    left: 10px; }
  .content_circle_pr.active {
    opacity: 0;
    visibility: hidden; }

/* --- GESTIONE MOBILE READ MORE & MODAL --- */
/* 1. Pagina Principale: Nascondere SOLO il contenuto testuale su Mobile, lasciando il titolo */
@media (max-width: 1024px) {
  .wrapper_text_3d .section_3d_focus .paragrafo_scheda .text_content .wrap_contenuto {
    display: none; }
  .wrapper_text_3d .section_3d_focus .paragrafo_scheda .text_content .wrap_titolo {
    display: block; }
  .wrapper_text_3d .section_3d_focus .paragrafo_scheda .text_content.show_wrap_contenuto .wrap_contenuto {
    display: block; }
  .wrapper_text_3d .section_3d_focus .paragrafo_scheda .text_content.hidden_wrap_contenuto .wrap_contenuto {
    display: none; } }

/* 2. Pulsanti Trigger (Cta) */
.cta_wrapper_3d .desktop_trigger {
  display: flex; }
  @media (max-width: 1024px) {
    .cta_wrapper_3d .desktop_trigger {
      display: none !important;
      /* Nasconde Approfondisci su mobile */ } }
.cta_wrapper_3d .mobile_trigger {
  display: none; }
  @media (max-width: 1024px) {
    .cta_wrapper_3d .mobile_trigger {
      display: flex !important;
      /* Mostra Leggi Tutto su mobile */
      margin-top: 40px; } }

/* 3. Contenuto dentro il Modale */
.modal_premium {
  /* Blocco duplicato del testo principale */ }
  .modal_premium .mobile_content_copy {
    display: none;
    /* Nascosto su desktop */
    /* Regole interne al blocco mobile nel modale */
    /* IMPORTANTE: Qui il contenuto DEVE vedersi */ }
    @media (max-width: 1024px) {
      .modal_premium .mobile_content_copy {
        display: block; }
        .modal_premium .mobile_content_copy .img_box_pr_bottom {
          display: block;
          margin-top: 30px; }
          .modal_premium .mobile_content_copy .img_box_pr_bottom img {
            border-radius: 20px; } }
    .modal_premium .mobile_content_copy .wrap_titolo {
      margin-bottom: 15px; }
      .modal_premium .mobile_content_copy .wrap_titolo h2 {
        font-size: 2rem; }
    .modal_premium .mobile_content_copy .wrap_contenuto {
      display: block !important; }
  .modal_premium .mobile_divider {
    border: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
    margin: 20px 0; }

/* --- PRESENTATION MODE MINIMALE --- */
.btn_presentation_mode {
  position: fixed;
  bottom: 190px;
  right: 40px;
  z-index: 10001;
  background: #00444D;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid white;
  /* Bordo semi-trasparente */
  color: #fff;
  cursor: pointer;
  transition: opacity 0.4s ease, transform 0.4s ease, background-color 0.3s, left 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: auto !important;
  /* SVG Ring di caricamento */ }
  @media (max-width: 991px) {
    .btn_presentation_mode {
      bottom: 100px;
      left: calc(50% - 25px);
      right: auto; }
      .btn_presentation_mode.active {
        left: 40px; } }
  .btn_presentation_mode .presentation_ring {
    position: absolute;
    top: -1px;
    left: -1px;
    /* Compensa il bordo */
    width: 50px;
    height: 50px;
    transform: rotate(-90deg);
    /* Fa partire il cerchio dall'alto (ore 12) */ }
  .btn_presentation_mode .presentation_ring__circle {
    stroke-dasharray: 151;
    /* Circonferenza esatta (2 * PI * 24) */
    stroke-dashoffset: 151;
    /* Nascosto di default */ }
  .btn_presentation_mode * {
    pointer-events: none !important; }
  .btn_presentation_mode svg {
    width: 20px;
    height: 20px; }
  .btn_presentation_mode .icon_pause {
    display: none; }
  .btn_presentation_mode:hover {
    background-color: #34BDC2;
    transform: scale(1.1); }
  .btn_presentation_mode.is-playing {
    background: #fff;
    color: #00444D;
    border-color: transparent;
    /* Nascondiamo il bordo vero per far vedere solo la barra che si riempie */ }
    .btn_presentation_mode.is-playing .presentation_ring__circle {
      stroke: #00444D;
      /* Il cerchio di progresso diventa verde scuro sul bottone bianco */ }
    .btn_presentation_mode.is-playing .icon_play {
      display: none; }
    .btn_presentation_mode.is-playing .icon_pause {
      display: block; }

/* Blocco interazioni quando in Play (FIXATO) */
body.is-presentation-mode .cinema_timeline_wrapper,
body.is-presentation-mode .cinema_timeline_scroll,
body.is-presentation-mode .back_to_start_3d,
body.is-presentation-mode .wrapper_text_3d {
  pointer-events: none !important; }
body.is-presentation-mode .cinema_timeline_wrapper, body.is-presentation-mode .back_to_start_3d {
  opacity: 0.5 !important;
  transition: opacity 0.5s; }

.section_curve_reveal {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
  margin-top: 50px; }
  .section_curve_reveal .curve_element {
    background-color: #34BDC2;
    width: 100%;
    height: 100vw;
    position: relative;
    will-change: border-radius;
    background-image: url("../images/noise.webp");
    background-repeat: repeat;
    background-attachment: fixed; }
  .section_curve_reveal .curve_top_wrapper {
    position: relative;
    width: 100%;
    height: 100vw;
    z-index: 1;
    pointer-events: none;
    margin-bottom: -50vw; }
    .section_curve_reveal .curve_top_wrapper .curve_element.top {
      border-radius: 50%; }
  .section_curve_reveal .curve_body {
    position: relative;
    width: 100%;
    z-index: 10;
    background-color: #34BDC2;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    padding: 100px 20px;
    background-image: url("../images/noise.webp");
    background-repeat: repeat;
    background-attachment: fixed; }
    @media (max-width: 991px) {
      .section_curve_reveal .curve_body {
        padding-top: 0;
        padding-bottom: 20px; } }
    .section_curve_reveal .curve_body .paragrafo {
      max-width: 900px;
      width: 100%;
      margin: 0 auto;
      opacity: 1;
      will-change: transform, opacity; }
      .section_curve_reveal .curve_body .paragrafo h2 {
        font-size: clamp(30px, 5vw, 60px);
        margin-bottom: 30px;
        line-height: 1.1; }
        @media (max-width: 991px) {
          .section_curve_reveal .curve_body .paragrafo h2 {
            margin-bottom: 20px; } }
      .section_curve_reveal .curve_body .paragrafo p {
        font-size: clamp(16px, 2vw, 18px);
        line-height: 130%; }
        @media (max-width: 991px) {
          .section_curve_reveal .curve_body .paragrafo p {
            line-height: 130%; } }
  .section_curve_reveal .curve_bottom_wrapper {
    position: relative;
    width: 100%;
    height: 100vw;
    z-index: 1;
    pointer-events: none;
    margin-top: -50vw; }
    .section_curve_reveal .curve_bottom_wrapper .curve_element.bottom {
      border-radius: 0 0 50% 50%;
      transform-origin: center bottom; }
    .section_curve_reveal .curve_bottom_wrapper .curve_bottom_content {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 50vw;
      z-index: 5;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      color: #fff;
      padding: 0 20px; }
      .section_curve_reveal .curve_bottom_wrapper .curve_bottom_content .outro_text {
        max-width: 800px; }
  .section_curve_reveal .curve_top_content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vw;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    padding: 0 20px; }
    .section_curve_reveal .curve_top_content .intro_text {
      max-width: 800px; }
      .section_curve_reveal .curve_top_content .intro_text .tracciato-wrapper {
        position: absolute;
        margin-top: 95px; }
        @media (max-width: 991px) {
          .section_curve_reveal .curve_top_content .intro_text .tracciato-wrapper {
            display: none; } }
      @media (max-width: 991px) {
        .section_curve_reveal .curve_top_content .intro_text .paragrafo {
          position: relative;
          top: 30%; }
          .section_curve_reveal .curve_top_content .intro_text .paragrafo h2 {
            font-size: 30px;
            margin-bottom: 15px; }
          .section_curve_reveal .curve_top_content .intro_text .paragrafo p {
            font-size: 18px; } }
      @media (max-width: 575px) {
        .section_curve_reveal .curve_top_content .intro_text .paragrafo {
          max-width: 280px; } }

/*************** Animated BG with orbs ***************/
.animated-bg {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: -1;
  height: 100vh;
  width: 100vw;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  will-change: opacity, transform; }

.animated-bg .a_1 {
  height: 33.3vw;
  width: 33.3vw;
  border-radius: 50%;
  position: absolute;
  animation: moveX1 14s linear 0s infinite alternate, moveY1 4.5s linear 0s infinite alternate;
  z-index: 1;
  webkit-transform: scale(3);
  -moz-transform: scale(3);
  -ms-transform: scale(3);
  -o-transform: scale(3);
  transform: scale(3); }
  @media (max-width: 1024px) {
    .animated-bg .a_1 {
      height: 66.6vw;
      width: 66.6vw; } }
  @media (max-width: 991px) {
    .animated-bg .a_1 {
      height: 90.6vw;
      width: 90.6vw; } }

.animated-bg .a_2 {
  height: 33.3vw;
  width: 33.3vw;
  border-radius: 50%;
  position: absolute;
  animation: moveX2 14s linear 0s infinite alternate, moveY2 4.5s linear 0s infinite alternate;
  z-index: 2;
  webkit-transform: scale(3);
  -moz-transform: scale(3);
  -ms-transform: scale(3);
  -o-transform: scale(3);
  transform: scale(3); }
  @media (max-width: 1024px) {
    .animated-bg .a_2 {
      height: 66.6vw;
      width: 66.6vw; } }
  @media (max-width: 991px) {
    .animated-bg .a_2 {
      height: 90.6vw;
      width: 90.6vw; } }

.animated-bg .a_1::after {
  content: "";
  position: absolute;
  left: -30vw;
  top: -30vw;
  width: 150vw;
  height: 150vw;
  pointer-events: none;
  border-radius: 50%; }

.animated-bg .a_2::after {
  content: "";
  position: absolute;
  left: -30vw;
  top: -30vw;
  width: 150vw;
  height: 150vw;
  pointer-events: none;
  border-radius: 50%; }

.animated-container-bg {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: -1;
  height: 100vh;
  width: 100vw;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: var(--grey70); }

.animated-container-bg .a_1::after {
  content: "";
  position: absolute;
  left: -3vw;
  top: -3vw;
  width: 25vw;
  height: 25vw;
  pointer-events: none;
  border-radius: 50%; }

.animated-container-bg .a_2::after {
  content: "";
  position: absolute;
  left: -3vw;
  top: -3vw;
  width: 25vw;
  height: 25vw;
  pointer-events: none;
  border-radius: 50%; }

body .animated-bg .a_1 {
  background-image: url("../images/red_one.png");
  background-size: cover;
  background-repeat: no-repeat; }

body .animated-bg .a_2 {
  background-image: url("../images/black_one.png");
  background-size: cover;
  background-repeat: no-repeat; }

/*************** Animations keyframes ***************/
@keyframes moveCX1 {
  from {
    left: 0; }
  to {
    left: 50px; } }
@keyframes moveCY1 {
  from {
    top: 0; }
  to {
    top: 90vh; } }
@keyframes moveCX2 {
  from {
    right: 0; }
  to {
    right: -100px; } }
@keyframes moveCY2 {
  0% {
    top: 90vh; }
  100% {
    top: -20vh; } }
@keyframes moveX1 {
  from {
    left: 0; }
  to {
    left: 50vw; } }
@keyframes moveY1 {
  from {
    top: 0; }
  to {
    top: 90vh; } }
@keyframes moveX2 {
  from {
    right: 0; }
  to {
    right: 100vw; } }
@keyframes moveY2 {
  0% {
    top: 90vh; }
  100% {
    top: -20vh; } }
@keyframes moveX3 {
  from {
    left: 30vw; }
  to {
    left: 90vw; } }
@keyframes moveY3 {
  from {
    top: 30vh; }
  to {
    top: -90vh; } }
/* --- 1. OVERLAY PRINCIPALE (Il contenitore padre) --- */
.mega_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 99;
  background-color: #3BBDBF;
  padding-top: 140px;
  overflow-y: auto;
  /* FIX SCROLL */
  -webkit-overflow-scrolling: touch;
  /* Abilita inerzia su iOS */
  overscroll-behavior: contain;
  /* Impedisce che lo scroll muova il body sotto */
  padding-bottom: 100px;
  /* Spazio extra in fondo per non tagliare l'ultima voce */
  opacity: 0;
  visibility: hidden;
  /* --- 2. CONTENITORE GRIGLIA --- */ }
  @media (max-width: 991px) {
    .mega_menu {
      padding-top: 110px; } }
  .mega_menu .mod_container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto; }
    .mega_menu .mod_container .select_language {
      display: none; }
    @media (max-width: 575px) {
      .mega_menu .mod_container {
        flex-direction: column; }
        .mega_menu .mod_container .select_language {
          display: flex; } }
    .mega_menu .mod_container > ul {
      width: 100%;
      padding: 0;
      margin: 0;
      list-style: none; }
      .mega_menu .mod_container > ul > li {
        width: 100%;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3);
        position: relative;
        opacity: 0;
        transform: translateY(30px);
        /* --- 3. ACCORDION FIX (Sub-menu) --- */ }
        .mega_menu .mod_container > ul > li.remove_desktop {
          display: none; }
          @media (max-width: 1280px) {
            .mega_menu .mod_container > ul > li.remove_desktop {
              display: block; } }
        .mega_menu .mod_container > ul > li > a {
          color: #fff;
          font-size: 40px;
          line-height: 80px;
          text-decoration: none;
          display: flex;
          justify-content: space-between;
          align-items: center;
          cursor: pointer;
          pointer-events: auto !important; }
          @media (max-width: 991px) {
            .mega_menu .mod_container > ul > li > a {
              font-size: 28px; } }
          @media (max-width: 575px) {
            .mega_menu .mod_container > ul > li > a {
              font-size: 24px;
              line-height: 60px; } }
          .mega_menu .mod_container > ul > li > a:hover {
            color: #1C1C1C; }
            @media (max-width: 991px) {
              .mega_menu .mod_container > ul > li > a:hover {
                color: #fff; } }
          .mega_menu .mod_container > ul > li > a .accordion-icon {
            width: 24px;
            height: 24px;
            position: relative;
            display: block; }
            .mega_menu .mod_container > ul > li > a .accordion-icon::before, .mega_menu .mod_container > ul > li > a .accordion-icon::after {
              content: '';
              position: absolute;
              background: #fff;
              transition: transform 0.3s ease; }
            .mega_menu .mod_container > ul > li > a .accordion-icon::before {
              top: 50%;
              left: 0;
              width: 100%;
              height: 2px;
              margin-top: -1px; }
            .mega_menu .mod_container > ul > li > a .accordion-icon::after {
              top: 0;
              left: 50%;
              width: 2px;
              height: 100%;
              margin-left: -1px; }
          .mega_menu .mod_container > ul > li > a:hover {
            opacity: 0.8; }
        .mega_menu .mod_container > ul > li.menu_is_open > a .accordion-icon::after {
          transform: rotate(90deg); }
        .mega_menu .mod_container > ul > li .sub-menu-wrapper {
          height: 0;
          overflow: hidden;
          will-change: height; }
        .mega_menu .mod_container > ul > li .sub-menu {
          padding: 40px;
          border-radius: 30px;
          background-color: rgba(255, 255, 255, 0.2);
          backdrop-filter: blur(15px);
          -webkit-backdrop-filter: blur(15px);
          margin-bottom: 30px; }
          .mega_menu .mod_container > ul > li .sub-menu li {
            list-style: none;
            border: none !important;
            opacity: 0;
            transform: translateY(10px); }
            .mega_menu .mod_container > ul > li .sub-menu li a {
              font-size: 25px;
              line-height: 2;
              color: #fff;
              display: block;
              text-decoration: none; }
              .mega_menu .mod_container > ul > li .sub-menu li a .accordion-icon {
                display: none; }
              .mega_menu .mod_container > ul > li .sub-menu li a:hover {
                font-weight: bold; }
        .mega_menu .mod_container > ul > li .sub-menu-grid {
          display: flex;
          background-color: rgba(255, 255, 255, 0.2);
          backdrop-filter: blur(15px);
          -webkit-backdrop-filter: blur(15px);
          border-radius: 30px;
          padding: 40px;
          margin-bottom: 30px;
          gap: 30px; }
          @media (max-width: 991px) {
            .mega_menu .mod_container > ul > li .sub-menu-grid {
              flex-direction: column;
              padding: 20px; } }
        .mega_menu .mod_container > ul > li .sub-menu-links {
          flex: 1;
          padding: 0;
          margin: 0;
          list-style: none; }
          .mega_menu .mod_container > ul > li .sub-menu-links li {
            border: none !important;
            opacity: 0;
            transform: translateY(10px); }
            .mega_menu .mod_container > ul > li .sub-menu-links li.under_group {
              padding-left: 20px; }
            .mega_menu .mod_container > ul > li .sub-menu-links li a {
              font-size: 25px;
              line-height: 2;
              color: #fff;
              display: block;
              text-decoration: none;
              transition: opacity 0.3s;
              opacity: 0.7; }
              @media (max-width: 991px) {
                .mega_menu .mod_container > ul > li .sub-menu-links li a {
                  opacity: 1; } }
              .mega_menu .mod_container > ul > li .sub-menu-links li a .accordion-icon {
                display: none; }
              .mega_menu .mod_container > ul > li .sub-menu-links li a:hover {
                font-weight: bold;
                opacity: 1; }
        .mega_menu .mod_container > ul > li .sub-menu-image-col {
          width: 40%;
          position: relative;
          min-height: 250px;
          border-radius: 20px;
          overflow: hidden;
          background-color: rgba(0, 0, 0, 0.1); }
          @media (max-width: 991px) {
            .mega_menu .mod_container > ul > li .sub-menu-image-col {
              display: none; } }
          .mega_menu .mod_container > ul > li .sub-menu-image-col .menu-image-target {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0; }
            .mega_menu .mod_container > ul > li .sub-menu-image-col .menu-image-target img {
              width: 100%;
              height: 100%;
              object-fit: cover;
              position: absolute;
              top: 0;
              left: 0; }

.reveal_content,
.hero_anim_trigger {
  opacity: 0;
  visibility: hidden; }

.splash-loader-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 1000;
  background-color: #34BDC2;
  /* Colore base sotto al logo */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  pointer-events: all;
  /* Maschera per il reveal finale (Buco) */
  --mask-size: 0%;
  mask-image: radial-gradient(circle at center, transparent var(--mask-size), black var(--mask-size));
  -webkit-mask-image: radial-gradient(circle at center, transparent var(--mask-size), black var(--mask-size)); }
  .splash-loader-container .splash-logo {
    position: absolute;
    width: 80px;
    z-index: 1;
    scale: .6;
    opacity: 0;
    /* Parte invisibile, animata da GSAP */
    /* Logo bianco su fondo ciano */ }
    .splash-loader-container .splash-logo svg, .splash-loader-container .splash-logo img {
      width: 100%;
      height: auto;
      display: block; }
    .splash-loader-container .splash-logo path {
      fill: #ffffff; }
  .splash-loader-container .splash-layer {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Partenza: Cerchio chiuso */
    clip-path: circle(0% at 50% 50%);
    -webkit-clip-path: circle(0% at 50% 50%); }
    .splash-loader-container .splash-layer h2 {
      font-family: "Quicksand", sans-serif;
      font-size: 60px;
      font-weight: 300;
      text-transform: uppercase; }
      @media (max-width: 991px) {
        .splash-loader-container .splash-layer h2 {
          font-size: 40px; } }
    .splash-loader-container .splash-layer.layer-continuity {
      background-color: #ffffff;
      color: #34BDC2;
      z-index: 10; }
    .splash-loader-container .splash-layer.layer-creativity {
      background-color: #34BDC2;
      color: #ffffff;
      z-index: 20; }
    .splash-loader-container .splash-layer.layer-commitment {
      background-color: #ffffff;
      color: #34BDC2;
      z-index: 30; }

/* --- CHART SECTION --- */
.turnover_chart_section {
  padding: 80px 0;
  padding-top: 0;
  position: relative; }
  .turnover_chart_section .paragrafo {
    margin: 100px 0; }
    @media (max-width: 991px) {
      .turnover_chart_section .paragrafo {
        margin: 40px 0; } }

.custom_chart_wrapper {
  position: relative;
  width: 100%;
  max-width: 1000px;
  height: 500px;
  /* Altezza fissa del grafico */
  margin: 0 auto;
  font-family: sans-serif;
  /* O $font_1 */ }

/* GRIGLIA DI SFONDO */
.chart_grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 0;
  pointer-events: none; }
  .chart_grid .grid_line {
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    /* Linea sottile */
    position: relative; }
    .chart_grid .grid_line span {
      position: absolute;
      top: -10px;
      left: -30px;
      font-size: 12px;
      color: #999; }
    .chart_grid .grid_line:last-child {
      border-top: 1px solid rgba(0, 0, 0, 0.1);
      /* Base più scura */ }

/* CONTAINER BARRE */
.chart_bars_container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  /* Allinea barre in basso */
  justify-content: space-around;
  /* Distribuisce lo spazio equamente */
  padding-left: 20px;
  /* Spazio per le label a sinistra */
  z-index: 1; }

/* SINGOLA BARRA */
.chart_bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  width: 40px;
  /* Larghezza barra */
  position: relative;
  cursor: pointer;
  /* La parte colorata che si anima */
  /* Anno */
  /* Hover Effect */ }
  .chart_bar .bar_visual {
    width: 100%;
    background-color: #34BDC2;
    /* Colore Brand Teal */
    border-radius: 2px 2px 0 0;
    height: 0%;
    /* Parte da 0 per GSAP */
    transition: background-color 0.3s ease;
    will-change: height; }
  .chart_bar .bar_label {
    margin-top: 15px;
    font-size: 14px;
    color: #888;
    font-weight: 400; }
  .chart_bar:hover .bar_visual {
    background-color: #32898D;
    /* Hover leggermente più scuro */ }

/* TOOLTIP STILE FLOURISH */
.chart_tooltip {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  padding: 15px 20px;
  border-radius: 4px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  /* Non deve bloccare il mouse */
  opacity: 0;
  /* Nascosto di default */
  visibility: hidden;
  z-index: 10;
  min-width: 140px;
  text-align: center;
  /* Centrato rispetto al cursore ma spostato in alto */
  transform: translate(-50%, -100%);
  margin-top: -25px;
  /* Freccetta CSS */ }
  .chart_tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #fff; }
  .chart_tooltip .tooltip_title {
    display: block;
    font-size: 11px;
    color: #34BDC2;
    font-weight: bold;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px; }
  .chart_tooltip .tooltip_data {
    font-size: 16px;
    color: #333; }
    .chart_tooltip .tooltip_data .tt_year {
      font-weight: bold;
      margin-right: 4px; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .custom_chart_wrapper {
    height: 300px;
    /* Più basso su mobile */ }

  .chart_bar {
    width: 20px;
    /* Barre più strette */ }
    .chart_bar .bar_label {
      font-size: 10px; } }
.anim_right, .inner_dot, .anim_prenota, .inner_circle, .content_logo, .form_prenotazione, .content_mobile_cta, .group_link_wrap, .content_breadcrumbs, .wrap_w {
  overflow: hidden; }

.anima_basic {
  opacity: 0; }

.zoom_content {
  opacity: 0;
  transform-origin: 0 0; }

.zoom_slow_content {
  opacity: 0;
  transform-origin: 0 0; }

@media (min-width: 992px) {
  #smooth-wrapper {
    transition: filter 0.6s;
    will-change: filter; } }
.ab_content {
  display: grid;
  align-items: center;
  width: 100%;
  position: relative;
  gap: calc(60 / 1920 * 100vw) calc(40 / 1920 * 100vw);
  grid-template-columns: repeat(2, 1fr); }
  .ab_content.ab_content_mod_flex {
    display: flex;
    align-items: flex-start; }
    @media (max-width: 991px) {
      .ab_content.ab_content_mod_flex {
        flex-direction: column; } }
    .ab_content.ab_content_mod_flex .side_a {
      width: 50%; }
      @media (max-width: 991px) {
        .ab_content.ab_content_mod_flex .side_a {
          width: 100%; } }
    .ab_content.ab_content_mod_flex .side_b {
      width: 50%; }
      @media (max-width: 991px) {
        .ab_content.ab_content_mod_flex .side_b {
          width: 100%; } }
  .ab_content.flex_mode {
    display: flex;
    flex-direction: column; }
    .ab_content.flex_mode .side_a {
      width: 100%; }
    .ab_content.flex_mode .side_b {
      width: 100%; }
  .ab_content.top_align {
    align-items: flex-start; }
  @media (max-width: 991px) {
    .ab_content {
      grid-template-columns: 1fr;
      gap: calc(40 / 768 * 100vw) calc(20 / 768 * 100vw); } }
  @media (max-width: 575px) {
    .ab_content {
      gap: calc(30 / 360 * 100vw) calc(20 / 360 * 100vw); } }
  .ab_content > * {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; }

.abc_content {
  display: grid;
  align-items: flex-start;
  width: 100%;
  position: relative;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(60 / 1920 * 100vw) calc(20 / 1920 * 100vw); }
  @media (max-width: 991px) {
    .abc_content {
      grid-template-columns: 1fr;
      gap: calc(40 / 768 * 100vw) calc(20 / 768 * 100vw); } }
  @media (max-width: 575px) {
    .abc_content {
      gap: calc(40 / 360 * 100vw) calc(20 / 360 * 100vw); } }
  .abc_content > * {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; }

.abcd_content {
  display: grid;
  align-items: center;
  width: 100%;
  position: relative;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(20 / 1920 * 100vw); }
  @media (max-width: 1280px) {
    .abcd_content {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 991px) {
    .abcd_content {
      grid-template-columns: 1fr; } }
  .abcd_content > * {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; }

.wrap_photo_text {
  width: 100%;
  height: calc(100vh - calc(80 / 1920 * 100vw));
  position: relative; }
  @media (max-width: 575px) {
    .wrap_photo_text {
      height: calc(var(--vh, 1vh) * 85); } }
  @media (max-width: 575px) {
    .wrap_photo_text.banner_specialistica {
      height: calc(var(--vh, 1vh) * 50); } }
  @media (max-width: 575px) {
    .wrap_photo_text.banner_specialistica .paragrafo_prev h2 {
      font-size: 36px; } }
  .wrap_photo_text picture {
    height: 100%; }
    .wrap_photo_text picture::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: black;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.60408) 0%, transparent 100%); }
  .wrap_photo_text .content_box_info {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    padding: calc(120 / 1920 * 100vw) calc(80 / 1920 * 100vw); }
  .wrap_photo_text .box_info {
    width: 100%; }
  .wrap_photo_text .link {
    max-width: 250px;
    margin-left: 0; }

.reveal_content {
  opacity: 0;
  visibility: visible; }

section {
  position: relative;
  z-index: 1; }

.section_wrap {
  height: 100vh;
  min-height: 100vh;
  min-height: 100dvh; }

.slide_intro {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 130px; }
  @media (max-width: 991px) {
    .slide_intro {
      padding-top: 0; } }
  .slide_intro .mod_container {
    align-items: flex-end; }
    @media (max-width: 991px) {
      .slide_intro .mod_container {
        flex-direction: column; } }
  .slide_intro h1 .line:nth-child(2) {
    position: relative;
    left: -10%; }
  .slide_intro h1 .line:nth-child(3) {
    position: relative;
    left: 5%; }
  .slide_intro .freccia svg {
    width: 70px; }
  .slide_intro .small_paragrafo {
    max-width: calc(200 / 1920 * 100vw);
    margin-bottom: 1.2%;
    position: absolute;
    left: 10%; }
    @media (max-width: 1900px) {
      .slide_intro .small_paragrafo {
        max-width: calc(250 / 1920 * 100vw); } }
    @media (max-width: 1280px) {
      .slide_intro .small_paragrafo {
        margin-bottom: 0;
        bottom: -15%; } }
    @media (max-width: 991px) {
      .slide_intro .small_paragrafo {
        position: relative;
        left: auto;
        bottom: auto;
        max-width: 50%;
        text-align: center;
        order: 2;
        margin: 40px auto 0; }
        .slide_intro .small_paragrafo p {
          color: #fff;
          opacity: .7; } }

.page-id-368 .slide_intro h1 .line:nth-child(2) {
  left: 0; }
.page-id-368 .slide_intro .small_paragrafo {
  bottom: -30%;
  margin-bottom: 0;
  left: 17%; }
  @media (max-width: 1600px) {
    .page-id-368 .slide_intro .small_paragrafo {
      bottom: -25%; } }
  @media (max-width: 1280px) {
    .page-id-368 .slide_intro .small_paragrafo {
      left: 10%; } }
  @media (max-width: 991px) {
    .page-id-368 .slide_intro .small_paragrafo {
      bottom: -25%;
      left: 0; } }

.paragrafo_anim_split .line {
  display: inline-block; }
.paragrafo_anim_split .word {
  display: inline-block;
  overflow: hidden;
  padding-top: 0.2em;
  margin-bottom: -0.2em;
  transform-origin: bottom; }
.paragrafo_anim_split .word-in {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  will-change: transform, opacity; }
.paragrafo_anim_split .char {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  will-change: transform, opacity; }
.paragrafo_anim_split .grey_col .word-in {
  color: #32898D; }

.paragrafo_anim_split_home {
  opacity: 0; }
  .paragrafo_anim_split_home .line {
    display: inline-block; }
  .paragrafo_anim_split_home .word {
    display: inline-block;
    overflow: hidden;
    padding-top: 0.2em;
    margin-bottom: -0.2em;
    transform-origin: bottom; }
  .paragrafo_anim_split_home .word-in {
    display: inline-block;
    transform: translateY(110%);
    opacity: 0;
    will-change: transform, opacity; }
  .paragrafo_anim_split_home .char {
    display: inline-block;
    transform: translateY(110%);
    opacity: 0;
    will-change: transform, opacity; }
  .paragrafo_anim_split_home .grey_col .word-in {
    color: #32898D; }

.wrap_video_multi_text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200vh; }
  .wrap_video_multi_text .content_box_text {
    height: 70vh;
    position: absolute;
    width: 100%;
    top: 0; }
  .wrap_video_multi_text .video_emotion, .wrap_video_multi_text .video_emotion_2 {
    position: absolute;
    height: 100vh;
    z-index: 0;
    top: 0; }
    @media (max-width: 1300px) {
      .wrap_video_multi_text .video_emotion video, .wrap_video_multi_text .video_emotion_2 video {
        height: calc(100vh + 10px); } }
  .wrap_video_multi_text .box_text {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center; }
    .wrap_video_multi_text .box_text .paragrafo {
      padding: 0 calc(200 / 1920 * 100vw);
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 100%; }
      .wrap_video_multi_text .box_text .paragrafo .icona_svg {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 30px; }
        .wrap_video_multi_text .box_text .paragrafo .icona_svg svg {
          width: 16px;
          height: 16px; }
      .wrap_video_multi_text .box_text .paragrafo.paragrafo_anim_split .paragrafo_anim_split .word {
        margin-bottom: -0.3em; }
      .wrap_video_multi_text .box_text .paragrafo .wrap_testo {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0; }
      .wrap_video_multi_text .box_text .paragrafo p {
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 5.5vw;
        line-height: 111%;
        text-align: center;
        color: #fff; }
        .wrap_video_multi_text .box_text .paragrafo p .word {
          padding-top: 0; }
        @media (max-width: 991px) {
          .wrap_video_multi_text .box_text .paragrafo p {
            font-size: 8.5vw; } }

.text_centrale {
  padding: calc(160 / 1920 * 100vw) 0; }
  @media (max-width: 991px) {
    .text_centrale {
      padding: 10vh 0; } }
  .text_centrale.low_cap .paragrafo h2 {
    text-transform: none; }
  .text_centrale .paragrafo {
    padding: 0 calc(200 / 1920 * 100vw); }
    .text_centrale .paragrafo h2 {
      font-size: 5.5vw;
      text-transform: none;
      line-height: 111%; }
      .text_centrale .paragrafo h2 .word {
        padding-top: 0; }
      @media (max-width: 991px) {
        .text_centrale .paragrafo h2 {
          font-size: 10vw; } }
      .text_centrale .paragrafo h2 .line {
        display: block; }

.big_image_parralax, .big_bk_parralax {
  background-color: #f8f7f6;
  width: 100%;
  height: 120%;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center; }
  .big_image_parralax .paragrafo, .big_bk_parralax .paragrafo {
    max-width: 700px; }
    @media (max-width: 1024px) {
      .big_image_parralax .paragrafo, .big_bk_parralax .paragrafo {
        max-width: 550px; } }
    .big_image_parralax .paragrafo.paragrafo_white h2, .big_bk_parralax .paragrafo.paragrafo_white h2 {
      color: #fff; }
    .big_image_parralax .paragrafo h2, .big_bk_parralax .paragrafo h2 {
      color: #1C1C1C; }
  .big_image_parralax .wrap-section, .big_bk_parralax .wrap-section {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 12%; }
    @media (max-width: 1280px) {
      .big_image_parralax .wrap-section, .big_bk_parralax .wrap-section {
        padding-top: 60px; } }
    .big_image_parralax .wrap-section::before, .big_bk_parralax .wrap-section::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 45vh;
      background: linear-gradient(#606060 0%, rgba(131, 129, 123, 0) 100%);
      opacity: 0.7;
      z-index: 100; }
    .big_image_parralax .wrap-section .mod_container, .big_bk_parralax .wrap-section .mod_container {
      justify-content: space-between;
      z-index: 100; }
      @media (max-width: 991px) {
        .big_image_parralax .wrap-section .mod_container, .big_bk_parralax .wrap-section .mod_container {
          flex-direction: column; } }
      .big_image_parralax .wrap-section .mod_container .side_a .small_paragrafo, .big_bk_parralax .wrap-section .mod_container .side_a .small_paragrafo {
        max-width: unset;
        display: flex;
        align-items: center;
        gap: 10px; }
        @media (max-width: 991px) {
          .big_image_parralax .wrap-section .mod_container .side_a .small_paragrafo, .big_bk_parralax .wrap-section .mod_container .side_a .small_paragrafo {
            margin-bottom: 20px; } }
        .big_image_parralax .wrap-section .mod_container .side_a .small_paragrafo p, .big_bk_parralax .wrap-section .mod_container .side_a .small_paragrafo p {
          color: #fff; }
      .big_image_parralax .wrap-section .mod_container .side_b h2, .big_bk_parralax .wrap-section .mod_container .side_b h2 {
        text-transform: none; }
        @media (max-width: 991px) {
          .big_image_parralax .wrap-section .mod_container .side_b h2, .big_bk_parralax .wrap-section .mod_container .side_b h2 {
            max-width: 100%; } }
  .big_image_parralax img, .big_bk_parralax img {
    width: 100%; }
    @media (max-width: 575px) {
      .big_image_parralax img, .big_bk_parralax img {
        width: auto; } }
  .big_image_parralax.remove_margin, .big_bk_parralax.remove_margin {
    margin: 0; }
  .big_image_parralax .card_emotion, .big_bk_parralax .card_emotion {
    right: -5vw;
    bottom: -5vw;
    width: 30vw; }

.section_parallax {
  position: relative;
  width: 100%;
  height: 90vh;
  height: 90dvh;
  overflow: hidden;
  z-index: 100; }

.linea_anim, .linea_sola {
  max-width: 400px;
  background-color: #32898D;
  width: 0%;
  height: 1px;
  margin: 40px 0; }

.linea_sola {
  max-width: none; }

.mask_image {
  will-change: transform;
  display: block; }

/* video e wrapper pinnati */
.video_emotion,
.video_emotion_2,
.render_video,
.wrap_video_multi_text .video_emotion,
.wrap_lavorazioni_video_multi_text .render_video {
  will-change: transform; }

/* contenitori “pin” grossi */
.panel_container,
.big_scritta,
.slider-section,
.section_parallax .big_bk_parralax {
  will-change: transform; }

.contact_form_box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 6%;
  width: 100%;
  max-width: 600px;
  margin: auto; }
  @media (max-width: 575px) {
    .contact_form_box {
      max-width: 100%; } }
  .contact_form_box .grid_input {
    display: flex;
    flex-direction: column;
    gap: calc(40 / 1920 * 100vw); }
    @media (max-width: 991px) {
      .contact_form_box .grid_input {
        gap: 40px; } }
    .contact_form_box .grid_input .col_input.double_input {
      display: flex;
      gap: calc(40 / 1920 * 100vw);
      justify-content: space-between; }
      @media (max-width: 991px) {
        .contact_form_box .grid_input .col_input.double_input {
          flex-direction: column;
          gap: 40px; } }
      .contact_form_box .grid_input .col_input.double_input .wpcf7-form-control-wrap {
        width: 100%; }
  .contact_form_box form {
    display: flex;
    flex-direction: column;
    gap: 20px; }
    .contact_form_box form .wpcf7-list-item {
      margin: 0; }
      .contact_form_box form .wpcf7-list-item label {
        display: flex;
        align-items: flex-start; }
        .contact_form_box form .wpcf7-list-item label input[type=checkbox] {
          width: auto;
          margin-right: 15px; }
  .contact_form_box input, .contact_form_box textarea {
    background: transparent;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid white;
    color: white;
    padding: 10px;
    font-size: 16px;
    outline: none;
    font-family: "Quicksand", sans-serif;
    width: 100%;
    transition: .3s; }
  .contact_form_box textarea {
    height: 100px; }
  .contact_form_box input[type=submit] {
    cursor: pointer;
    font-family: "Quicksand", sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 1em;
    color: #fff;
    border: none;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    transition: .3s;
    padding: 0 40px;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    background-color: rgba(255, 255, 255, 0.09);
    text-decoration: none !important;
    gap: 10px;
    height: 65px; }
    @media (max-width: 1280px) {
      .contact_form_box input[type=submit] {
        font-size: calc(16 / 1366 * 100vw); } }
    @media (max-width: 991px) {
      .contact_form_box input[type=submit] {
        font-size: 15px;
        margin-right: 0; } }
    @media (max-width: 575px) {
      .contact_form_box input[type=submit] {
        font-size: 15px;
        height: 60px; } }
    .contact_form_box input[type=submit]:hover {
      color: #fff;
      text-decoration: none;
      cursor: pointer;
      background-color: #606060; }
    .contact_form_box input[type=submit]:focus {
      text-decoration: none;
      outline: 0 !important; }
  .contact_form_box .privacy {
    font-size: 10px;
    text-align: left;
    display: flex;
    gap: 10px;
    font-family: "Quicksand", sans-serif; }
    .contact_form_box .privacy input {
      margin-top: 3px; }
  .contact_form_box button {
    background: #606060;
    color: white;
    padding: 15px 45px;
    border-radius: 2px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    align-self: center;
    font-family: "Quicksand", sans-serif; }

.video_background {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  z-index: -1; }
  .video_background video {
    object-fit: cover;
    width: 100vw;
    height: 110vh;
    position: relative;
    top: 0;
    left: 0; }

.inner_slider_dinamica {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  margin-top: calc(40 / 1920 * 100vw); }
  .inner_slider_dinamica .fluid_arrow {
    z-index: 12;
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100 / 1920 * 100vw);
    height: calc(100 / 1920 * 100vw);
    pointer-events: none;
    opacity: 0; }
    .inner_slider_dinamica .fluid_arrow img {
      width: 100%;
      height: 100%; }

.gallery_dinamica .item_prodotto {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden; }
  @media (max-width: 1024px) {
    .gallery_dinamica .item_prodotto {
      height: 100vh; } }
  @media (max-width: 991px) {
    .gallery_dinamica .item_prodotto {
      height: auto;
      margin-bottom: 20px; } }
.gallery_dinamica .content_product {
  display: flex;
  align-items: center;
  width: 100%; }
  @media (max-width: 991px) {
    .gallery_dinamica .content_product {
      flex-direction: column;
      padding: 20px calc(40 / 768 * 100vw); } }
  @media (max-width: 575px) {
    .gallery_dinamica .content_product {
      padding: 0 20px; } }
  .gallery_dinamica .content_product .side_a {
    width: 50%;
    position: relative;
    z-index: 1; }
    @media (max-width: 991px) {
      .gallery_dinamica .content_product .side_a {
        width: 100%; } }
    .gallery_dinamica .content_product .side_a .video_3d {
      will-change: opacity;
      opacity: 0; }
      .gallery_dinamica .content_product .side_a .video_3d video {
        transform: scale(1.3);
        width: 100%; }
        @media (max-width: 1900px) {
          .gallery_dinamica .content_product .side_a .video_3d video {
            transform: scale(1.5); } }
        @media (max-width: 991px) {
          .gallery_dinamica .content_product .side_a .video_3d video {
            transform: scale(1.8); } }
  .gallery_dinamica .content_product .side_b {
    width: 50%;
    position: relative;
    z-index: 10; }
    @media (max-width: 991px) {
      .gallery_dinamica .content_product .side_b {
        width: 100%; } }
    .gallery_dinamica .content_product .side_b .info_product {
      will-change: transform, opacity; }
      .gallery_dinamica .content_product .side_b .info_product h2, .gallery_dinamica .content_product .side_b .info_product p, .gallery_dinamica .content_product .side_b .info_product ul, .gallery_dinamica .content_product .side_b .info_product li {
        will-change: transform, opacity; }
      .gallery_dinamica .content_product .side_b .info_product h2 {
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 60px;
        line-height: 60px;
        color: #fff; }
        @media (max-width: 991px) {
          .gallery_dinamica .content_product .side_b .info_product h2 {
            font-size: 48px;
            line-height: 48px; } }
      .gallery_dinamica .content_product .side_b .info_product ul li {
        display: flex;
        flex-direction: column;
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        font-size: 16px;
        line-height: 20px;
        color: #32898D;
        margin-bottom: 30px; }
        .gallery_dinamica .content_product .side_b .info_product ul li strong {
          font-family: "Quicksand", sans-serif;
          font-weight: normal;
          font-size: 16px;
          line-height: 20px;
          color: #fff; }
.gallery_dinamica.swiper {
  overflow: visible; }
  @media (max-width: 991px) {
    .gallery_dinamica.swiper {
      width: 100%; } }
.gallery_dinamica .swiper-slide {
  width: 100%;
  max-width: none; }
  @media (max-width: 991px) {
    .gallery_dinamica .swiper-slide {
      padding-bottom: 0; } }
.gallery_dinamica .item_gallery picture {
  overflow: visible;
  height: 65vh;
  width: auto;
  border-radius: 20px;
  margin-bottom: 20px; }
  @media (max-width: 991px) {
    .gallery_dinamica .item_gallery picture {
      height: 40vh; } }
  .gallery_dinamica .item_gallery picture img {
    width: auto;
    object-fit: contain; }
.gallery_dinamica .item_gallery .box_info h2 {
  color: #34BDC2;
  font-size: 35px;
  font-family: "Quicksand", sans-serif;
  font-weight: 500; }
@media (max-width: 991px) {
  .gallery_dinamica .linea_anim {
    margin: 20px 0 25px; } }
.gallery_dinamica .content_arrow {
  display: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  justify-content: space-between;
  align-items: center;
  z-index: 1;
  padding: 0 20px;
  width: 100%;
  pointer-events: none; }
  @media (max-width: 991px) {
    .gallery_dinamica .content_arrow {
      display: flex; } }
  .gallery_dinamica .content_arrow .swiper-arrow {
    cursor: pointer; }
  .gallery_dinamica .content_arrow .swiper-button-next, .gallery_dinamica .content_arrow .swiper-button-prev {
    position: static;
    margin-top: -250px;
    width: 65px;
    height: 65px;
    border-radius: 12px;
    left: auto !important;
    right: auto !important;
    pointer-events: all; }
    .gallery_dinamica .content_arrow .swiper-button-next svg, .gallery_dinamica .content_arrow .swiper-button-prev svg {
      width: 10px;
      height: auto; }
  .gallery_dinamica .content_arrow .swiper-button-disabled {
    opacity: .3; }
  .gallery_dinamica .content_arrow .swiper-button-prev {
    transform: rotate(180deg); }

.main_wrap_home, .main_wrap_prdouct {
  margin-top: -20px; }
  @media (max-width: 1280px) {
    .main_wrap_home, .main_wrap_prdouct {
      margin-top: 0; } }

.remove_margin_20 {
  margin-top: 20px; }
  .remove_margin_20 .overview, .remove_margin_20 .elenco_focus {
    padding: 80px 0;
    min-height: auto; }

.main_wrap_after {
  margin-top: 40px; }

.section_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }

.info_solutions, .info_prev_contatti {
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden; }
  .info_solutions .mod_container, .info_prev_contatti .mod_container {
    flex-direction: column; }
    .info_solutions .mod_container .side_top, .info_prev_contatti .mod_container .side_top {
      margin-top: 80px; }
    .info_solutions .mod_container .side_center, .info_prev_contatti .mod_container .side_center {
      padding: clamp(80px, 5vw, 100px) 0; }
    .info_solutions .mod_container .side_bottom, .info_prev_contatti .mod_container .side_bottom {
      justify-content: flex-end;
      display: flex;
      margin-bottom: clamp(80px, 5vw, 100px); }

@media (max-width: 991px) {
  .info_prev_contatti {
    padding-top: 60px; }
    .info_prev_contatti .mod_container {
      display: none; } }
.info_prev_contatti .side_bottom {
  flex-direction: column;
  justify-content: center !important; }
  .info_prev_contatti .side_bottom .link {
    justify-content: center;
    width: auto;
    margin-top: 100px; }
    .info_prev_contatti .side_bottom .link a {
      width: auto; }

@media (max-width: 991px) {
  .home .info_prev_contatti .mod_container {
    display: flex; }
    .home .info_prev_contatti .mod_container .scroll_text_big {
      display: none; }
    .home .info_prev_contatti .mod_container .side_bottom {
      margin-top: 40px; }
      .home .info_prev_contatti .mod_container .side_bottom .paragrafo p {
        font-size: 36px; }
      .home .info_prev_contatti .mod_container .side_bottom .link {
        margin-top: 40px; } }

/* ------------------------- Marquee -------------------------------------------------- */
.marquee-wrapper {
  display: flex;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
  /* Stile per le lettere singole splittate */
  /* Opzionale: nasconde il contenuto finché JS non parte per evitare FOUC */ }
  .marquee-wrapper[data-draggable="true"] {
    cursor: grab; }
    .marquee-wrapper[data-draggable="true"]:active {
      cursor: grabbing; }
  .marquee-wrapper .marquee-char {
    display: inline-block;
    /* Fondamentale per animare yPercent */
    white-space: pre;
    /* Preserva gli spazi vuoti tra parole */
    will-change: transform, opacity, filter;
    /* Ottimizzazione performance */ }
  .marquee-wrapper .marquee-wrapper[data-split="true"] .marquee-item {
    visibility: hidden; }
  .marquee-wrapper .marquee-wrapper[data-split="true"].is-initialized .marquee-item {
    visibility: visible; }

.marquee-track {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 4rem;
  padding-right: 4rem; }
  @media (max-width: 768px) {
    .marquee-track {
      gap: 2rem;
      padding-right: 2rem; } }

.marquee-item {
  font-size: clamp(80px, 10vw, 200px);
  line-height: 1.3;
  color: #34BDC2; }

/* ------------------------- Animazione SVG in Scroll -------------------------------------------------- */
.tracciato-wrapper {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center; }
  .tracciato-wrapper .reveal-path {
    transition: stroke 0.3s; }
  .tracciato-wrapper.margin_50 {
    padding: 50px 0; }
  .tracciato-wrapper svg {
    display: block;
    overflow: visible; }

/* ------------------------- Animazione Video Mask SVG -------------------------------------------------- */
.video_emotion {
  position: relative;
  width: 100%;
  background-color: #34BDC2;
  overflow: hidden; }
  .video_emotion .video_container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center; }
  .video_emotion .stickyMask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-mask-image: url("../images/emme-mask.svg");
    mask-image: url("../images/emme-mask.svg");
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 30%;
    mask-size: 30%;
    transform: translateZ(0);
    will-change: mask-size, -webkit-mask-size; }
    .video_emotion .stickyMask video {
      width: calc(100% - 40px);
      height: calc(100% - 40px);
      object-fit: cover;
      border-radius: 40px; }
  .video_emotion .wrap_title {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none; }
    .video_emotion .wrap_title h3 {
      color: #fff;
      font-size: 35px;
      font-weight: normal;
      text-transform: uppercase;
      position: relative;
      margin: 0;
      white-space: nowrap;
      flex: 1;
      width: 50%; }
    .video_emotion .wrap_title .left_title {
      text-align: right; }
    .video_emotion .wrap_title .right_title {
      text-align: left; }

.intro_mammografia .paragrafo_titolato {
  margin: 80px auto; }

.bk_color {
  background-color: #34BDC2; }

.grid_elenco_product {
  position: relative;
  width: 100%;
  padding-bottom: calc(100 / 1920 * 100vw); }
  .grid_elenco_product .item_product_wrap {
    position: relative;
    width: 100%;
    margin-bottom: calc(80 / 1920 * 100vw); }
    .grid_elenco_product .item_product_wrap:last-child {
      margin-bottom: 0; }
    .grid_elenco_product .item_product_wrap .side_top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 2px solid #fff;
      padding-top: calc(30 / 1920 * 100vw);
      border-top: 2px solid #fff;
      margin: 0 calc(60 / 1920 * 100vw); }
      .grid_elenco_product .item_product_wrap .side_top h3, .grid_elenco_product .item_product_wrap .side_top .number_item {
        font-family: "Quicksand", sans-serif;
        font-size: 18px;
        color: #fff;
        text-transform: uppercase;
        margin: 0;
        font-weight: normal; }
      .grid_elenco_product .item_product_wrap .side_top .number_item {
        font-weight: 500; }
    .grid_elenco_product .item_product_wrap .box_prodotto {
      border-radius: 30px;
      padding: calc(60 / 1920 * 100vw);
      overflow: hidden; }
      @media (max-width: 991px) {
        .grid_elenco_product .item_product_wrap .box_prodotto {
          padding: 40px 0; } }
      .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex {
        align-items: unset;
        gap: 0;
        box-shadow: 0 16px 18px 0 rgba(0, 0, 0, 0.05), 0 25px 35px 0 rgba(0, 0, 0, 0.02);
        backdrop-filter: blur(15px);
        --webkit-backdrop-filter: blur(15px);
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 30px; }
        .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex .side_b {
          position: relative; }
          .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex .side_b .plus_link {
            position: absolute;
            bottom: 7%;
            right: 5%; }
          .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex .side_b::before {
            display: block;
            width: 20px;
            height: 100%;
            background-color: #43C8CD;
            top: 0;
            left: -20px;
            position: absolute;
            z-index: -1; }
          .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex .side_b .paragrafo {
            text-align: left;
            padding: 0 60px;
            max-width: 700px; }
            @media (max-width: 991px) {
              .grid_elenco_product .item_product_wrap .box_prodotto .ab_content_mod_flex .side_b .paragrafo {
                padding: 35px 40px 65px;
                max-width: 900px; } }
      .grid_elenco_product .item_product_wrap .box_prodotto picture {
        border-radius: 20px;
        overflow: hidden; }
        .grid_elenco_product .item_product_wrap .box_prodotto picture img {
          min-height: 60vh; }
      .grid_elenco_product .item_product_wrap .box_prodotto .video_motion {
        position: relative;
        width: 100%;
        border-radius: 20px;
        overflow: hidden;
        background-color: rgba(0, 0, 0, 0.1);
        transform: translateZ(0);
        -webkit-mask-image: -webkit-radial-gradient(white, black); }
        .grid_elenco_product .item_product_wrap .box_prodotto .video_motion video {
          width: 100%;
          height: auto;
          display: block;
          object-fit: cover;
          transform: translateZ(0);
          will-change: transform;
          backface-visibility: hidden;
          min-height: 60vh;
          filter: blur(0); }
          @media (max-width: 991px) {
            .grid_elenco_product .item_product_wrap .box_prodotto .video_motion video {
              min-height: 40vh; } }

.intro_mobile_unit .mod_container {
  padding-top: 0; }
.intro_mobile_unit .par_title_mu {
  margin: 80px auto; }

.circle_with_text {
  display: flex;
  width: 100%;
  max-width: 1200px;
  justify-content: center;
  align-items: center;
  margin: 40px auto;
  gap: 50px; }
  @media (max-width: 991px) {
    .circle_with_text {
      flex-direction: column;
      margin-top: 0; } }
  .circle_with_text .content_circle_image .motion-circle-wrapper {
    width: 400px;
    height: 400px; }
    .circle_with_text .content_circle_image .motion-circle-wrapper img {
      position: absolute;
      top: 50px;
      left: 50px;
      width: 300px;
      height: auto; }
  .circle_with_text .paragrafo_titolato {
    margin: 0 auto 40px;
    text-align: left; }
    @media (max-width: 991px) {
      .circle_with_text .paragrafo_titolato p {
        text-align: center !important; }
      .circle_with_text .paragrafo_titolato .link {
        margin: 30px auto; } }
    .circle_with_text .paragrafo_titolato p {
      text-align: left; }

@media (max-width: 575px) {
  .section_radiografia_prev.section_curve_reveal .curve_top_content .intro_text .paragrafo {
    max-width: 280px; } }
.section_radiografia_prev .curve_body {
  padding-top: 0;
  min-height: 65vh; }
  @media (max-width: 991px) {
    .section_radiografia_prev .curve_body {
      padding-top: 25px; } }
  .section_radiografia_prev .curve_body .card_grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-top: -10vw;
    min-height: 65vh; }
    .section_radiografia_prev .curve_body .card_grid.card_grid_el_4 {
      grid-template-columns: 1fr 1fr 1fr 1fr; }
      @media (max-width: 1024px) {
        .section_radiografia_prev .curve_body .card_grid.card_grid_el_4 {
          grid-template-columns: 1fr 1fr; } }
      @media (max-width: 991px) {
        .section_radiografia_prev .curve_body .card_grid.card_grid_el_4 {
          grid-template-columns: 1fr; } }
    @media (max-width: 991px) {
      .section_radiografia_prev .curve_body .card_grid {
        grid-template-columns: 1fr;
        margin-top: 0;
        gap: 40px; } }
    .section_radiografia_prev .curve_body .card_grid .item_grid {
      box-shadow: 0 16px 18px 0 rgba(0, 0, 0, 0.05), 0 25px 35px 0 rgba(0, 0, 0, 0.02);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      background-color: rgba(255, 255, 255, 0.2);
      border-radius: 30px;
      overflow: hidden;
      min-height: 700px;
      position: relative;
      will-change: transform, opacity;
      opacity: 0; }
      @media (max-width: 991px) {
        .section_radiografia_prev .curve_body .card_grid .item_grid {
          min-height: 500px; } }
      .section_radiografia_prev .curve_body .card_grid .item_grid .wrap_link_image {
        display: block; }
      .section_radiografia_prev .curve_body .card_grid .item_grid .plus_link {
        position: absolute;
        bottom: 40px;
        right: 40px;
        z-index: 1; }
      .section_radiografia_prev .curve_body .card_grid .item_grid .text_box {
        padding: 40px;
        position: relative;
        z-index: 2; }
      .section_radiografia_prev .curve_body .card_grid .item_grid h3 {
        font-weight: 300;
        font-size: 18px;
        letter-spacing: 0.02em;
        line-height: 24px;
        text-align: left;
        color: #fff;
        margin-bottom: 10px; }
      .section_radiografia_prev .curve_body .card_grid .item_grid h2 {
        font-weight: normal;
        font-size: 40px;
        line-height: 40px;
        text-align: left;
        color: #fff; }
      .section_radiografia_prev .curve_body .card_grid .item_grid img {
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        object-fit: cover;
        z-index: 1; }

.page-id-683 .intro_mobile_unit .separatore_bottom {
  display: none !important; }
.page-id-683 .section_radiografia_prev {
  display: none !important; }

.heading_mask {
  position: relative;
  border-top: 2px solid #34BDC2; }
  .heading_mask .mod_container {
    padding: 40px;
    max-width: 1600px; }
    @media (max-width: 991px) {
      .heading_mask .mod_container {
        padding: 40px 20px; } }
  .heading_mask:nth-last-child(1) {
    border-top: 2px solid #34BDC2; }
  .heading_mask .heading_mask_el {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    background-color: transparent; }
    .heading_mask .heading_mask_el p {
      font-size: 20px;
      font-weight: bold;
      line-height: 25px;
      color: #34BDC2; }
      @media (max-width: 575px) {
        .heading_mask .heading_mask_el p {
          font-size: 12px;
          line-height: 14px; } }
    @media (min-width: 768px) {
      .heading_mask .heading_mask_el {
        -webkit-box-align: unset;
        display: block;
        height: unset; } }
    .heading_mask .heading_mask_el .ab_content_mod_flex {
      align-items: center; }
      @media (max-width: 1280px) {
        .heading_mask .heading_mask_el .ab_content_mod_flex {
          flex-direction: row; } }
    .heading_mask .heading_mask_el .simple_masking {
      position: relative; }
      .heading_mask .heading_mask_el .simple_masking .simple_masking_el {
        width: fit-content; }
        .heading_mask .heading_mask_el .simple_masking .simple_masking_el h2 {
          font-size: clamp(60px, 10vw, 80px);
          line-height: 95% !important;
          margin-bottom: 0;
          color: #34BDC2; }
          @media (max-width: 991px) {
            .heading_mask .heading_mask_el .simple_masking .simple_masking_el h2 {
              font-size: 30px; } }
          .heading_mask .heading_mask_el .simple_masking .simple_masking_el h2.is_masking {
            --size: 100%;
            -webkit-clip-path: inset(0 var(--size) 0 0);
            clip-path: inset(0 var(--size) 0 0);
            position: relative;
            z-index: 2; }
          .heading_mask .heading_mask_el .simple_masking .simple_masking_el h2.is_hidden {
            left: 0;
            opacity: .2;
            position: absolute;
            top: 0;
            z-index: 1; }
    .heading_mask .heading_mask_el.heading-mask_el__masking {
      background: #34BDC2;
      -webkit-clip-path: inset(100% 0 50% 0);
      clip-path: inset(100% 0 50% 0);
      pointer-events: none;
      position: relative;
      -webkit-transition: -webkit-clip-path 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      transition: -webkit-clip-path 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      transition: clip-path 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      transition: clip-path 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      z-index: 10; }
      .heading_mask .heading_mask_el.heading-mask_el__masking .simple_masking {
        overflow: hidden; }
        .heading_mask .heading_mask_el.heading-mask_el__masking .simple_masking .simple_masking_el h2 {
          color: #fff;
          margin-bottom: 0; }
      .heading_mask .heading_mask_el.heading-mask_el__masking .side_b .paragrafo p {
        font-size: 20px;
        font-weight: bold;
        line-height: 25px;
        color: #fff; }
        @media (max-width: 575px) {
          .heading_mask .heading_mask_el.heading-mask_el__masking .side_b .paragrafo p {
            font-size: 12px;
            line-height: 14px; } }
  .heading_mask.is-hover .heading-mask_el__masking {
    clip-path: inset(0);
    -webkit-transition: -webkit-clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }

.sezione_ricerca {
  overflow: hidden; }
  @media (max-width: 991px) {
    .sezione_ricerca {
      padding: 40px 0; }
      .sezione_ricerca .paragrafo {
        text-align: center; }
        .sezione_ricerca .paragrafo .link {
          margin: 30px auto; } }
  .sezione_ricerca .mod_container {
    max-width: 1600px; }
    .sezione_ricerca .mod_container .ab_content_mod_flex {
      align-items: center;
      position: relative;
      gap: 0; }
      .sezione_ricerca .mod_container .ab_content_mod_flex .side_a {
        width: 40%;
        position: relative;
        z-index: 2; }
        @media (max-width: 991px) {
          .sezione_ricerca .mod_container .ab_content_mod_flex .side_a {
            width: 100%;
            margin-bottom: 0; } }
      .sezione_ricerca .mod_container .ab_content_mod_flex .side_b {
        width: 60%;
        position: relative;
        right: -5vw;
        display: flex;
        justify-content: center; }
        @media (max-width: 991px) {
          .sezione_ricerca .mod_container .ab_content_mod_flex .side_b {
            width: 100%;
            right: 0; } }
        .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image {
          position: relative;
          width: 80vw;
          height: 80vw; }
          @media (max-width: 991px) {
            .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image {
              width: 150vw;
              height: 150vw; } }
          .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image .content_circle_big_image {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center; }
            .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image .content_circle_big_image .center_img {
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              width: 75%;
              height: 75%;
              border-radius: 50%;
              object-fit: cover;
              z-index: 1;
              box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
            .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image .content_circle_big_image .svg_spinner_wrapper {
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 100%;
              z-index: 2;
              pointer-events: none; }
              .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image .content_circle_big_image .svg_spinner_wrapper svg {
                width: 100%;
                height: 100%;
                display: block; }
                .sezione_ricerca .mod_container .ab_content_mod_flex .side_b .circle_big_image .content_circle_big_image .svg_spinner_wrapper svg .arco {
                  fill: none;
                  stroke: #34BDC2;
                  stroke-width: 3px;
                  stroke-dasharray: 150 522;
                  stroke-linecap: round; }

.sezione_news_prev {
  background-color: #34BDC2;
  padding: 100px 0;
  overflow: hidden; }
  @media (max-width: 991px) {
    .sezione_news_prev {
      padding: 60px 0; } }
  .sezione_news_prev .swiper-button-next, .sezione_news_prev .swiper-button-prev {
    width: 80px;
    height: 80px;
    top: 50%;
    margin-top: 50px; }
    @media (max-width: 991px) {
      .sezione_news_prev .swiper-button-next, .sezione_news_prev .swiper-button-prev {
        display: none; } }
    .sezione_news_prev .swiper-button-next.swiper-button-disabled, .sezione_news_prev .swiper-button-prev.swiper-button-disabled {
      opacity: 0; }
  .sezione_news_prev .swiper-button-next {
    right: 0; }
  .sezione_news_prev .swiper-button-prev {
    left: 0;
    transform: rotate(180deg); }
  .sezione_news_prev .swiper {
    margin-top: 25px; }

.item_news {
  position: relative; }
  .item_news picture {
    overflow: hidden;
    height: 250px;
    border-radius: 30px;
    position: relative;
    z-index: 10; }
  .item_news .box_news {
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    background-color: rgba(255, 255, 255, 0.2);
    padding: 40px;
    padding-top: 65px;
    margin-top: -40px;
    border-radius: 0 0 30px 30px; }
    @media (max-width: 991px) {
      .item_news .box_news {
        padding: 20px 20px 40px;
        padding-top: 55px; } }
  .item_news .data {
    font-size: 15px;
    margin: 10px 0;
    display: block;
    color: #fff; }
  .item_news .paragrafo h3 {
    font-size: 26px;
    font-weight: normal;
    margin-bottom: 15px; }
  .item_news .paragrafo p {
    font-size: 15px;
    opacity: .9; }
  .item_news .category_news {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 30px; }
    .item_news .category_news a {
      font-size: 15px;
      background-color: #fff;
      border-radius: 10px;
      display: block;
      color: #34BDC2;
      padding: 5px 10px; }

.category_news {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  flex-wrap: wrap;
  margin-top: 30px; }
  .category_news a {
    font-size: 15px;
    background-color: #fff;
    border-radius: 10px;
    display: block;
    color: #34BDC2;
    padding: 5px 10px; }

.single-post .content_circle, .page-template-template-single-page .content_circle {
  display: none; }
.single-post .global_page, .page-template-template-single-page .global_page {
  margin-bottom: 0;
  padding-bottom: 60px; }
.single-post .wrap, .page-template-template-single-page .wrap {
  min-height: 50vh;
  min-height: 50dvh; }
.single-post .sezione_approfondimento .sezione_contatti, .page-template-template-single-page .sezione_approfondimento .sezione_contatti {
  padding-top: 60px;
  padding-bottom: 0; }
.single-post .category_news a, .page-template-template-single-page .category_news a {
  background-color: #34BDC2;
  color: #fff; }

.blog_section .mod_container {
  max-width: 1400px; }
.blog_section .bread_crumbs {
  margin-bottom: 20px; }
  .blog_section .bread_crumbs a, .blog_section .bread_crumbs span {
    font-size: 15px;
    color: #fff; }

.wrap_global_container::before {
  content: '';
  display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  border-radius: 40px 40px 0 0;
  height: 200px;
  background: linear-gradient(#000 0%, rgba(131, 129, 123, 0) 100%);
  opacity: .4;
  z-index: 100;
  pointer-events: none; }
  @media (max-width: 1280px) {
    .wrap_global_container::before {
      inset: 0;
      border-radius: 0;
      width: 100%; } }

.menu_is_open .wrap_global_container::before {
  opacity: 0; }

.overview, .elenco_focus {
  background-color: #34BDC2;
  min-height: 100vh;
  padding: 15vh 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden; }
  .overview.mono_image, .elenco_focus.mono_image {
    padding-bottom: 0; }
    .overview.mono_image:nth-of-type(2), .elenco_focus.mono_image:nth-of-type(2) {
      padding: 0; }
    .overview.mono_image:nth-last-of-type(1), .elenco_focus.mono_image:nth-last-of-type(1) {
      padding-top: 0;
      padding-bottom: 60px; }
    .overview.mono_image .wrap_rad_pr, .elenco_focus.mono_image .wrap_rad_pr {
      grid-template-columns: 1fr; }
      .overview.mono_image .wrap_rad_pr .item_rad_pr picture, .elenco_focus.mono_image .wrap_rad_pr .item_rad_pr picture {
        height: auto; }
  .overview .wrap_rad_pr, .elenco_focus .wrap_rad_pr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    width: 100%; }
    @media (max-width: 991px) {
      .overview .wrap_rad_pr, .elenco_focus .wrap_rad_pr {
        grid-template-columns: 1fr;
        margin-bottom: 40px; } }
    .overview .wrap_rad_pr .item_rad_pr h2, .elenco_focus .wrap_rad_pr .item_rad_pr h2 {
      font-size: 28px;
      color: #fff;
      margin-bottom: 25px;
      font-weight: 400; }
    .overview .wrap_rad_pr .item_rad_pr picture, .elenco_focus .wrap_rad_pr .item_rad_pr picture {
      background-color: #fff;
      padding: 20px;
      border-radius: 20px;
      margin-top: 25px;
      height: 350px; }
  .overview .link, .elenco_focus .link {
    max-width: 250px; }
    .overview .link a, .elenco_focus .link a {
      background-color: #32898D; }
      .overview .link a:hover, .elenco_focus .link a:hover {
        background-color: #32D8DE; }
  .overview .content_big_circle_bk, .elenco_focus .content_big_circle_bk {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center; }
    .overview .content_big_circle_bk .motion-circle-wrapper, .elenco_focus .content_big_circle_bk .motion-circle-wrapper {
      width: 60vw;
      height: 60vw;
      position: relative;
      bottom: -30vw;
      opacity: .2; }
  .overview .mod_container .ab_content_mod_flex, .elenco_focus .mod_container .ab_content_mod_flex {
    gap: 100px; }
    .overview .mod_container .ab_content_mod_flex .side_a .paragrafo h2, .elenco_focus .mod_container .ab_content_mod_flex .side_a .paragrafo h2 {
      text-transform: none; }
    .overview .mod_container .ab_content_mod_flex .side_a .paragrafo p, .elenco_focus .mod_container .ab_content_mod_flex .side_a .paragrafo p {
      max-width: 500px; }
    .overview .mod_container .ab_content_mod_flex .side_b, .elenco_focus .mod_container .ab_content_mod_flex .side_b {
      margin-top: 15px; }

.elenco_focus {
  background-color: transparent; }
  .elenco_focus .motion-circle-wrapper .cerchio-pieno {
    fill: #ddd; }
  .elenco_focus .motion-circle-wrapper .arco {
    fill: none;
    stroke: #ddd; }
  .elenco_focus .mod_container .ab_content_mod_flex .side_a {
    width: 30%; }
  .elenco_focus .mod_container .ab_content_mod_flex .side_b {
    width: 70%; }
  .elenco_focus .elenco_plus .item_elenco .special_line {
    background-color: #34BDC2; }
  .elenco_focus .elenco_plus .item_elenco .paragrafo {
    display: flex;
    align-items: flex-start;
    gap: 15px; }
    .elenco_focus .elenco_plus .item_elenco .paragrafo h3, .elenco_focus .elenco_plus .item_elenco .paragrafo p {
      width: 50%; }

.elenco_plus .item_elenco {
  margin-bottom: 30px; }
  .elenco_plus .item_elenco .paragrafo {
    margin-bottom: 30px; }
    .elenco_plus .item_elenco .paragrafo h3 {
      margin-bottom: 15px; }
  .elenco_plus .item_elenco .special_line {
    will-change: width;
    width: 0%;
    height: 2px;
    background-color: #fff; }

.motion_image {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden; }
  .motion_image .img_mask {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    clip-path: inset(0px 0px 0px 0px round 0px);
    -webkit-clip-path: inset(0px 0px 0px 0px round 0px);
    will-change: clip-path, transform; }
    .motion_image .img_mask picture, .motion_image .img_mask img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
  .motion_image .mod_container {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: flex-end; }
    .motion_image .mod_container .paragrafo {
      width: 45%;
      padding-right: 20px;
      opacity: 0;
      transform: translateX(50px); }
      @media (max-width: 991px) {
        .motion_image .mod_container .paragrafo {
          width: 100%;
          text-align: center;
          padding: 0 20px; } }

.sezione_contatti {
  padding-bottom: 100px; }
  @media (max-width: 991px) {
    .sezione_contatti {
      padding-bottom: 20px; } }

.sezione_interlinea .mod_container {
  margin: 40px 0; }
  .sezione_interlinea .mod_container .paragrafo_titolato {
    margin-bottom: 20px; }

.elenco_image_show {
  display: flex;
  flex-direction: column;
  padding: 15vh 0;
  justify-content: space-between;
  height: fit-content;
  z-index: 1;
  gap: 15vh;
  background-color: #34BDC2; }
  @media (max-width: 1024px) {
    .elenco_image_show {
      padding: 10vh 0 0; } }
  @media (max-width: 991px) {
    .elenco_image_show {
      padding: 40px 0; } }
  .elenco_image_show.elenco_image_show_mod {
    padding: 120px 0; }
    @media (max-width: 991px) {
      .elenco_image_show.elenco_image_show_mod {
        padding: 40px 0 20px; } }
  .elenco_image_show .wrap-contents {
    width: 100%;
    height: fit-content; }
  .elenco_image_show .menu-divider {
    width: 100%;
    height: 2px;
    background-color: #fff; }
  .elenco_image_show .menu-item {
    position: relative;
    color: #606060;
    font-weight: 300;
    will-change: transform;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column; }
    .elenco_image_show .menu-item h2 {
      max-width: 70%; }
      @media (max-width: 1600px) {
        .elenco_image_show .menu-item h2 {
          max-width: 50%; } }
      @media (max-width: 1024px) {
        .elenco_image_show .menu-item h2 {
          max-width: 100%; } }
    .elenco_image_show .menu-item p {
      max-width: 70%;
      cursor: default; }
      @media (max-width: 1600px) {
        .elenco_image_show .menu-item p {
          max-width: 50%; } }
      @media (max-width: 1024px) {
        .elenco_image_show .menu-item p {
          max-width: 100%; } }
    .elenco_image_show .menu-item img {
      width: 4vw;
      object-fit: contain;
      display: none; }
    .elenco_image_show .menu-item:hover .menu-item-text {
      color: #32898D; }
  .elenco_image_show .menu-item-text {
    line-height: 100%;
    z-index: 1;
    position: relative;
    margin: 0;
    pointer-events: auto;
    transition: 1s ease;
    padding: 40px 0;
    width: 100%; }
    .elenco_image_show .menu-item-text:hover {
      background-color: #32898D; }
      @media (max-width: 1024px) {
        .elenco_image_show .menu-item-text:hover {
          background-color: #34BDC2; } }
    @media (max-width: 1024px) {
      .elenco_image_show .menu-item-text {
        font-size: 8vw;
        margin-bottom: 0;
        padding-bottom: 20px; } }
    @media (max-width: 991px) {
      .elenco_image_show .menu-item-text {
        font-size: 40px; } }
  .elenco_image_show .hover-reveal {
    position: absolute;
    width: 30vw;
    aspect-ratio: 1/1;
    top: -25%;
    right: 5vw;
    border-radius: 30px;
    transform: translate(-50%);
    pointer-events: none;
    opacity: 0;
    will-change: transform, filter;
    z-index: 100; }
    @media (max-width: 1600px) {
      .elenco_image_show .hover-reveal {
        right: -5vw; } }
    @media (max-width: 1024px) {
      .elenco_image_show .hover-reveal {
        position: static;
        opacity: 1;
        transform: none;
        width: 100%;
        padding: 20px; } }
  .elenco_image_show .hover-reveal__inner {
    overflow: hidden;
    will-change: transform, opacity; }
    @media (max-width: 1024px) {
      .elenco_image_show .hover-reveal__inner {
        border-radius: 30px; } }
  .elenco_image_show .hover-reveal__inner, .elenco_image_show .hover-reveal__img {
    width: 100%;
    height: 100%;
    position: relative; }
  .elenco_image_show .hover-reveal__img {
    background-size: cover;
    background-position: 50% 50%;
    will-change: transform; }

.sezione_paragrafo {
  padding: 120px 0; }
  @media (max-width: 991px) {
    .sezione_paragrafo {
      padding: 60px 0; } }
  .sezione_paragrafo.sezione_paragrafo_hel {
    padding-bottom: 0; }
  .sezione_paragrafo .mod_container .paragrafo_titolato_esteso {
    max-width: 1200px; }
  .sezione_paragrafo .mod_container .paragrafo_small_boxed {
    justify-content: flex-end;
    width: 100%;
    display: flex;
    max-width: 100%;
    margin-top: 50px; }
    @media (max-width: 991px) {
      .sezione_paragrafo .mod_container .paragrafo_small_boxed {
        margin-top: 0;
        justify-content: flex-start; } }
    .sezione_paragrafo .mod_container .paragrafo_small_boxed p {
      max-width: 400px; }

.sezione_moduli_estesi {
  background-color: #34BDC2;
  padding: 120px 0; }
  .sezione_moduli_estesi .paragrafo_anteprima {
    margin-bottom: 20px; }
  @media (max-width: 991px) {
    .sezione_moduli_estesi {
      padding: 60px 0 60px; } }

.blocchi_alternati {
  padding-top: 50px;
  width: 100%; }
  @media (max-width: 575px) {
    .blocchi_alternati {
      padding-top: 10px; } }
  .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex {
    min-height: unset;
    box-shadow: 0 16px 18px 0 rgba(0, 0, 0, 0.05), 0 25px 35px 0 rgba(0, 0, 0, 0.02);
    backdrop-filter: blur(15px);
    --webkit-backdrop-filter: blur(15px);
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 30px; }
    .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex .paragrafo {
      max-width: 700px; }
    @media (max-width: 991px) {
      .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex .side_b {
        padding: 0 20px 20px; } }
    .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex picture.object_image {
      height: auto; }
      .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex picture.object_image img {
        object-fit: cover; }
    .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex .box_image_logo picture {
      height: auto !important;
      width: 250px !important;
      min-height: unset !important;
      margin-top: 40px;
      background-color: #fff;
      border-radius: 50px; }
      @media (max-width: 575px) {
        .blocchi_alternati.blocchi_alternati_estesi .ab_content_flex .box_image_logo picture {
          width: 100% !important;
          margin-top: 20px;
          border-radius: 4px; } }
  .blocchi_alternati .ab_content_flex {
    margin-bottom: 0; }
    @media (max-width: 991px) {
      .blocchi_alternati .ab_content_flex {
        gap: 25px !important; } }
    .blocchi_alternati .ab_content_flex:nth-child(even) .side_a {
      order: 2; }
      @media (max-width: 991px) {
        .blocchi_alternati .ab_content_flex:nth-child(even) .side_a {
          order: 1; } }
    .blocchi_alternati .ab_content_flex:nth-child(even) .side_b {
      order: 1;
      align-items: flex-end; }
      @media (max-width: 991px) {
        .blocchi_alternati .ab_content_flex:nth-child(even) .side_b {
          order: 2; } }
  .blocchi_alternati .ab_content_flex {
    gap: 60px;
    margin-bottom: 60px;
    min-height: 650px;
    flex-wrap: nowrap; }
    .blocchi_alternati .ab_content_flex:nth-last-child(1) {
      margin-bottom: 0; }
    .blocchi_alternati .ab_content_flex .video_background {
      width: 100%;
      height: 100%;
      position: relative;
      overflow: hidden;
      z-index: -1;
      max-height: 670px;
      border-radius: 20px; }
      @media (max-width: 991px) {
        .blocchi_alternati .ab_content_flex .video_background {
          height: 45vh;
          max-height: none; } }
      .blocchi_alternati .ab_content_flex .video_background video {
        object-fit: cover;
        width: 100%;
        height: 100%;
        position: relative;
        top: 0;
        left: 0; }
    .blocchi_alternati .ab_content_flex .side_a {
      width: 100%;
      order: 1;
      display: flex; }
    .blocchi_alternati .ab_content_flex .side_b {
      width: 100%;
      order: 2;
      display: flex; }
    .blocchi_alternati .ab_content_flex .paragrafo {
      display: flex;
      flex-direction: column;
      justify-content: center;
      max-width: 600px; }
      .blocchi_alternati .ab_content_flex .paragrafo h3 {
        margin-bottom: 25px;
        max-width: 600px; }
      @media (max-width: 991px) {
        .blocchi_alternati .ab_content_flex .paragrafo .link a {
          width: 100% !important; } }
    .blocchi_alternati .ab_content_flex picture.object_image {
      height: 90vh;
      width: auto; }
      .blocchi_alternati .ab_content_flex picture.object_image img {
        object-fit: contain; }
      .blocchi_alternati .ab_content_flex picture.object_image.full img {
        object-fit: cover; }
      .blocchi_alternati .ab_content_flex picture.object_image.boxata img {
        object-fit: contain; }
    @media (max-width: 991px) {
      .blocchi_alternati .ab_content_flex picture {
        height: 45vh;
        margin-bottom: 0; } }
    .blocchi_alternati .ab_content_flex picture img {
      border-radius: 20px;
      overflow: hidden; }

.svg_mask_animation {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  will-change: clip-path; }
  .svg_mask_animation.is-visible {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0); }

.grid_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
  margin-top: 50px; }
  @media (max-width: 991px) {
    .grid_wrap {
      grid-template-columns: 1fr 1fr !important; } }
  @media (max-width: 575px) {
    .grid_wrap {
      grid-template-columns: 1fr !important;
      gap: 20px; } }
  .grid_wrap.grid_1 {
    grid-template-columns: 1fr; }
  .grid_wrap.grid_2 {
    grid-template-columns: 1fr 1fr; }
  .grid_wrap.grid_3 {
    grid-template-columns: 1fr 1fr 1fr; }
  .grid_wrap.grid_4 {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_7 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_8 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_9 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_10 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_11 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr  1fr 1fr 1fr; }
  .grid_wrap.grid_12 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr  1fr 1fr 1fr 1fr; }
  .grid_wrap.grid_focus.grid_margin {
    margin-top: 80px; }
  .grid_wrap.grid_focus .item_focus {
    min-height: 350px;
    opacity: 0;
    visibility: hidden;
    will-change: transform, opacity; }
    .grid_wrap.grid_focus .item_focus.item_view_picture picture {
      opacity: 1; }
      .grid_wrap.grid_focus .item_focus.item_view_picture picture::before, .grid_wrap.grid_focus .item_focus.item_view_picture picture::after {
        display: none; }
    .grid_wrap.grid_focus .item_focus.item_colored:hover .inner_w {
      border: 0.06em solid #34BDC2; }
      .grid_wrap.grid_focus .item_focus.item_colored:hover .inner_w .paragrafo h2, .grid_wrap.grid_focus .item_focus.item_colored:hover .inner_w .paragrafo p {
        color: #fff; }
    .grid_wrap.grid_focus .item_focus.item_colored .inner_w {
      border: 0.06em solid #34BDC2; }
      .grid_wrap.grid_focus .item_focus.item_colored .inner_w .paragrafo h2, .grid_wrap.grid_focus .item_focus.item_colored .inner_w .paragrafo p {
        color: #34BDC2; }
    .grid_wrap.grid_focus .item_focus .paragrafo h2 {
      font-weight: bold;
      color: #fff;
      text-transform: uppercase;
      font-size: 30px; }
      @media (max-width: 991px) {
        .grid_wrap.grid_focus .item_focus .paragrafo h2 {
          font-size: 24px; } }
    .grid_wrap.grid_focus .item_focus .paragrafo p {
      color: #fff; }
    .grid_wrap.grid_focus .item_focus picture {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      z-index: -1;
      opacity: 0;
      transition: .3s;
      margin: 0; }
    .grid_wrap.grid_focus .item_focus .video_background {
      opacity: 0;
      transition: .3s; }
    .grid_wrap.grid_focus .item_focus:hover .paragrafo p, .grid_wrap.grid_focus .item_focus:hover .paragrafo h2 {
      color: #fff !important; }
    .grid_wrap.grid_focus .item_focus:hover .inner_w {
      border: 0.06em solid #fff; }
    .grid_wrap.grid_focus .item_focus:hover picture, .grid_wrap.grid_focus .item_focus:hover .video_background {
      opacity: 1; }
  .grid_wrap .item_w {
    position: relative; }
    .grid_wrap .item_w:hover {
      cursor: default; }
    .grid_wrap .item_w .inner_w {
      border: 0.06em solid transparent;
      padding: 40px;
      transition: .3s;
      border-radius: 30px;
      height: 100%;
      display: flex;
      justify-content: space-between;
      flex-direction: column;
      position: relative;
      aspect-ratio: 1/1;
      overflow: hidden;
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      background-color: rgba(255, 255, 255, 0.2); }
      @media (max-width: 575px) {
        .grid_wrap .item_w .inner_w {
          padding: 25px; } }
      .grid_wrap .item_w .inner_w .link {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        margin: 0;
        padding: 0;
        background: transparent;
        border: none;
        color: transparent;
        box-shadow: none;
        outline: none; }
        .grid_wrap .item_w .inner_w .link a {
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          margin: 0;
          padding: 0;
          background: transparent;
          border: none;
          color: transparent;
          box-shadow: none;
          outline: none; }
    .grid_wrap .item_w:hover .inner_w {
      border: 0.06em solid #fff;
      box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); }
      @media (max-width: 1024px) {
        .grid_wrap .item_w:hover .inner_w {
          border: 0.06em solid #fff;
          box-shadow: none; } }
    .grid_wrap .item_w .box_info {
      margin-top: 40px; }
    .grid_wrap .item_w h2 {
      font-weight: 300;
      font-size: 48px; }
      @media (max-width: 575px) {
        .grid_wrap .item_w h2 {
          font-size: 38px; } }
    .grid_wrap .item_w p {
      font-size: 22px; }
      @media (max-width: 991px) {
        .grid_wrap .item_w p {
          font-size: 18px; } }
    .grid_wrap .item_w picture {
      height: 160px;
      display: block;
      border-radius: 2px;
      margin: 30px 0; }
      .grid_wrap .item_w picture::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 40%;
        background: linear-gradient(#000 0%, rgba(131, 129, 123, 0) 100%);
        opacity: 0.3;
        z-index: 100; }
      .grid_wrap .item_w picture::after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 40%;
        background: linear-gradient(to top, #000 0%, rgba(131, 129, 123, 0) 100%);
        opacity: 0.4;
        z-index: 100; }
    .grid_wrap .item_w .paragrafo_bottom {
      margin-top: 30px; }

.modulo_focus {
  background-color: #34BDC2;
  padding: 120px 0; }
  @media (max-width: 991px) {
    .modulo_focus {
      padding: 60px 0; } }
  .modulo_focus .ab_content_mod_flex .side_b {
    margin-top: 75px; }
    .modulo_focus .ab_content_mod_flex .side_b .paragrafo {
      max-width: 500px; }

.card_marquee {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #34BDC2; }
  @media (max-width: 991px) {
    .card_marquee {
      min-height: auto;
      padding: 80px 0; } }
  .card_marquee.card_marquee_alt {
    background-color: transparent; }
    @media (max-width: 991px) {
      .card_marquee.card_marquee_alt {
        padding: 40px 0; } }
    .card_marquee.card_marquee_alt .marquee-item {
      color: #34BDC2; }
    .card_marquee.card_marquee_alt .mod_container .side_center {
      margin: 100px 0; }
      @media (max-width: 991px) {
        .card_marquee.card_marquee_alt .mod_container .side_center {
          margin: 40px 0 50px; } }
    .card_marquee.card_marquee_alt .side_right {
      display: flex;
      justify-content: flex-end; }
      @media (max-width: 991px) {
        .card_marquee.card_marquee_alt .side_right {
          margin: 40px 0 50px;
          justify-content: center;
          text-align: center; } }
  .card_marquee .marquee-item {
    color: #fff; }
  .card_marquee .paragrafo_small_boxed {
    margin-top: 5%; }
    @media (max-width: 991px) {
      .card_marquee .paragrafo_small_boxed {
        margin: 0;
        max-width: 100%;
        text-align: center; } }
  .card_marquee .wrap_rotate_photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
    @media (max-width: 1280px) {
      .card_marquee .wrap_rotate_photo {
        position: static;
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-bottom: 100px;
        z-index: 0; } }
    @media (max-width: 991px) {
      .card_marquee .wrap_rotate_photo {
        margin-bottom: 30px; } }
  .card_marquee .rotate_photo_1 {
    width: 100%;
    max-width: 500px;
    position: absolute;
    left: calc(50% - 250px);
    border: 1px solid #ddd;
    border-radius: 30px; }
    @media (max-width: 1600px) {
      .card_marquee .rotate_photo_1 {
        max-width: 400px; } }
    @media (max-width: 1280px) {
      .card_marquee .rotate_photo_1 {
        position: static; } }
  .card_marquee .rotate_photo_2 {
    width: 200px;
    max-width: 200px;
    position: absolute;
    right: 25%;
    border: 1px solid #ddd;
    border-radius: 30px; }
    @media (max-width: 1280px) {
      .card_marquee .rotate_photo_2 {
        position: static; } }

.grid_box_articoli {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 20px;
  width: 100%; }
  @media (max-width: 991px) {
    .grid_box_articoli {
      grid-template-columns: 1fr; } }
  .grid_box_articoli .item_box_info, .grid_box_articoli .item_articoli {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #606060;
    text-decoration: none;
    background-color: #1C1C1C;
    position: relative;
    overflow: hidden;
    border: 1px solid #ddd; }
    @media (max-width: 991px) {
      .grid_box_articoli .item_box_info, .grid_box_articoli .item_articoli {
        padding: 0; } }
    .grid_box_articoli .item_box_info picture, .grid_box_articoli .item_articoli picture {
      margin-bottom: 0;
      border-radius: 12px 12px 0 0;
      height: 350px;
      display: block; }
      .grid_box_articoli .item_box_info picture img, .grid_box_articoli .item_articoli picture img {
        margin: 0;
        padding: 0; }
    .grid_box_articoli .item_box_info .box_info, .grid_box_articoli .item_articoli .box_info {
      background-color: #1C1C1C;
      padding: 40px;
      border-radius: 0 0 12px 12px; }
    .grid_box_articoli .item_box_info .paragrafo_articolo h2, .grid_box_articoli .item_articoli .paragrafo_articolo h2 {
      color: #34BDC2;
      font-size: 20px;
      line-height: 110%;
      margin-bottom: 15px; }
    .grid_box_articoli .item_box_info .paragrafo_articolo img, .grid_box_articoli .item_articoli .paragrafo_articolo img {
      border-radius: 0;
      margin: 0; }
    .grid_box_articoli .item_box_info .paragrafo_articolo .data_articolo, .grid_box_articoli .item_articoli .paragrafo_articolo .data_articolo {
      color: #34BDC2 !important; }
    .grid_box_articoli .item_box_info .paragrafo_articolo p, .grid_box_articoli .item_articoli .paragrafo_articolo p {
      color: #34BDC2;
      font-weight: normal; }
    .grid_box_articoli .item_box_info .paragrafo, .grid_box_articoli .item_box_info .link_simple, .grid_box_articoli .item_articoli .paragrafo, .grid_box_articoli .item_articoli .link_simple {
      position: relative;
      z-index: 50; }
      .grid_box_articoli .item_box_info .paragrafo .data_articolo, .grid_box_articoli .item_box_info .link_simple .data_articolo, .grid_box_articoli .item_articoli .paragrafo .data_articolo, .grid_box_articoli .item_articoli .link_simple .data_articolo {
        color: #fff;
        margin-bottom: 15px;
        display: block;
        font-family: "Quicksand", sans-serif;
        font-size: 15px; }

.global_page {
  padding-top: 175px;
  padding-bottom: 40px;
  margin-bottom: 20px;
  border-radius: 0 0 40px 40px; }
  .global_page.global_page_news {
    padding-top: 175px;
    background-color: #34BDC2; }
    @media (max-width: 575px) {
      .global_page.global_page_news {
        margin-left: 0;
        margin-right: 0;
        padding-top: 150px;
        width: 100%; } }
  .global_page.global_page_single_news {
    padding-top: 20px; }
    @media (max-width: 575px) {
      .global_page.global_page_single_news {
        margin-left: 0;
        margin-right: 0;
        padding-top: 40px;
        width: 100%; } }
  @media (max-width: 991px) {
    .global_page {
      padding-top: 137px; } }
  @media (max-width: 575px) {
    .global_page {
      padding-top: 110px; } }

.single-post .ab_content_mod_flex, .page-template-template-single-page .ab_content_mod_flex {
  max-width: 900px;
  margin: auto; }
@media (max-width: 991px) {
  .single-post .slider_container.custom_layer:before, .page-template-template-single-page .slider_container.custom_layer:before {
    display: none; }
  .single-post .wrap .multi_slide, .page-template-template-single-page .wrap .multi_slide {
    border-radius: 0 0 30px 30px; } }

.page-template-template-contatti #toggle span, .page-template-template-job #toggle span, .page-template-template-neutro #toggle span {
  background: #606060; }
.page-template-template-contatti #toggle span:before, .page-template-template-contatti #toggle span:after, .page-template-template-job #toggle span:before, .page-template-template-job #toggle span:after, .page-template-template-neutro #toggle span:before, .page-template-template-neutro #toggle span:after {
  background: #606060; }
.page-template-template-contatti.menu_is_open .logo svg path, .page-template-template-contatti.menu_is_open .logo svg rect, .page-template-template-job.menu_is_open .logo svg path, .page-template-template-job.menu_is_open .logo svg rect, .page-template-template-neutro.menu_is_open .logo svg path, .page-template-template-neutro.menu_is_open .logo svg rect {
  fill: #fff !important; }
.page-template-template-contatti.menu_is_open #toggle span, .page-template-template-job.menu_is_open #toggle span, .page-template-template-neutro.menu_is_open #toggle span {
  background: transparent; }
.page-template-template-contatti.menu_is_open #toggle span:before, .page-template-template-contatti.menu_is_open #toggle span:after, .page-template-template-job.menu_is_open #toggle span:before, .page-template-template-job.menu_is_open #toggle span:after, .page-template-template-neutro.menu_is_open #toggle span:before, .page-template-template-neutro.menu_is_open #toggle span:after {
  background: #fff; }
.page-template-template-contatti .sezione_contatti, .page-template-template-job .sezione_contatti, .page-template-template-neutro .sezione_contatti {
  padding-bottom: 0; }
  .page-template-template-contatti .sezione_contatti .mod_container, .page-template-template-job .sezione_contatti .mod_container, .page-template-template-neutro .sezione_contatti .mod_container {
    max-width: 1440px; }
.page-template-template-contatti .grid_header, .page-template-template-job .grid_header, .page-template-template-neutro .grid_header {
  background-color: rgba(0, 0, 0, 0.07); }
.page-template-template-contatti .simple_menu ul li.attiva_mega_menu > a::after, .page-template-template-job .simple_menu ul li.attiva_mega_menu > a::after, .page-template-template-neutro .simple_menu ul li.attiva_mega_menu > a::after {
  color: #606060; }
.page-template-template-contatti .select_language a, .page-template-template-contatti .select_language span, .page-template-template-job .select_language a, .page-template-template-job .select_language span, .page-template-template-neutro .select_language a, .page-template-template-neutro .select_language span {
  border: 1px dotted #606060;
  color: #606060; }
.page-template-template-contatti .simple_menu ul li a, .page-template-template-job .simple_menu ul li a, .page-template-template-neutro .simple_menu ul li a {
  color: #606060; }
.page-template-template-contatti .logo svg #Raggruppa_2968 path, .page-template-template-contatti .logo svg #Raggruppa_2968 rect, .page-template-template-job .logo svg #Raggruppa_2968 path, .page-template-template-job .logo svg #Raggruppa_2968 rect, .page-template-template-neutro .logo svg #Raggruppa_2968 path, .page-template-template-neutro .logo svg #Raggruppa_2968 rect {
  fill: #34BDC2; }
.page-template-template-contatti .logo svg path, .page-template-template-contatti .logo svg rect, .page-template-template-job .logo svg path, .page-template-template-job .logo svg rect, .page-template-template-neutro .logo svg path, .page-template-template-neutro .logo svg rect {
  fill: #606060; }

.certificazioni {
  padding-top: 120px; }
  @media (max-width: 991px) {
    .certificazioni {
      padding-top: 0; } }
  .certificazioni .paragrafo_centro {
    max-width: 900px;
    margin-bottom: 20px; }

.sezione_composer .sezione_testo_grande_centrale .paragrafo_titolato {
  margin-bottom: 20px;
  margin-top: 20px; }
  @media (max-width: 991px) {
    .sezione_composer .sezione_testo_grande_centrale .paragrafo_titolato {
      margin: 40px auto; } }
.sezione_composer .sezione_testo_grande_centrale .paragrafo_centro {
  margin-bottom: 20px; }
  @media (max-width: 991px) {
    .sezione_composer .sezione_testo_grande_centrale .paragrafo_centro {
      margin-bottom: 40px; } }

@media (max-width: 991px) {
  .certificazioni .grid_wrap.grid_4 {
    grid-template-columns: 1fr 1fr !important;
    margin-bottom: 60px; }
  .certificazioni .grid_wrap .item_w .inner_w {
    aspect-ratio: unset; }
  .certificazioni .grid_wrap.grid_focus .item_focus {
    min-height: 250px; }

  .overview, .elenco_focus {
    padding: 60px 0; }

  .overview .mod_container .ab_content_mod_flex, .elenco_focus .mod_container .ab_content_mod_flex {
    gap: 0; }

  .overview .mod_container .ab_content_mod_flex .side_b, .elenco_focus .mod_container .ab_content_mod_flex .side_b {
    margin-top: 0; }

  .card_marquee .rotate_photo_1 {
    max-width: 150px; } }
.section {
  padding: 120px 0; }
  @media (max-width: 991px) {
    .section {
      padding: 40px 0; } }
  .section.sfondo_dark {
    background-color: #34BDC2; }
  .section picture img {
    border-radius: 30px; }
  @media (max-width: 991px) {
    .section.simple_text_photo .ab_content_flex .side_b {
      margin-top: 40px; } }

.white_bk {
  background-color: #fff; }

.elenco_prodotti_animati {
  background-color: #34BDC2;
  padding: 120px 0; }
  @media (max-width: 991px) {
    .elenco_prodotti_animati {
      padding: 40px 0; } }
  .elenco_prodotti_animati .paragrafo {
    max-width: 1080px;
    margin-bottom: 80px; }
    @media (max-width: 991px) {
      .elenco_prodotti_animati .paragrafo {
        margin-bottom: 40px; } }
    .elenco_prodotti_animati .paragrafo h2 strong {
      font-weight: bold;
      color: #fff; }
  .elenco_prodotti_animati .card_grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    min-height: 65vh; }
    @media (max-width: 991px) {
      .elenco_prodotti_animati .card_grid {
        grid-template-columns: 1fr;
        margin-top: 0;
        gap: 40px; } }
    .elenco_prodotti_animati .card_grid .item_grid {
      box-shadow: 0 16px 18px 0 rgba(0, 0, 0, 0.05), 0 25px 35px 0 rgba(0, 0, 0, 0.02);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      background-color: rgba(255, 255, 255, 0.2);
      border-radius: 30px;
      overflow: hidden;
      min-height: 700px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      will-change: transform, opacity;
      opacity: 0; }
      @media (max-width: 991px) {
        .elenco_prodotti_animati .card_grid .item_grid {
          min-height: 500px; } }
      .elenco_prodotti_animati .card_grid .item_grid:hover {
        box-shadow: 0 16px 18px 0 rgba(0, 0, 0, 0.15), 0 25px 35px 0 rgba(0, 0, 0, 0.02); }
      .elenco_prodotti_animati .card_grid .item_grid .wrap_link_image {
        display: flex;
        flex-direction: column;
        justify-content: space-between; }
      .elenco_prodotti_animati .card_grid .item_grid .plus_link {
        position: absolute;
        bottom: 40px;
        right: 40px;
        z-index: 1; }
      .elenco_prodotti_animati .card_grid .item_grid .text_box {
        padding: 40px;
        position: relative;
        z-index: 2; }
      .elenco_prodotti_animati .card_grid .item_grid h3 {
        font-weight: 400;
        font-size: 18px;
        letter-spacing: 0.02em;
        line-height: 24px;
        color: #fff;
        margin-bottom: 10px; }
      .elenco_prodotti_animati .card_grid .item_grid h2 {
        font-weight: bold;
        font-size: 40px;
        line-height: 40px;
        color: #fff;
        margin-bottom: 20px; }
      .elenco_prodotti_animati .card_grid .item_grid p {
        color: #fff; }
      .elenco_prodotti_animati .card_grid .item_grid img {
        position: relative;
        width: 100%;
        height: 100%;
        bottom: 0;
        left: 0;
        object-fit: cover;
        z-index: 1; }

.elenco_prodotti_animati.card_grid_four .paragrafo_titolato {
  margin-bottom: 40px; }
  @media (max-width: 991px) {
    .elenco_prodotti_animati.card_grid_four .paragrafo_titolato {
      margin-bottom: 20px; } }
.elenco_prodotti_animati.card_grid_four .paragrafo_semplice {
  margin-bottom: 80px; }
  @media (max-width: 991px) {
    .elenco_prodotti_animati.card_grid_four .paragrafo_semplice {
      margin-bottom: 40px; } }
.elenco_prodotti_animati.card_grid_four .card_grid {
  grid-template-columns: 1fr 1fr 1fr 1fr; }
  .elenco_prodotti_animati.card_grid_four .card_grid .item_grid .wrap_link_image {
    height: 500px;
    margin-top: -20px; }
  .elenco_prodotti_animati.card_grid_four .card_grid .item_grid h2 {
    font-size: 30px;
    line-height: 120%; }
  @media (max-width: 991px) {
    .elenco_prodotti_animati.card_grid_four .card_grid {
      grid-template-columns: 1fr; } }

.sezione_gallery_generale {
  padding-bottom: 120px;
  overflow: hidden; }
  @media (max-width: 991px) {
    .sezione_gallery_generale {
      padding-bottom: 60px; } }
  .sezione_gallery_generale.mod_gallery {
    padding: 40px 0 80px; }
    @media (max-width: 991px) {
      .sezione_gallery_generale.mod_gallery {
        padding: 40px 0 40px; } }
  .sezione_gallery_generale .item_gal picture {
    border-radius: 30px;
    border: 2px solid #ddd;
    height: 350px;
    overflow: hidden; }
  .sezione_gallery_generale .item_gal h3 {
    color: #34BDC2;
    margin-top: 20px;
    font-weight: 500;
    text-align: center; }
    @media (max-width: 991px) {
      .sezione_gallery_generale .item_gal h3 {
        font-size: 18px; } }
  .sezione_gallery_generale .swiper-button-next, .sezione_gallery_generale .swiper-button-prev {
    width: 80px;
    height: 80px;
    top: 50%;
    margin-top: 50px; }
    @media (max-width: 991px) {
      .sezione_gallery_generale .swiper-button-next, .sezione_gallery_generale .swiper-button-prev {
        display: none; } }
    .sezione_gallery_generale .swiper-button-next.swiper-button-disabled, .sezione_gallery_generale .swiper-button-prev.swiper-button-disabled {
      opacity: 0; }
  .sezione_gallery_generale .swiper-button-next {
    right: 20px;
    margin-top: -25px; }
  .sezione_gallery_generale .swiper-button-prev {
    left: 20px;
    margin-top: -25px;
    transform: rotate(180deg); }

.prodotti-template-single-prodotti .sezione_gallery_generale {
  padding: 40px 0 0; }

.posizione_aperte {
  border-top: 1px dotted #34BDC2;
  margin-top: 30px;
  padding-top: 30px; }
  .posizione_aperte .paragrafo h2 {
    font-size: 40px;
    margin-bottom: 30px; }
  .posizione_aperte .item_posizione {
    border: 1px solid #34BDC2;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px; }
    .posizione_aperte .item_posizione h2 {
      font-size: 30px;
      margin-bottom: 20px;
      font-weight: bold; }
    .posizione_aperte .item_posizione h3 {
      margin-bottom: 15px; }
    .posizione_aperte .item_posizione ul {
      margin: 20px 0; }
    .posizione_aperte .item_posizione p, .posizione_aperte .item_posizione li {
      font-size: 18px; }
    .posizione_aperte .item_posizione:nth-last-child(1) {
      margin-bottom: 0; }

.contenuto_nascosto {
  overflow: hidden;
  max-height: 150px;
  /* valore di fallback, lo JS lo sovrascrive */
  transition: max-height .35s ease;
  position: relative;
  mask-image: linear-gradient(#000, #000, rgba(0, 0, 0, 0.85), transparent);
  margin-top: 30px; }
  .contenuto_nascosto.remove_mask {
    mask-image: none; }
  .contenuto_nascosto.is-open {
    mask-image: none; }

.d-none {
  display: none; }

.swal2-container {
  z-index: 99999; }

.medical_disclaimer_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 20000;
  /* Altissimo: vince su Splash (1000) e Menu (9999) */
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  /* Gestito da GSAP */
  visibility: hidden; }
  .medical_disclaimer_wrap .disclaimer_backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #34BDC2;
    /* Verde brand molto scuro e coprente */
    backdrop-filter: blur(10px);
    /* Effetto sfocato moderno */ }
  .medical_disclaimer_wrap .disclaimer_box {
    position: relative;
    width: 90%;
    max-width: 500px;
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3); }
    .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo {
      width: 200px;
      margin: 0 auto 30px; }
      .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo svg {
        width: 100%;
        height: auto; }
        .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo svg #Raggruppa_2968 path, .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo svg #Raggruppa_2968 rect {
          fill: #34BDC2; }
        .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo svg path, .medical_disclaimer_wrap .disclaimer_box .disclaimer_logo svg rect {
          fill: #606060; }
    .medical_disclaimer_wrap .disclaimer_box h3 {
      font-size: 24px;
      color: #34BDC2;
      margin-bottom: 20px;
      font-weight: 600; }
    .medical_disclaimer_wrap .disclaimer_box .disclaimer_text {
      font-size: 16px;
      line-height: 1.5;
      color: #606060;
      margin-bottom: 30px; }
      .medical_disclaimer_wrap .disclaimer_box .disclaimer_text p {
        margin-bottom: 10px; }
    .medical_disclaimer_wrap .disclaimer_box .disclaimer_actions {
      display: flex;
      flex-direction: column;
      gap: 15px; }
      .medical_disclaimer_wrap .disclaimer_box .disclaimer_actions .btn_accept {
        font-family: "Quicksand", sans-serif;
        font-weight: 400;
        background: #34BDC2;
        color: #fff;
        border: none;
        padding: 15px 30px;
        border-radius: 50px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s;
        text-transform: uppercase; }
        .medical_disclaimer_wrap .disclaimer_box .disclaimer_actions .btn_accept:hover {
          background: #29969a;
          transform: scale(1.02); }
      .medical_disclaimer_wrap .disclaimer_box .disclaimer_actions .btn_deny {
        font-size: 14px;
        color: #999;
        text-decoration: underline;
        background: transparent;
        border: none;
        cursor: pointer; }
        .medical_disclaimer_wrap .disclaimer_box .disclaimer_actions .btn_deny:hover {
          color: #606060; }

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