@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

* {
  margin: 0;
  padding: 0;
}
*::selection{
  color:   rgba(255,255,255,0.9);
  background: rgba(86,123,187,0.8) !important; 
}
 *::-moz-selection{
  color:   rgba(255,255,255,0.9);
  background: rgba(86,123,187,0.8)  !important;
}
:root {
  --padding: 1.5rem;

  --color-black: #000000;
  --color-light: rgba(179,178,178, .2);
  --color-white: #ffffff;
  --color-blue: #213b60;
  --color-light-blue: #567bbb;
  --color-light-blue-50: rgba(86,123,187,0.5);
  --color-grey: #4b4b4a;
  --color-light-grey: rgba(179,178,178, .4);
  --menu-width: 100vw;
  --color-text: var(--color-grey);

  --transition-00: 0.05s cubic-bezier(.86,0,.07,1);
  --transition-01: 0.3s cubic-bezier(.86,0,.07,1);
  --transition-02: 0.4s cubic-bezier(.86,0,.07,1);
  --transition-03: 0.6s cubic-bezier(.86,0,.07,1);
  --transition-04: 0.9s cubic-bezier(.86,0,.07,1);
  --transition-05: 0.6s linear 0.32s;
  --transition-06: 0.3s linear;

  --font-family-sans: "Roboto", Helvetica, Arial, sans-serif;
  --font-family-serif: Georgia, Times, serif;
}
html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  box-sizing: border-box;
  scroll-behavior: smooth;
  height: 100%;
}
body {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}


.wow {
  visibility: hidden;
}
.wow.animated {
  visibility: visible;
}
.wow{
  overflow: hidden;
}


.icon::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
/* Loader Styles START */
.preloader {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  background-color: var(--color-white);
  z-index: 998;
}
.preloader span {
  color: var(--color-light-blue);
  display: inline;
  opacity: 0.8;
  animation: preloadpulse 1.4s alternate infinite ease-in-out;
  width: 120px;
}
@keyframes preloadpulse {
  to {
    transform: scale(0.8);
    opacity: 0.5;
  }
}
.preloader.hiddenthis {
  animation: fadeOut 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeOut {
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.preloader .itc-marchio-patch{
  fill: var(--color-light-blue);
}
/* Loader Styles END */

.pd-svg .c{
  fill: var(--color-white);
}
.pages .pd-svg .c{
  fill: var(--color-grey);
}
.pd-svg .d{
  fill: var(--color-white);
}
.pd-svg .e{
  fill: var(--color-blue);
}
.pd-svg .f{
  fill: var(--color-light-blue);
}
.pd-svg .g{
  fill: var(--color-grey);
}

.scrolling .pd-svg .c{
  fill: var(--color-grey);
}

.body.change{
  background: var(--color-grey);
  color: var(--color-white);
  transition: var(--transition-02);
}
.body.scrolling{
  transition: var(--transition-02);
}
.honeypot {
    position: absolute;
    left: -9999px;
}
img{
  width: 100%;
  float: left;
}
button{
  background-color: transparent;
}
.vertical-section{
/*  display: flex;*/
  justify-content: center;
  margin-top: 1rem;
}
.vertical-section .text-box{
  max-width: 820px;
}


.start-box{
  padding-top: 6rem;
  margin-top: 0 !important;
}
.no-m-top{
  margin-top: 0 !important;
}
.no-p-top{
  padding-top: 0 !important;
}
.no-m-bottom{
  margin-bottom: 0 !important;
}
.no-p-bottom{
  padding-bottom: 0 !important;
}
.start-note img{
  padding-top: 114px;
  max-height: 520px;
  object-fit: cover;
  object-position: center center;
  float: left;
}
.home{
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  margin-top: 0 !important;
}

.pure-g  {
  overflow: hidden;
}
.pure-g [class*="pure-u"] {
  font-family: var(--font-family-sans);
  overflow: hidden;
}
.pure-g div{
  /*overflow: hidden;*/
}

.pure-g .flex-start{
  display: flex;
  justify-content: start;
  flex-direction: column;
}
.pure-g .flex-center{
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.pure-g .flex-end{
  display: flex;
  justify-content: end;
  flex-direction: column;
}
strong{
  letter-spacing: 0.04rem;
}
a{
  color: var(--color-text);
  transition: var(--transition-01);
}
.change a{
  color: var(--color-white);
}


hr{
  float: left;
  width: 100%;
  border-bottom: 0;
  border-top: 2px solid var(--color-light-blue);
}

hr.short{
  float: left;
  width: 158px;
  border-bottom: 0;
  border-top: 2px solid var(--color-light-blue);
}

hr.title{
  max-width: 58px;
  float: unset;
  margin-bottom: 3rem;
  margin-top: 2rem;
}

.pure-g a{
}
/*.pure-g a:where(:hover, :focus-visible) {
  background-size: 100% var(--bg-h);
  background-position-x: left;
}
*/
div{
  box-sizing: border-box;
}
section {
  min-width: 100vw;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
section:nth-child(even) {
}
figure{
  text-align: center; /* ensures the image is always in the h-middle */
  overflow: hidden; /* hide the cropped portion */
/*  max-height: 100vh;*/
  width: 100%;
}
.center-img img{
  position: relative; /* allows repositioning */
  left: 100%; /* move the whole width of the image to the right */
  margin-left: -200%; /* magic! */
  overflow: hidden;
}
.scaled-img img{
  width: 100%;
  overflow: hidden;
}
.service-icons{
  display: flex;
  align-items: center;
  min-height: 200px;
}
.service-icons img{
  max-width: 150px;
  max-height: 160px;
}
.round-shift-1{
  border-radius: 100%;
  position: relative;
  top: 1rem;
  left: 0;
  transform: scale(1.2);
}
.round-shift-1 img{
  margin: -5px;
}
.half-img img{
  width: 35%;
  margin-top: 3rem;
}
section h1{
  font-weight: 600;
}
section h2{
  font-family: var(--font-family-sans);
  font-style: italic;
  font-size: 2.4rem;
  letter-spacing: 0.3rem;
  font-weight: 400;
  text-align: right;
  position: relative;
  top: -8rem;
  margin-right: 4rem;
}
section p{
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 1rem;
}
.text-white{
  color: var(--color-white);
}
.text-white a{
  color: var(--color-white);
}
.text-blue{
  color: var(--color-light-blue);
}
.text-grey{
  color: var(--color-grey);
}
.change .text-grey{
  color: var(--color-light-blue);
}
.bg-white{
  background-color: var(--color-white);
}
.bg-blue{
  background-color: var(--color-blue);
}
.bg-grey{
  background-color: var(--color-grey);
}
.bg-light{
  background-color: var(--color-light);
}
.upper{
  text-transform: uppercase;
  letter-spacing: 0.15rem;
}
.fl{
  float: left;
}
.vertical-section h1{
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.1;
  font-family: var(--font-family-sans);
}

.vertical-section h1.product-title{
  font-size: 2.7rem;
  font-weight: 700;
}
.vertical-section h2{
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.1;
  font-family: var(--font-family-sans);
  
}
.vertical-section h2.subtitle{
  font-size: 1.4rem;
}
.vertical-section h3{
  font-family: var(--font-family-sans);
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.01rem;
  line-height: 1.25;
}
.vertical-section .about h3 {
  font-weight: 400;
}
.vertical-section h4{
  font-size: 1.4rem;
  font-weight: 400;
}
.vertical-section h5{
  font-size: 1.2rem;
  font-weight: 500;
}
.vertical-section h6{
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
}
.vertical-section p{
  font-size: 1.1rem;
  line-height: 1.5;
  margin-top: 1rem;
  margin-bottom: 1rem;
  float: left;
  width: 100%;
}

.vertical-section ul{
  float: left;
  clear: both;
  width: 100%;
  list-style: none;
}
.vertical-section ul:not(.pure-g) li {
  float: left;
  clear: both;
  width: 100%;
  margin-left: 0;
  line-height: 1.1;
  font-weight: 400;
}



.tabella-colore{
  width: 100%;
}

.vertical-section ul li::marker {
   line-height: 1;
}



.vertical-section ul li span{
  width: 100%;
  display: inline-block;
  font-weight: 600;
}

.vertical-section ul li span.badge{
  width: auto;
  display: inline;
  font-weight: 600;
}


.vertical-section .blocks p{
  float: left;
  margin-top: 0;
  margin-bottom: 0.6rem;
}
.vertical-section .blocks h1{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks h2{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks h3{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks h4{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks h5{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks h6{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks ul{
  float: left;
  clear: both;
  width: 100%;
}
.vertical-section .blocks ul li{
  float: left;
  clear: both;
  width: auto;
  margin-left: 1.1rem;
  list-style-type: square;
  font-size: 1.1rem;
}

.vertical-section .blocks blockquote{
  float: left;
  clear: both;
  font-size: 2rem;
  font-family: var(--font-family-sans);
  padding-right: 1.8rem;
  margin-top: 0.4rem;
}


.vertical-section .blocks blockquote::before{
  font: var(--fa-font-solid);
  content: "\f10d";
  position: relative;
  font-size: 1.4rem;
  top: -1rem;
}
.vertical-section .blocks blockquote::after{
  font: var(--fa-font-solid);
  content: "\f10e";
  float: right;
  position: relative;
  font-size: 1.4rem;
  top: -1rem;
  left: 1.6rem;
}

.vertical-section .blocks blockquote footer{
  font-style: normal;
  font-weight: 700;
  font-size: 0.9rem;
  font-family: var(--font-family-sans);
  height: 0;
  margin-left: 1.7rem;
  margin-top: 0.1rem;
}
.vertical-section .blocks blockquote footer::before{
  content: "—";
}


/*.vertical-section .boxed h1{
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.1;
  font-family: var(--font-family-sans);
  margin-bottom: 1.5rem;
}
.vertical-section .boxed h2{
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
  font-family: var(--font-family-sans);
  margin-bottom: 1rem;
  letter-spacing: 0;
}
.vertical-section .boxed h3{
  font-family: var(--font-family-sans);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05rem;
  margin-bottom: 1rem;
}
.change .vertical-section .boxed h3{
  color: var(--color-black);
}
.vertical-section .boxed h4{
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.6rem;
}
.vertical-section .boxed h5{
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.6rem;
}
.vertical-section .boxed h6{
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.vertical-section .boxed p{
  font-size: 1.1rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0.4rem;
}*/
.blog-prevnext article header{
  position: relative;
}
.blog-prevnext article header figure img{
  float: left;
}
.blog-prevnext .prevnext-caption{
  position: absolute;
  bottom: 1.6rem;
  left: 1rem;
  width: calc(100% - 2rem);
}
.blog-prevnext .note-excerpt-title{
  font-style: normal;
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 1rem;
  background-color: var(--color-white);
  display: table;
  clear: both;
  transition: var(--transition-01);
}
.blog-prevnext time{
  background-color: var(--color-white);
}
.change .vertical-section .boxed time{
  color: var(--color-black);
}
.blog-prevnext a{
  text-decoration: none;
  transition: var(--transition-01);
}
.blog-prevnext a figure{
  transition: var(--transition-01);
}
.blog-prevnext a:hover figure{
  opacity: 0.8;
}
.blog-prevnext a:hover .note-excerpt-title{
  background-color: var(--color-light-blue);
}
.full {
  width: 100%;
}
.boxed {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
.boxed2 {
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
}
.header {
  position: fixed;
  top: -0.2rem;
  width: 100%;
  z-index: 99;
  transition: var(--transition-02);
  height: 0;

}
.scrolling .header {
  background-color: rgba(255,255,255, 1);
  height: auto;
}
.pages .header {
  background-color: rgba(255,255,255, 1);
  height: auto;
}
.header .logo {
  float: left;
  background-color: rgba(0,28,44,0);
  transition: var(--transition-02);
}

.header .logo svg{
  width: 150px;
  transition: var(--transition-02);
  padding: 1.5rem 1.2rem;
  float: left;
}
@media screen and (max-width: 360px) {
  .header .logo svg{
    width: 116px;
  }
}
@media screen and (max-width: 1024px) {
  .no-bg-mob{
    background-image: none !important;
  }
  .careers-f{
    padding-bottom: 4rem !important;
  }
}
.footer .logo svg{
  max-width: 90px;
}
.change .footer .logo .itc-path{
  fill: var(--color-white);
  transition: var(--transition-02);
}
.header .box-menu .itc-path{
  fill: var(--color-black);
}

#typo-leo{
  display: none;
}
.menu a {
  margin: 1rem 1.2rem 1.2rem 0.6rem;
  padding: 0rem 0.8rem;
  display: block;
  transition: var(--transition-03);
}
.menu a[aria-current] {
  opacity: 0.4;
  --bg-h: 0%;
}
#open-menu {
  display: flex;
  flex-flow: row-reverse;
  outline: none;
  height: 30px;
  width: 30px;
  border: 0px;
  padding: 0px;
  background: transparent;
  cursor: pointer;
}
#open-menu .menu-txt{
  position: absolute;
  top: 1rem;
  right: 3rem;
  padding-right: 0.7rem;
  text-transform: uppercase;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
}
.closed #open-menu .menu-txt:before{
  content: 'menu';
}
.opened #open-menu .menu-txt:before{
  content: 'close';
  position: relative;
  top: -0.05rem;
}
.closed #open-menu span, .closed #open-menu:before, .closed #open-menu:after {
  content: "";
  width: 30px;
  height: 2px;
  position: absolute;
  background: var(--color-white);
  transition: width var(--transition-01);
  will-change: transform;
  margin-top: 0.8rem;
}

.closed #open-menu span {
  width: 22px;
}
.closed #open-menu:hover span {
  width: 30px;
}
.pages .closed #open-menu span, .pages .closed #open-menu:before, .pages .closed #open-menu:after {
  background: var(--color-light-blue);
}
.opened #open-menu span, .opened #open-menu:before, .opened #open-menu:after {
  content: "";
  width: 30px;
  height: 2px;
  position: absolute;
  background: var(--color-white);
  will-change: transform;
  margin-top: 12px;
}
.opened #open-menu span {
  opacity: 0;
}
.scrolling .closed #open-menu span, .scrolling .closed #open-menu:before, .scrolling .closed #open-menu:after {
  background: var(--color-light-blue);
  transition: background var(--transition-03), width var(--transition-01);
}
.change.scrolling .closed #open-menu:before, .change.scrolling .closed #open-menu:after {
  background: var(--color-light-blue);
}
#open-menu:before {
  transform: translateY(-8px);
}
#open-menu:after {
  transform: translateY(9px);
}
.opened #open-menu:before {
  transform: translateY(0) rotate(45deg);
}
.opened #open-menu:after {
  transform: translateY(0) rotate(-45deg);
}

.menu.closed .menu-box {
  position: fixed;
  z-index: 3;
  top: 0.3rem;
  right: 0;
  text-align: right;
  transition: var(--transition-03);
}
.menu.opened .menu-box {
  position: fixed;
  z-index: 3;
  top: 0.3rem;
  left: auto;
  right: 0;
  text-align: right;
  transition: var(--transition-03);

}
.menu .menu-box a{
  transition: var(--transition-03);
  color: var(--color-white);
  float: left;
}
.scrolling .menu .menu-box a{
  color: var(--color-grey);
  transition: var(--transition-03);
}
.menu.opened .menu-box a{
  transition: var(--transition-03);
}
.pages .menu .menu-box a{
  color: var(--color-grey);
}
.pages .menu.opened .menu-box a{
  color: var(--color-white);
}
.menu .right-menu{
  height: 100vh;
}
.search-button{
  position: absolute;
  left: 31rem;
  margin: 1.5rem 2.2rem;
  top: 0.8rem;
  transition: top var(--transition-03);
}
.scrolling .search-button{
  top: 0.2rem;
}
.search-button i{
  float: left;
  color: var(--color-white);
  font-size: 1.2rem;
  transition: var(--transition-03);
}
.scrolling .search-button i{
  color: var(--color-light-blue);
}
.pages .search-button i{
  color: var(--color-light-blue);
}
.search-button form{
  float: left;
}
.search-input {
  border: none;
  border-bottom: 2px solid var(--color-white);
  outline: none;
  font-size: 1.2rem;
  color: var(--color-white);
  background-color: transparent;
  padding: 0.4rem 0 0.2rem 0;
  margin-left: 1rem;
  position: relative;
  top: -0.6rem;
  width: 160px;
  transition: var(--transition-03);
}
.scrolling .search-input {
  border-bottom: 2px solid var(--color-light-blue);
  color: var(--color-grey);
}
.pages .search-input {
  border-bottom: 2px solid var(--color-light-blue);
  color: var(--color-grey);
}
.search-input::placeholder {
  transition: var(--transition-03);
  color: var(--color-white);
  font-style: italic;
  opacity: 0.3;
  letter-spacing: 0.05rem;
}
.search-input:focus::placeholder{
  opacity: 0.6;
}
.scrolling .search-input::placeholder {
  color: var(--color-grey);
}
.pages .search-input::placeholder {
  color: var(--color-grey);
}


.scrolling .opened .search-input::placeholder {
  color: var(--color-white);
}
.pages .opened .search-input::placeholder {
  color: var(--color-white);
}

.sbtn {
  opacity: 0;
  border: none;
  background-color: transparent;
  color: var(--color-white);
  font-size: 16px;
  padding: 8px;
  cursor: default;
  float: right;
  transition: var(--transition-03);
  position: relative;
  top: -0.4rem;
  left: -1.4rem;
}
.scrolling .sbtn {
  color: var(--color-light-blue);
}
.pages .sbtn {
  color: var(--color-light-blue);
}
.search-input:focus {
  width: 240px;
}
.search-input:focus + .sbtn {
  opacity: 1;
  cursor: pointer;
}





.lang-selector {
  float: right;
  visibility: visible;
  opacity: 1;
  width: auto;
  position: absolute;
  right: 3rem;
  top: 1.9rem;
  transition: var(--transition-03);
}
.scrolling .lang-selector {
  top: 1.2rem;
}
.lang-selector li {
  list-style-type: none;
  float: left;
  padding: 0.3rem 0;
}
.lang-selector li:after {
  content: "|";
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  color: var(--color-white);
  transition: var(--transition-01);
  font-size: 1.1rem;
}
.pages .lang-selector li:after {
  color: var(--color-light-blue);
}
.scrolling .lang-selector li:after {
  color: var(--color-light-blue);
}

.change.scrolling  .lang-selector li:after {
  color: var(--color-light-blue);
}

.lang-selector li:last-child:after {
  content: "";
  margin-left: 0;
  margin-right: 0;
}
.lang-selector li a{
  font-size: 1.2rem;
  margin: 0;
  padding: 0;
  float: left;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-white);
}
.scrolling .lang-selector li a{
  color: var(--color-grey);
}
.pages .lang-selector li a{
  color: var(--color-grey);
}

.box-menu .lang-selector-menu{
  padding: 0.2rem 1.2rem;
}

.box-menu .lang-selector-menu li {
  list-style-type: none;
  float: left;
  padding: 0.3rem 0;
  width: auto;
}
.box-menu .lang-selector-menu li a {
  display: inline;
  padding: 0;
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  font-size: 1.1rem;
}
.box-menu .lang-selector-menu li:after {
  content: "|";
  margin-left: 0.4rem;
  margin-right: 0.4rem;
  color: var(--color-white);
  transition: var(--transition-01);
  font-size: 1.2rem;
}
.box-menu .lang-selector-menu li:last-child:after {
  content: "";
  margin-left: 0;
  margin-right: 0;
}

.box-menu .search-button-menu{
  float: left;
  width: 100%;
  padding: 1rem 1.2rem;
}
.box-menu .search-button-menu i {
  float: left;
  color: var(--color-white);
  font-size: 1.2rem;
  transition: var(--transition-03);
}



.scrolling .menu .menu-box {
  top: 0;
}
.scrolling .menu.opened .menu-box a{
  color: var(--color-white);
  /* transition: 0s; */
}
.change.scrolling .menu .menu-box a{
  color: var(--color-light-blue);
}
.change.scrolling .opened .menu-box a{
  color: var(--color-white);
}

.box-menu {
  display: none;
  height: 100vh;
}
.box-menu .pure-g{
  width: 100%;
}
.box-menu ul{
  padding: 4rem 0 0.5rem 0;
  float: left;
}
.box-menu a{
  line-height: 1.1;
  margin: 0;
  padding: 0.5rem 0 0 0;
}
.box-menu ul li{
  float: left;
  list-style: none;
  width: 100%;
}
.box-menu ul li a{
  color: var(--color-white);
  font-size: 1.4rem;
  line-height: 1.1;
  margin: 0;
  padding: 0.3rem 1.2rem;
  text-decoration: none;
  font-family: var(--font-family-sans);
  transition: var(--transition-01);
  width: 100%;
  box-sizing: border-box;
  transition: var(--transition-01);
}

.box-menu ul li a i{
  float: right;
  font-size: 1.6rem;
  opacity: 0;
}
.box-menu ul li a:hover i{
  opacity: 1;
  transition: var(--transition-03);
  animation: leftrightslow 1s infinite;
}
.box-menu ul li a:where(:hover, :focus-visible) {
  color: var(--color-light-blue);
}
.box-menu ul li a.area-riservata{
  line-height: 1.1;
  padding: 1rem 1.2rem;
  text-decoration: none;
  transition: var(--transition-01);
}
.box-menu ul li a.area-riservata:where(:hover, :focus-visible) {
  color: var(--color-grey);
}
.box-menu ul li a.info-utente{
  font-size: 1.2em;
  line-height: 1.1;
  padding: 0.2rem 1.2rem;
  text-decoration: none;
  float: left;
  transition: var(--transition-01);
}
.box-menu ul li a.info-utente:where(:hover, :focus-visible) {
  color: var(--color-light-blue);
}
.box-menu .last-menu{
  position: absolute;
  bottom: 0.8rem;
  margin: 0;
  padding: 1rem 1.2rem;
  box-sizing: border-box;
  width: 100%;
}
.box-menu .last-menu hr{
  border: 0;
  border-bottom: 2px solid var(--color-white);
  margin-bottom: 1rem;
}
.box-menu .last-menu li{
  width: auto;
  margin-right: 0.6rem;
}
.box-menu .last-menu li a{
  font-size: 0.9em;
  padding: 0;
  font-family:var(--font-family-sans);
}
.box-menu .last-menu li a i{
  font-size: 1.3em;
  position: relative;
  top: -2px;
  line-height: 1;
  opacity: 1;
}
.box-menu ul li span{
  color: var(--color-white);
  float: left;
  padding: 0 1.2rem 0 1.2rem;
  width: 100%;
  font-size: 0.8rem;
  box-sizing: border-box;
}
.box-menu ul li.on-bottom{
  position: absolute;
  bottom: 5.5rem;
  z-index: 1;
}
.box-menu h5{
  margin-bottom: 0.1rem;
  margin-top: 1rem;
}
.box-menu .lpw{
  fill: var(--color-white);
}
.box-menu svg{
  width: 160px;
  transition: var(--transition-03);
  padding: 0;
  padding: 1.5rem 1.2rem;
}
.box-menu .last-menu ul {
    padding: 0;
  }
.box-menu ul.last-menu li{
  padding: 0;
}


.opened .box-menu {
  display: block;
}
#the-menu{
    transition: top var(--transition-03);
    background-color: var(--color-blue);
}
.closed{
  position: fixed;
  top: -100vh;
}
.opened{
  background-size: cover;
  z-index: 999;
  position: fixed;
  width: var(--menu-width);
  float: right;
  right: 0;
  top: 0;
}
.opened .menu-box a {
  color: var(--color-white);
}
.hide{
  opacity: 0;
  transition: var(--transition-03);
  pointer-events: none;
}
.show{
  opacity: 1;
  transition: var(--transition-03);
}
.hero{
  height: 100vh;
}
.hero > div{
  height: 100%;
}
.hero-layer{
  width: 100%;
  height: 100vh;
  background-color: rgba(0,0,0,.35);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
}
.hero-text{
  /*display: flex; 
  justify-content: center;
  align-items: center;*/
}
.vertical-section .hero h2{
  color: var(--color-white);
  float: left;
  font-family: var(--font-family-sans);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.2rem;

}


.vertical-section .hero h2 a{
  color: var(--color-white);
}
.social {
  display: none;
  width: 48px;
  margin: 20px 2rem;
  float: right;
}
.social a {
  padding: .7rem .5rem;
}
.vimeo-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.vimeo-wrapper iframe {
  width: 100vw;
  height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.start-button{
  position: absolute;
  top: 84vh;
  display: block;
  left: calc(50% - 35px);
  z-index: 2;
}
.start-button a{
  color: var(--color-white);
  font-family: var(--font-family-sans);
  letter-spacing: 0.05rem;
  text-decoration: none;
  font-size: 0.85rem;
  float: left;
}
.start-button span{
  margin-top: 0.6rem;
  float: left;
  width: 100%;
  text-align: center;
}

.start-button a i {
  width: 55px;
  display: block;
  float: left;
  position: relative;
  animation: updown 2.5s infinite;
  animation-timing-function: ease-in-out; 
}
@keyframes updown {
  0% {
    top: 14px;
  }
  50% {
    top: 5px;
  }
  100% {
    top: 14px;
  }
}
.start-button a i{
  font-size: 2.4rem;
  text-align: center;
  width: 100%;
  float: left;
}
.cta-team{
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 70vh;
  right: 1.2rem;
  width: 210px;
  height: 210px;
  z-index: 12;
  transform: scale(0.8);
}
.cta-team .bubble1 {
  border-radius: 100%;
  background-color: var(--color-black);
  width: 210px;
  height: 210px;
  animation: pulse 2s infinite;
  animation-timing-function: ease; 
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-01);
}
@keyframes pulse {
  0% {
    width: 200px;
    height: 200px;
  }
  50% {
    width: 210px;
    height: 210px;
  }
  100% {
    width: 200px;
    height: 200px;
  }
}
.cta-team a {
  color: var(--color-light-blue);
  text-align: center;
  text-transform: uppercase;
  padding: 1.8rem;
  text-decoration: none;
  line-height: 1.1;
  font-weight: 600;
  transition: var(--transition-01);
}

.scrolling .cta-team {
  right: calc(50% - 105px);
  transition-delay: 1s;
  pointer-events: none;
}
.scrolling .cta-team .bubble1 {
  transform-origin: center;
  transform: scale(0);
  opacity: 0;
  animation: none;
  width: 190px;
  height: 190px;
}
.scrolling .cta-team a{
  padding: 1.5rem;
}

.change .cta-team {
  right: calc(50% - 105px);
  pointer-events: auto;
}
.change .cta-team .bubble1 {
  background-color: var(--color-light-blue);
  transition: var(--transition-02);
  animation: pulse 2s infinite;
  transform-origin: center;
  opacity: 1;
  transform: scale(3.8) translate(0, 19%);
}
.change .cta-team a{
  color: var(--color-black);
}
.cta-team .bubble2 {
  border-radius: 100%;
  width: 210px;
  height: 210px;
  animation-timing-function: ease; 
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition-01);
}
.scrolling .cta-team .bubble2 {
  transform-origin: center;
  transform: scale(0);
  opacity: 0;
  animation: none;
  width: 190px;
  height: 190px;
}
.change .cta-team .bubble2 {
  transition: var(--transition-02);
  transform-origin: center;
  opacity: 1;
  transform: scale(1.8) translateY(0);
}
.scrolling .cta-team.hide-bubble {
  transform-origin: center;
  opacity: 0;
  animation: none;
  pointer-events: none;
  transition: var(--transition-02);
}
.change .cta-team.hide-bubble {
  opacity: 1;
  pointer-events: auto;
}
.section {
  padding: 3rem 0;
}
.shift-1{
  margin-top: 16rem;
}
.shift-2{
  position: relative;
  top: 1rem;
  transform: scale(1.3);
}
.video-container {
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: -1;
}
.video-container video {
  width: 100%;
  position: absolute;
  z-index: -1;
  right: 0;
  top: 8rem;
  mix-blend-mode: multiply;
  opacity: 0.9;
}
.video-container-2 {
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: -1;
}
.video-container-2 video {
  width: 100%;
  position: absolute;
  z-index: -1;
  top: 15vh;
  mix-blend-mode: multiply;
  opacity: 0.9;
}
.pure-g video{
  width: 100%;
}
.footer{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.change .footer{
  color: var(--color-white);
  transition: var(--transition-02);
}
.footer ul{
  margin: 0;
  float: left;
}
.footer ul li{
  list-style-type: none;
  float: left;
  margin-right: 1.6rem;
}
.footer ul li a{
  font-family: var(--font-family-sans);
}
.footer .social-icon ul li a{
  font-size: 1.6rem;
  position: relative;
  top: -7px;
}
.footer a{
  line-height: 1.1;
  font-weight: 600;
}
.footer a:hover{
  opacity: .75;
}
.change .footer a{
  color: var(--color-white);
  transition: var(--transition-02);
}
.footer .text-grey a{ 
  color: var(--color-grey);
}
.footer .legal a{
  color: var(--color-white);
  font-style: normal; 
  font-size: 1rem;
  line-height: inherit;
}
.footer p{
  font-size: 1rem;
}
.footer p strong{
  letter-spacing: 0.01rem;
}
.footer .pure-g .go-top {
  position: relative;
  top: -3.1rem;
  overflow: visible;
  float: left;
  max-width: 220px;
}
.footer .pure-g .go-top a{
  display: block;
  text-decoration: none;
  transition: var(--transition-01);
  float: left;
}
.footer .pure-g .go-top a i{
  transition: var(--transition-01);
  margin-right: 0.3rem;
}
.footer .pure-g .go-top a:hover{
  color: var(--color-white);
  background: none;
}

.footer .link-footer a{
  margin-bottom: 0.7rem;
  text-decoration: none;
  float: left;
  width: 100%;
}
.form-contatto form{
  margin-top: 1.5rem;
  float: left;
}
.form-contatto h4{
  margin-top: 3rem;
}
.form-contatto h4 a{
  color: var(--color-text);
  font-size: 1.6rem;
  font-weight: 600;
}
.form-contatto h4 i{
  color: var(--color-text);
  font-size: 2.2rem;
  font-weight: 600;
  position: relative;
  top: 3px;
  margin-right: 10px;
}
.form-contatto .field{
  width: 100%;
  padding-right: 0;
  margin-bottom: 1.4rem;
  float: left;
  box-sizing: border-box;
}
.form-contatto .text-field{
  padding-right: 0;
  float: left;
  width: 100%;
}
.form-contatto .file-upload{
  margin-top: 1.8rem;
  margin-bottom: 0.8rem;
}
.form-contatto form label{
  display: none;
}
.form-contatto form label.gdpr{
  display: inline;
  line-height: 1.4rem;
}
.formcta{
  display: flex;
  width: 100%;
}
.formcta .form-contatto form label.gdpr{
  color: var(--color-white);
}
.formcta .form-contatto form label.gdpr a{
  color: var(--color-white);
}
.form-contatto form input:not([type=submit]){
  width: 100%;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
  font-size: 1.1rem;
}
.formcta .form-contatto form input:not([type=submit]){
  border-bottom: 2px solid var(--color-white);
  background-color: var(--color-light-blue);
  color: var(--color-white);
}
.bg-blue.formcta .form-contatto form input:not([type=submit]){
  background-color: var(--color-blue);
}
.form-contatto form input[type=checkbox]{
  margin-top: 1.5rem;
  margin-right: 0.5rem;
  width: auto;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
  font-size: 1.1rem;
  transform: scale(1.4);
  position: relative;
  left: 0.2rem;
  top: 0.1rem;
}
.form-contatto form textarea{
  width: 100%;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
  font-size: 1.1rem;
  resize: none;
}
.formcta .form-contatto form textarea{
  border-bottom: 2px solid var(--color-white);
  background-color: var(--color-light-blue);
  color: var(--color-white);
}
.bg-blue.formcta .form-contatto form textarea{
  background-color: var(--color-blue);
}
.form-contatto form input[type=submit]{
  margin-top: 1.2rem;
  margin-right: 0rem;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  padding: 0.4rem 1rem;
  border-radius: 2rem;
  border: 0;
  color:  var(--color-light-blue);
  background-color:  var(--color-white);
  font-weight: 400;
  cursor: pointer; 
  transition: 0.3s;
  border: 2px solid var(--color-light-blue);
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  float: right;
}
.formcta .form-contatto form input[type=submit]{
  color:  var(--color-light-blue);
  background-color:  var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.bg-blue.formcta .form-contatto form input[type=submit]{
  color:  var(--color-white);
  background-color:  var(--color-blue);
  border: 2px solid var(--color-white);
}
.form-contatto form input[type=submit]:hover{
  background-color: var(--color-light-blue);
  color: var(--color-white);
  border: 2px solid var(--color-light-blue);
}
.formcta .form-contatto form input[type=submit]:hover{
  background-color: var(--color-light-blue);
  color: var(--color-white);
  border: 2px solid var(--color-light-blue);
}
.form-contatto form input:focus {
  background-color: var(--color-white);
  outline: none;
}
.form-contatto form textarea:focus {
  background-color: var(--color-white);
  outline: none;
}
.formcta .form-contatto form textarea:focus {
  background-color: transparent;
}
.form-contatto form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 0.5; /* Firefox */
}
.form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
  opacity: 0.5;
}
.form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
  opacity: 0.5;
}
.form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 0.5; /* Firefox */
}
.form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
  opacity: 0.5;
}
.form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
  opacity: 0.5;
}
.form-contatto form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 0.7; /* Firefox */
}
.form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
  opacity: 0.7;
}
.form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
  opacity: 0.7;
}
.form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 0.7; /* Firefox */
}
.form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
  opacity: 0.7;
}
.form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
  opacity: 0.7;
}


.bg-blue .form-contatto form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-white);
  opacity: 0.5; /* Firefox */
}
.bg-blue .form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-white);
  opacity: 0.5;
}
.bg-blue .form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-white);
  opacity: 0.5;
}
.bg-blue .form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-white);
  opacity: 0.5; /* Firefox */
}
.bg-blue .form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-white);
  opacity: 0.5;
}
.bg-blue .form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-white);
  opacity: 0.5;
}
.bg-blue .form-contatto form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-white);
  opacity: 0.7; /* Firefox */
}
.bg-blue .form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-white);
  opacity: 0.7;
}
.bg-blue .form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-white);
  opacity: 0.7;
}
.bg-blue .form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-white);
  opacity: 0.7; /* Firefox */
}
.bg-blue .form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-white);
  opacity: 0.7;
}
.bg-blue .form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-white);
  opacity: 0.7;
}






.form-login form{
  margin-top: 1.5rem;
}
.form-login h4{
  margin-top: 3rem;
}
.form-login h4 a{
  color: var(--color-text);
  font-size: 1.6rem;
  font-weight: 600;
}
.form-login h4 i{
  color: var(--color-text);
  font-size: 2.2rem;
  font-weight: 600;
  position: relative;
  top: 3px;
  margin-right: 10px;
}
.form-login .field{
  width: 100%;
  padding-right: 0;
  margin-bottom: 1.4rem;
  float: left;
  box-sizing: border-box;
}
.form-login .text-field{
  padding-right: 0;
}
.form-login form label{
  display: none;
}
.form-login form input:not([type=submit]){
  width: 100%;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  font-style: italic;
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
  margin: 1rem 0;
}
.form-login form input.search{
  padding: 1.2rem 0.6rem;
  background-color: var(--color-white);
  font-size: 1.4rem;
}
.form-login form textarea{
  width: 100%;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  font-style: italic;
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
}
.form-login form input[type=submit]{
  margin-top: 2.4rem;
  font-size: 1.6rem;
  padding: 0.4rem 4.2rem;
  border: 0;
  border-radius: 3px;
  color:  var(--color-white);
  background-color:  var(--color-text);
  font-weight: 600;
  cursor: pointer; 
  transition: 0.3s;
}
.form-login form input[type=submit]:hover{
  background-color: var(--color-white);
  color: var(--color-light-blue);
}
.form-login form input:focus {
  background-color: var(--color-white);
  outline: none;
}
.form-login form textarea:focus {
  background-color: var(--color-white);
  outline: none;
}
.form-login form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 1; /* Firefox */
}
.form-login form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
}
.form-login form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
}
.form-login form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 1; /* Firefox */
}
.form-login form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
}
.form-login form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
}
.search-form small{
  margin-top: 0.5rem;
  float: left;
}
.search-form ul{
}
.search-form ul a{
  text-decoration: none;
  display: flex;
  float: left;
  /*width: calc(100% - 2rem);*/
  margin-top: 2rem;
}

.search-form ul li{
  list-style-type: none;
  background-color: var(--color-light);
  padding: 1rem;
  
  float: left;
  transition: var(--transition-01);
  width: auto;
}
.search-form ul a:hover li{
  background-color: var(--color-light-blue);
  color: var(--color-white);
}
.search-form p{
  margin: 0;
}
.search-form form{
  margin-top: 1.5rem;
}
.search-form form input:not([type=submit]){
  width: 100%;
  padding: 0.5rem 0.1rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  transition: 0.3s;
  font-family: var(--font-family-sans);
  font-style: italic;
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-light-blue);
  margin: 1rem 0;
}
.search-form form input.search{
  padding: 1.2rem 0.6rem;
  background-color: var(--color-white);
  font-size: 1.4rem;
}
.search-form form input[type=submit]{
  margin-top: 2.4rem;
  font-size: 1.6rem;
  padding: 0.4rem 4.2rem;
  border: 0;
  border-radius: 3px;
  color:  var(--color-white);
  background-color:  var(--color-text);
  font-weight: 600;
  cursor: pointer; 
  transition: 0.3s;
}
.search-form form input[type=submit]:hover{
  background-color: var(--color-white);
  color: var(--color-light-blue);
}
.search-form form input:focus {
  background-color: var(--color-white);
  outline: none;
}
.search-form form textarea:focus {
  background-color: var(--color-white);
  outline: none;
}
.search-form form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 1; /* Firefox */
}
.search-form form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
}
.search-form form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
}
.search-form form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-light-blue);
  opacity: 1; /* Firefox */
}
.search-form form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-light-blue);
}
.search-form form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-light-blue);
}
.only-desk{
  display: none;
}
.only-mob{
  display: block;
}
.box-menu .languages{
  margin: 2.6rem 0 0 0;
}
.box-menu .languages ul .active a{
  text-decoration: underline;
}
.box-menu .languages ul li a{
  font-size: 1.8rem;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 0.7rem;
}
.notes a{
}
.notes .news{
  transition: var(--transition-01);
  float: left;
  min-height: 520px;
}
.notes .news:hover{
  background-color: var(--color-light-blue);
}

.notes .news:hover{
  color: var(--color-white);
}
.notes .news:hover h4{
  color: var(--color-white);
}

.notes .news:hover h6{
  color: var(--color-white);
}
.notes .news:hover p{
  color: var(--color-white);
}
.notes .news:hover li{
  color: var(--color-blue);
  background-color: var(--color-white);
}
.notes .news:hover li a{
  color: var(--color-blue);
}

.notes h2 a{
  text-decoration: none;
}
.notes h2 a:hover{
  opacity: 0.6;
}
.notes h3 a{
  text-decoration: none;
}
.notes h3 a:hover{
  opacity: 0.6;
}


.notes h4{
 float: left;
 width: 100%;
 min-height: 5.5rem;
 transition: var(--transition-01);
}
.notes h4 a{
 text-decoration: none;
 margin-top: 0.6rem;
 float: left;
}
.notes h6{
  margin-top: 0.2rem;
  float: left;
  width: 100%;
  transition: var(--transition-01);
}
.notes h6 time{
  text-decoration: none;
}
.notes p span{
  margin-left: 0.5rem;
  letter-spacing: 0.2rem;
  font-weight: 600;
  font-size: 1rem;
  float: right;
  line-height: 2.2;
  text-transform: uppercase;
}
.notes p{
  float: left;
  margin-bottom: 0.7rem;
  font-size: 1.2rem;
}
.notes figure{
  max-height: 100%;
  margin-top: 0;
  margin-bottom: 1rem;
  float: left;
}
.notes figure img{
/*  filter: grayscale(100%);*/
}
.notes figure li{
  margin-bottom: 1rem;
}
.note-tags{
  list-style-type: none;
  float: left;
  width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}
.note-tags li{
  float: left;
  background-color: var(--color-light-blue);
  color: var(--color-white);
  margin-right: 1rem;
  padding: 0.2rem 0.6rem;
  transition: var(--transition-01);
  width: auto !important;
  clear: initial !important;
}
.note-tags li:hover{
  background-color: var(--color-black);
}
.note-tags li a{
  font-size: 0.8rem;
  color: var(--color-white);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.02rem;
  float: left;
}
.default figure{
  max-height: 100%;
/*  margin-top: 2rem;
    margin-bottom: 2rem;
    margin-bottom: 0.3rem; */
}
.default figure li{
  margin-bottom: 1rem;
}
.pagination{
  text-align: center;
  display: block;
  margin-top: 1rem;
}
.pagination span{
  font-size: 2.6rem;
  padding: 1rem;
  opacity: 0.3;
}
.pagination a{
  font-size: 2.6rem;
  padding: 1rem;
  text-decoration: none;
}




.img-caption{
  font-style: italic;
  text-align: center;
}
.swiper {
  width: 100%;
  float: left;
}

.new-swiper-btn{
  float: left;
  width: 100%;
  font-size: 2.2rem;
  position: relative;
  z-index: 9;
  height: 0;
  top: calc(-50% - 20px);
}
.new-swiper-button-prev{
  float: left;
  display: block;
  cursor: pointer;
  min-width: 25px;
  margin-left: 0.6rem;
}
.new-swiper-button-next{
  float: right;
  display: block;
  cursor: pointer; 
  min-width: 25px;
  margin-right: 0.6rem;
}
.new-swiper-button-prev:hover{
  color: var(--color-white);
}
.new-swiper-button-next:hover{
  color: var(--color-white);
}
.search-files{
  margin-bottom: 2rem;
  max-width: 320px;
}
.search-files input{
  width: 100%;
  border: 0;
  padding: 1rem 2rem;
  box-sizing: border-box;
  background-color: rgba(0,0,170, 0.1);
  outline: none;
  text-align: center;
  font-size: 1.2rem;
  animation: blinking 2s 2; 
}
.search-files input:focus {
  background-color: var(--color-white);
  outline: none;
}
.search-files input::placeholder { 
  color: var(--color-light-blue);
  opacity: 0.8; /* Firefox */
  font-style: italic;
  font-size: 1.2rem;
}
@keyframes blinking {
  0% {
    background-color: rgba(0,0,170, 0.1);
  }
  50% {
    background-color: rgba(0,0,170, 0.2);
  }
  100% {
    background-color: rgba(0,0,170, 0.1);
  }
}
.errors {
  float: left;
  width: 100%;
}
.errors p{
  color: var(--color-light-blue);
}
.success {
  float: left;
  width: 100%;
}
.success p{
  color: var(--color-light-blue);
}
.field-error{
  color: var(--color-light-blue);
  height: 0;
  display: block;

}
.file-list{
  column-count: 1;
  column-gap: 0;
}
.file-list li{
  list-style-type: none;
  margin-bottom: 0.4rem;
}
.file-list li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f56d";
  font-style: normal;
  margin-right: 0.6rem;
  font-size: 1.3rem;
  width: 100%;
  margin-left: 2px;
}
.child-list li{
  list-style-type: none;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  font-weight: 600;
  line-height: 1.1;
  overflow: hidden;
}
.child-list li::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f061";
  font-style: normal;
  margin-left: 0.6rem;
  font-size: 1.4rem;
  width: 100%;
}
.file-list li a{

}
.box-logo-partner-1{
  width: 100%;
  float: left;
}
.box-logo-partner-2{
  width: 100%;
  float: left;
}
.box-logo-partner-1 img{
  max-width: 220px;
  float: right;
}
.box-logo-partner-2 img{
  max-width: 220px;
  float: left;
}
.box-img-partner{
  width: 100%;
  float: left;
  margin-top: 4rem;
}
.box-img-partner figure{
  width: 100%;
  float: left;
  margin-bottom: 1rem;
}
.box-img-partner figure img{
  float: left;
}
.breadcrumb{
  float: left;
  width: 100%;
}
.breadcrumb ul{
  float: left;
}
.breadcrumb ul:not(.pure-g) li{
  float: left;
  list-style-type: none;
  margin-right: 0.2rem; 
  width: auto;
  clear: none;
}
.breadcrumb ul li::after{
  content: '/';
  margin-left: 0.1rem;
}
.breadcrumb ul li:first-child::after{
  content: '';
}
.breadcrumb ul li:last-child::after{
  content: '';
}
.breadcrumb ul li a{
  text-decoration: none;
}
.breadcrumb ul li a.active{
  opacity: 0.5;
  background: none;
  cursor: default;
}
.breadcrumb ul li span.active{
  opacity: 0.65;
  background: none;
  cursor: default;
  width: auto;
  font-weight: 400;
}
.breadcrumb ul li .back-button {
  width: 50px;
}
.breadcrumb ul li .back-button svg{
  width: 50px;
}
.breadcrumb ul li .back-button svg .arrow-back-path{
  fill: var(--color-light-blue);
}
.g-map p{
  font-size: 1rem;
}
.pure-g .btn1{
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  margin-top: 0.5rem;
  padding: 0.4rem 1rem;
  border: 2px solid var(--color-blue);
  float: left;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: var(--transition-01);
  border-radius: 2rem;
  color: var(--color-text);
}
.pure-g .btn1.cosa-facciamo{

  margin-top: 1.5rem;

}

.pure-g .blocks .btn1{
/*  margin-bottom: 1.5rem;*/
  margin-right: 1rem;
}

.change .pure-g .btn1{
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.pure-g .btn1:hover{
  color: var(--color-white);
  background-color: var(--color-blue);
  border: 2px solid var(--color-blue);
}
.pure-g .btn1 i{
  margin-left: 2rem;
}
.pure-g .blocks .btn1:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}






.bg-blue .pure-g .btn1{
  border: 2px solid var(--color-white);
  color: var(--color-white);
}


.change .bg-blue .pure-g .btn1{
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.bg-blue .pure-g .btn1:hover{
  color: var(--color-blue);
  background-color: var(--color-white);
  border: 2px solid var(--color-white);
}



.inverted .pure-g .btn1{
  border: 2px solid var(--color-white);
  color: var(--color-white);
}


.change .inverted .pure-g .btn1{
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.inverted .pure-g .btn1:hover{
  color: var(--color-blue);
  background-color: var(--color-white);
  border: 2px solid var(--color-white);
}







.pure-g .pagination-next{
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.pure-g .pagination-prev{
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.pure-g span.pagination-next{
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  color: var(--color-grey);
  font-family: var(--font-family-sans);
  margin-top: 1.5rem;
  padding: 0.8rem 2rem;
  border: 2px solid var(--color-grey);
  float: left;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.2rem;
  transition: var(--transition-01);
  opacity: 0.6;
  text-transform: uppercase;
  border-radius: 2rem;
}
.pure-g span.pagination-prev{
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  color: var(--color-grey);
  font-family: var(--font-family-sans);
  margin-top: 1.5rem;
  padding: 0.8rem 2rem;
  border: 2px solid var(--color-grey);
  float: left;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.2rem;
  transition: var(--transition-01);
  opacity: 0.6;
  text-transform: uppercase;
  border-radius: 2rem;
}
.pure-g .btn2{
  font-family: var(--font-family-sans);
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  float: left;
  text-decoration: none;
  font-size: 1.4rem;
  transition: var(--transition-01);
  width: 100%;
}

.change .pure-g .btn2{
  color: var(--color-white);
}
.pure-g .btn2:hover{
  color: var(--color-light-blue);
}
.pure-g .btn2 i{
  float: right;
  position: relative;
  top: 0.2rem;
}

.pure-g .btn2:hover i {
  animation: leftright 1s infinite;
}

.pure-g .btn3{
  font-family: var(--font-family-sans);
  width: 100%;
  margin-top: 0;
  padding: 0.4rem 0.6rem;
  border: 2px solid var(--color-light-blue);
  float: left;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.4rem;
  text-align: center;
  transition: var(--transition-01);
  box-sizing: border-box;
  cursor: pointer;
}
.pure-g .blocks .btn3{
  margin-bottom: 1rem;
}
.change .pure-g .btn3{
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.pure-g .btn3:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.pure-g .button-group .btn3{
  float: left;
}
.pure-g .button-group .btn3.left-btn{
  width: 100%;
}
.pure-g .button-group .btn3.right-btn{
  width: 100%;
}
.pure-g .button-group .btn3.is-checked{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.pure-g .btn4{
  font-family: var(--font-family-sans);
  margin-top: 1.5rem;
  padding: 0.4rem 3rem;
  border: 2px solid var(--color-white);
  float: left;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.2rem;
  transition: var(--transition-01);
  color: var(--color-white);
}
.pure-g .blocks .btn4{
  margin-bottom: 1.5rem;
}
.change .pure-g .btn4{
  color: var(--color-black);
  border: 2px solid var(--color-black);
}
.pure-g .btn4:hover{
  color: var(--color-light-blue);
  background-color: var(--color-white);
  border: 2px solid var(--color-white);
}
.pure-g .blocks .btn4:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}


.pure-g .btn5{
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  padding: 0.6rem 2rem;
  float: left;
  text-decoration: none;
  font-size: 1.2rem;
  transition: var(--transition-01);
  background-color: var(--color-blue);
  color:  var(--color-white);
  border-radius: 2rem;
}

.change .pure-g .btn5{
  color: var(--color-white);
}
.pure-g .btn5:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
}
.pure-g .btn5 i{
  margin-left: 2rem;
}

.pure-g .btn5:hover {
  animation: leftrightslow 1s infinite;
}
.pure-g .btn5:hover svg .arrow-go-path{
  fill: var(--color-light-blue);
  transition: var(--transition-01);
}

.pure-g .btn6{
  font-family: var(--font-family-sans);
  padding: 0.6rem 0;
  float: right;
  text-decoration: none;
  font-size: 2rem;
  transition: var(--transition-01);
  text-transform: uppercase;
  font-weight: 700;
}

.change .pure-g .btn6{
  color: var(--color-white);
}
.pure-g .btn6:hover{
  color: var(--color-light-blue);
}
.pure-g .btn6 i{
  float: right;
  position: relative;
  top: -0.1rem;
  margin-left: 1rem;
  font-size: 2.5rem;

}



.pure-g .btn6:hover i {
  animation: leftright 1s infinite;
}

@keyframes leftright {
  0% {
    margin-right: 0;
  }
  50% {
    margin-right: 2rem;
  }
  100% {
    margin-right: 0;
  }
}
@keyframes leftrightslow {
  0% {
    margin-right: 0;
  }
  50% {
    margin-right: 1rem;
  }
  100% {
    margin-right: 0;
  }
}
.pure-g .btn-clear {
  clear: both;
  float: left;
  width: 100%;
}

.relative{
  position: relative;
}
.push-up{
  position: static;
  top: 0;
}
#mapPD {
  width: 100%;
}
.container-accordion {
  display: flex;
  align-items: center;
  justify-content: center;
/*  width: 90vw;*/
  margin: 0 auto;
}

.accordion-box{
  display: block;
  float: left;
  height: 50vh;
  /*  background-color: var(--color-light-blue); */
  border-left: 2px solid var(--color-black);
  position: absolute;
  width: 100%;

}
.vertical-section .container-accordion h2 {
  font-family: var(--font-family-sans);
  font-size: 1.8rem;
  padding: 0 1.5rem;
  font-style: normal;
  line-height: 1.1;
  opacity: 0;
  text-transform: none;
}
.vertical-section .container-accordion h3 {
  font-family: var(--font-family-sans);
  transform: rotate(270deg);
  transform-origin: center center;
  height: 50vh;
  width: 50vh;
  position: absolute;
  font-size: 1rem;
  padding: 0.2rem 0.2rem 0rem 0.2rem;
  font-weight: 400;
  opacity: 1;
  box-sizing: border-box;
  z-index: 2;
}
.vertical-section .container-accordion a {
  width: 100%;
  display: block;
  height: 100%;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
.vertical-section .container-accordion .active a {
  z-index: 3;
}
.vertical-section .container-accordion .active h3 {
  opacity: 0;
  transition: opacity 0.1s ease-in 0.4s;
  transform: rotate(270deg);
  display: none;
}
.vertical-section .container-accordion .active h2 {
  opacity: 1;
  transition: opacity 0.3s ease-in 0.4s;

}
.vertical-section .container-accordion span {
  opacity: 0;
  position: absolute;
  bottom: 0.8rem;
  left: 1.5rem;
  font-size: 1.3rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.03rem;
}
.vertical-section .container-accordion .active span {
  opacity: 1;
  transition: opacity 0.3s ease-in 0.4s;
}
.vertical-section .container-accordion span a{
  transition: ease-in 0.2s;
}
.vertical-section .container-accordion span a:hover{
  color: var(--color-white);
}
.bb-black{
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--color-black);
}
.bb-blue{
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--color-light-blue);
}
.video,
.img {
  position: relative;
  display: block;
  --w: 1;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  background: var(--color-black);
}
.img img,
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
.img[data-contain] img {
  object-fit: contain;
}
.video-caption {
  padding-top: .75rem;
  line-height: 1.5em;
}
.hidden{
  display: none;
}
.nascondi-upload .file-upload{
  display: none;
}

.grid-item-4,
.grid-sizer-4 {
  width: 100%;
}
.grid-item-4 {
  float: left;
}
.grid-item-4 img{
  float: left;
}
.grid-item-4 .img-caption{
  float: left;
  position: absolute;
  bottom: 0;
  margin: 0.5rem;
  background-color: var(--color-white);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}


.grid-item-6,
.grid-sizer-6 {
  width: 100%;
}
.grid-item-6 {
  float: left;
}
.grid-item-6 img{
  float: left;
}
.grid-item-6 .img-caption{
  float: left;
  position: absolute;
  bottom: 0;
  margin: 0.5rem;
  background-color: var(--color-white);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.grid-item-8,
.grid-sizer-8 {
  width: 50%;
}
.grid-item-8 {
  float: left;
}
.grid-item-8 img{
  float: left;
}
.grid-item-8 .img-caption{
  float: left;
  position: absolute;
  bottom: 0;
  margin: 0.5rem;
  background-color: var(--color-white);
  padding-left: 0.5rem;
  padding-right: 0.5rem;

}


#bgvid {
  object-fit: cover;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}
.block-news-2col{
  width: 100%;
  float: left;
}
.block-news-3col{
  width: 100%;
  float: left;
}
.block-news-4col{
  width: 100%;
  float: left;
}

button.accordion {
  font-family: var(--font-family-sans);
  font-weight: 700;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  padding: 1.2rem;
  font-size: 1.6rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07rem;
  color: var(--color-light-blue);
  cursor: pointer;
  transition: var(--transition-02);
}
button.accordion:after {
  font: var(--fa-font-solid);
  content: "\2b";
  float: right;
}
button.accordion.is-open:after {
  font: var(--fa-font-solid);
  content: '\f068';
}
button.accordion:hover, button.accordion.is-open {
  background-color: var(--color-light);
}
.accordion-content {
  padding: 0 1.2rem;
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-02);
  border-bottom: 2px solid var(--color-light-blue);
  background-color: var(--color-light);
}
.accordion-content .accordion-image {
  mix-blend-mode: multiply;
  display: flex;
  align-items: center;
  justify-content: center;
}
.accordion-content .accordion-image img{
  max-width: 300px;
}




.vertical-section .accordion-content h3 a{
  text-decoration: none;
}
.vertical-section .blocks .details-list{
  float: left;
  width: 100%;
}
.vertical-section .blocks .details-list ul{

}
.vertical-section .blocks .details-list ul li{
  color: var(--color-black);
  font-size: 1.6rem;
  text-transform: uppercase;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 2px solid var(--color-light-blue);
  margin-left: 0;
  list-style-type: none;
}
.vertical-section .blocks .details-list ul li:before{
  font: var(--fa-font-solid);
  color: var(--color-light-blue);
  content: "\f192";
  /*  content: "\f111";*/
  position: relative;
  top: 0rem;
  font-size: 1.8rem;
  margin-right: 1.6rem;
}


.vertical-section .blocks .download-list{
  float: left;
  width: 100%;
}
.vertical-section .blocks .download-list ul{

}
.vertical-section .blocks .download-list ul li{
  color: var(--color-light-blue);
  font-family: var(--font-family-sans);
  font-weight: 600;
  font-size: 2.2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-left: 0;
  list-style-type: none;
}
.vertical-section .blocks .download-list ul li:before{
  font: var(--fa-font-solid);
  color: var(--color-light-blue);
  content: "\f019";
  /*  content: "\f111";*/
  position: relative;
  top: 0rem;
  font-size: 2.5rem;
  margin-right: 1.6rem;
  float: left;
}
.vertical-section .blocks .download-list ul li a{
  float: left;
  width: auto;
  color: var(--color-light-blue);
}
.vertical-section .blocks .download-list ul li a:hover{
  color: var(--color-light-blue);
}
.vendita-button{
  float: left;
  margin-top: 1rem;
}
.ancora {
  scroll-margin-top: 5rem;
}

.boxsticky{
  float: left;
  width: 100%;
  height: 100%;
}

.boxsticky a {
    clear: both;
}

.reverse{
  flex-flow: column-reverse;
}

.prodotto .product-img-block {
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
}

.prodotto .product-img-block img {
  max-height: 680px;
  height: auto;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.prodotto .text-box ul li{
  padding: 0.4rem 0;
  border-top: 2px solid var(--color-light-blue);
}
.prodotto .text-box ul li:last-child{
  border-bottom: 2px solid var(--color-light-blue);
}

.prodotto .text-box ul li span{
  min-width: 100px;
}

.prodotto .text-box ul li span.descrizione-lunga{
  width: auto;
  font-weight: 400;
}

.prodotti ul {
  width: auto;
  min-width: calc(100% - 6rem);
}

.prodotti ul li{
  box-sizing: border-box;
}

.prodotti ul li .product-box{
  padding: 1.5rem;
  border: 2px solid var(--color-light-blue);
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* distribuisce immagine e testo */
  align-items: center;
  min-height: 600px;
}

.prodotti ul li .product-box .product-info {
}

.prodotti ul li .product-box .product-info .liters{
  display: none;
}
.prodotti ul li .product-box .product-info .title-norm{
  display: none;
}
.prodotti ul li .product-box p{
  font-size: 1rem;
  margin-bottom: 0;
}
.prodotti ul li .product-box p.details{
  min-height: 4.6rem;
  margin-top: 0.6rem;
}
.prodotti ul li .product-box h3{
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  float: left;
  min-height: 50px;
  letter-spacing: -0.025rem;

}
.prodotti ul li .product-box h3 span{
  display: inline;
  box-shadow: inset 0 -0.15rem 0 var(--color-light-blue);
  box-decoration-break: clone;

}


.prodotti ul li .product-box h3 .product-index{
  font-weight: 400;
  box-shadow: none;

}

.prodotti ul li .product-box h4{
  font-size: 1.2rem;
  margin-top: 0.6rem;
  float: left;
  width: 100%;

}

.prodotti ul li .product-box h6{
  font-size: 0.85rem;
  font-weight: 700;
  float: left;

}
.prodotti ul li a{
  text-decoration: none;
}
.prodotti ul li a img {
  position: relative;
  bottom: -1.5rem;
  transition: var(--transition-02);
  mix-blend-mode: multiply;
  max-height: 300px;
  max-width: 100%; /* aggiungi questa riga */
  height: auto; /* opzionale ma aiuta */
  width: auto;
  margin-top: auto;
  margin-bottom: auto;
  display: block; /* assicurati che non erediti inline */
}
.prodotti ul li a:hover img{
  bottom: 0.5rem;
}
.prodotti small{
  color: var(--color-blue);
}

.vertical-section .info-nascoste{
  float: left;
  margin-top: 8rem;
}

.vertical-section .info-nascoste p{
  margin-bottom: 0;
  margin-top: 0;
  font-size: 1rem;
}

.big-product {
  position: relative;
}
.big-product figure{
  margin-bottom: 0;
}

.big-product figure img {
  display: block;
  width: 100%;
  height: 400px;
  transition: var(--transition-06);
  filter: brightness(35%);
  object-fit: cover;
}
.big-product a:hover figure img {
  filter: brightness(85%);
}
.big-product .category-text {
  position: absolute;
  width: calc(100% - 2rem);
  height: calc(100% - 1rem);
  top: 0;
  bottom: 0; /* fondamentale per riempire tutta l'altezza */
  padding: 1.5rem 2rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* distribuisce h3+h4 sopra e p sotto */
}

.big-product .category-text h3{
  color: var(--color-white);
  font-size: 2rem;
}

.big-product .category-text h4{
  color: var(--color-white);
}
.big-product .category-text p{
  color: var(--color-white);
  margin-bottom: 0;
  font-size: 1.2rem;
  max-width: 600px;
}

.big-product .discover-more {
  position: absolute;
  bottom: 2.3rem;
  right: 2rem;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none; /* non interferisce con il click del link */
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  padding: 0.4rem 1rem;
  border: 2px solid var(--color-white);
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  border-radius: 2rem;
  color: var(--color-text);
  background-color: var(--color-white);
  display: none;

}
.big-product .discover-more i {
  margin-left: 2rem;
}

.big-product a:hover .discover-more {
  opacity: 1;
  transform: translateY(0);
}

.filter-page{
  display: flex;
  align-items: center;
}
.filters{
  float: left;
  width: 100%;
}

.filters ul li a {
  font-family: var(--font-family-sans);
  font-weight: 700;
  /*width: 100%;*/
  display: flex; /* FLEX per allineare label e 'Scopri' */
  justify-content: space-between;
  align-items: center;
  border: none;
  outline: none;
  text-align: left;
  padding: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07rem;
  color: var(--color-light-blue);
  cursor: pointer;
  transition: var(--transition-02);
  text-decoration: none;
  border-bottom: 2px solid var(--color-light-blue);
}

.filters ul li:first-child a {
  border-top: 2px solid var(--color-light-blue);
}

.filters ul li a:hover {
  background-color: var(--color-light-blue);
  color: var(--color-white);
}

.filters ul li a .label {
  width: auto;
}

.filters ul li a .scopri {
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--color-light-blue);
  opacity: 0.7;
  width: auto;
  transition: var(--transition-02);
}
.filters ul li a:hover .scopri {
  color: var(--color-white);
}


.vertical-section .prodotti {
  float: left;
}

.vertical-section .prodotti ul.list {
  width: auto;
  min-width: auto;
  float: left;
  clear: inherit;
}

.vertical-section .prodotti p#no-results {
  width: auto;
  min-width: auto;
  float: left;
  clear: inherit;
}


.vertical-section .prodotti .products-search {
  position: static;
  width: calc(100% - 2.3rem);
}

.vertical-section .prodotti .products-search input {
  padding: 1rem;
  border: 2px solid var(--color-light-blue);
  border-radius: 1.5rem;
  font-size: 1.2rem;
  font-weight: 500;
  min-width: 100%;
  transition: background-color 0.3s ease;
}

.vertical-section .prodotti .products-search input:focus {
  background-color: var(--color-light);
  outline: none;
}

.vertical-section .prodotti .products-search i {
  position: absolute;
  top: 82%;
  right: 2rem;
  transform: translateY(-50%);
  color: var(--color-light-blue);
  pointer-events: none;
  transition: opacity 0.2s ease;
  font-size: 1.2rem;
}

.vertical-section .prodotti .products-search input:focus + i {
  opacity: 0;
}

.vertical-section .prodotti .products-filter {
  width: calc(100% - 2.4rem);
  float: left;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-left: 1.2rem;

  top: 8rem;
  z-index: 10;
  padding-top: 1rem;
  padding-bottom: 2rem;
}

.vertical-section .prodotti .products-filter .select-wrapper {
  position: relative;
  width: 100%;
}
.vertical-section .prodotti .products-filter .select-wrapper.single-option {
  opacity: 0.4;
}


.vertical-section .prodotti .products-filter .half-filter {
  display: flex;
  gap: 0.4rem;
}


.vertical-section .prodotti .products-filter select,
.vertical-section .prodotti .products-filter button {
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
  padding: 1rem;
  color: var(--color-white);
  border-radius: 1rem;
  font-size: 1rem;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.vertical-section .prodotti .products-filter select:focus,
.vertical-section .prodotti .products-filter button:focus {
  outline: none;
  background-color: var(--color-light);
  color: var(--color-text);
}

.vertical-section .prodotti .products-filter button {
  background-color: var(--color-blue);
  color: var(--color-white);
  font-weight: bold;
  border: none;
}

.vertical-section .prodotti .products-filter button:hover {
  background-color: var(--color-grey);
}

.vertical-section .prodotti .products-filter p {
  margin: 0;
  font-size: 1rem;
  color: var(--color-text);
}

/* Freccia custom */
.vertical-section .prodotti .products-filter .select-arrow {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 14px;
  height: 14px;
  pointer-events: none;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.vertical-section .prodotti .products-filter .select-arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  transition: filter 0.3s ease;
}

/* Ruota e cambia colore al focus */
.vertical-section .prodotti .products-filter select:focus + .select-arrow {
  transform: translateY(-50%) rotate(180deg);
}

.vertical-section .prodotti .products-filter select:focus + .select-arrow::before {
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6l4 -4 4 4' stroke='%23000000' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
}


#product-list{
  scroll-margin-top: 6rem;
}

.vertical-section.prevnext-products{
  margin-top: 0;
  margin-bottom: 1rem;
  
}
.prevnext-products .pagination a{
  background-color: var(--color-light);
  color: var(--color-text);
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  border-radius: 2rem;
  width: calc(100% - 4rem);
  float: left;
  padding: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
}
.prevnext-products .pagination a i{
  margin-left: 0.4rem;
  margin-right: 0.4rem;
}


.prevnext-products .pagination a:hover{
  background-color: var(--color-grey);
  color: var(--color-white);
  transition: var(--transition-06);
}





.product-box{
  padding: 1.5rem;
  border: 2px solid var(--color-light-blue);
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* distribuisce immagine e testo */
  align-items: center;
  min-height: 600px;
}


.vertical-section .siblings{
  width: calc(100% - 6rem);
  float: left;
  margin-bottom: 4rem;
}

.vertical-section .siblings h3{
  font-weight: 400;
}


.vertical-section .sibling-box a {
  float: left;
  padding: 1rem;
}

.vertical-section .sibling-box p{
  font-size: 1rem;
  margin-bottom: 0;
}
.vertical-section .sibling-box h3{
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  float: left;
  min-height: 86px;

}
.vertical-section .sibling-box h3 span{
  display: inline;
  box-shadow: inset 0 -0.15rem 0 var(--color-light-blue);
  box-decoration-break: clone;

}
.vertical-section .sibling-box h4{
  font-size: 1.2rem;
  margin-top: 1rem;
  float: left;
  width: 100%;

}

.vertical-section .sibling-box h6{
  font-size: 0.85rem;
  font-weight: 700;
  float: left;

}

.vertical-section .sibling-box a img {
  position: relative;
  top: 0;
  transition: var(--transition-02);
  mix-blend-mode: multiply;
  max-height: 300px;
  max-width: 100%; /* aggiungi questa riga */
  height: auto; /* opzionale ma aiuta */
  width: auto;
  margin-top: auto;
  margin-bottom: auto;
  display: block; /* assicurati che non erediti inline */
}

.vertical-section .sibling-box a:hover img{
  top: -2rem;
}

.vertical-section .producer-info{
  float: left;
}

.vertical-section .producer-info p{
  font-size: 1rem;
  margin-top: 0;
  margin-bottom: 0;
}

.vertical-section .producer-info img{
  padding-right: 4rem;
  width: auto;
  max-width:100%;
  height:auto;
  box-sizing: border-box;
}
.product-buttons{
  float: left;
}
.product-buttons .print-button{
  margin-right: 1rem;
  display: none;
}


.center-vertical{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.vertical-section .testo-prod p{
  margin: 0;
}

.colore{
  flex-direction: column;
}

.srm-bar-wrapper {
  width: 100%;
  margin: 0.8rem 0 0.3rem 0;
  position: relative;
}

.srm-bar {
  height: 24px;
  border-radius: 12px;
  background: linear-gradient(to right,
    #fef0a5, #fee38a, #fed56e, #fdc755, #fcb93d,
    #f7aa2e, #ef9b22, #e78c18, #dd7c0e, #d26c04,
    #c85d00, #be4e00, #b33f00, #a92f00, #9f1f00,
    #951200, #8b0a00, #800300, #760000, #6b0000,
    #5a1f00, #541c00, #4e1900, #481600, #421300,
    #3c1000, #360d00, #300a00, #2a0700, #240500,
    #1f0400, #1a0300, #150200, #100100, #0b0100,
    #070100, #040100, #020000, #010000, #000000
  );
  position: relative;
}

.srm-bar-print {
  display: none;
}

.srm-indicator {
  position: absolute;
  top: -5px;
  width: 14px;
  height: 35px;
  border-radius: 7px;
  background: var(--color-white);
  border: 3px solid var(--color-light-blue);
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 2;
}

.srm-legend {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  font-size: 0.9rem;
  text-align: center;
  margin-top: 0.4rem;
  color: #555;
}
.srm-legend .color{
  width: auto !important;
  min-width: auto !important;
}
.vertical-section p.cache-data{
  font-size: 1rem;
  margin-bottom: 0;
  margin-top: 0;
}


.radar-container {
  position: relative;
  width: 300px;
  height: auto;
  margin-top: 1rem;
  float: left;
}

.radar-container svg {
  width: 100%;
  height: 100%;
}

.radar-container .labels {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.radar-container .labels div {
  position: absolute;
  transform: translate(-50%, -50%);
  font-size: 0.85rem;
  text-align: center;
  width: 60px;
  text-transform: lowercase;
  font-weight: 600;
}

.radar-container polygon.area {
  fill: var(--color-light-blue-50);
  stroke: var(--color-blue);
  stroke-width: 2;
}

.radar-container polygon.grid {
  fill: none;
  stroke: var(--color-light-grey);
  stroke-width: 1;
}

.radar-container circle.corner {
  fill: var(--color-blue);
  r: 4;
}


.radar-print {
  position: absolute;
  width: 320px;
  height: 320px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}

.search-result{
  display: flex;
  flex-direction: column;

}

.search-result .search-result__image{
  margin-right: 0;
  margin-bottom: 1.5rem;
  max-width: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
}
.search-result .search-result__image img{
  mix-blend-mode: multiply;
  width: 180px;
}
.search-result .search-result__content{
 
}
.search-result .search-result__code{
  width: auto;
}


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