@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,300;0,400;0,500;1,400&family=Poppins:ital,wght@0,400;0,700;1,400;1,700&display=swap');
* {
  margin: 0;
  padding: 0;
}
*::selection{
  color:   rgba(255,255,255,0.9);
  background: rgba(0,187,180,0.8) !important; 
}
*::-moz-selection{
  color:   rgba(255,255,255,0.9);
  background: rgba(0,187,180,0.8)  !important;
}
:root {
  --padding: 1.5rem;
  --color-black: #333333;
  --color-light: rgba(179,178,178, .2);
  --color-white: #ffffff;
  --color-blue: #007167;
  --color-blue-transparent: rgba(0, 113, 103, .8);
  --color-blue-shadow: rgba(0, 113, 103, .1);
  --color-light-blue: #00BBB4;
  --color-light-blue-transparent: rgba(0, 187, 180, .8);
  --color-grey: #D9D9D9;
  --menu-width: 100vw;
  --color-text: var(--color-blue);
  --color-text-grey: var(--color-white);
  --color-background: var(--color-white);
  --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;
  --font-family-sans: 'Poppins', Helvetica, Arial, sans-serif;
  --font-family-serif: 'Bitter', Georgia, Times, serif;
}
html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-background);
  box-sizing: border-box;
  scroll-behavior: smooth;
}
body {
  margin: 0 auto;
}

.light-template{
  color: var(--color-light-blue);
}

.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 {
  display: inline;
  opacity: 1;
  width: 180px;
}


.preloader.hiddenthis {
  animation: fadeOut 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeOut {
  100% {
    opacity: 0;
    visibility: hidden;
  }
}




.preloader span .p1{
  display: inline;
  opacity: 1;
  animation: preloadpulse1 0.8s 0.15s alternate 2 ease-in-out;
}

@keyframes preloadpulse1 {
  to {
    transform: translateY(4px);
    opacity: 0.5;
  }
}


.preloader span .p2{
  display: inline;
  opacity: 1;
  animation: preloadpulse2 0.8s 0.30s alternate 2 ease-in-out;
}

@keyframes preloadpulse2 {
  to {
    transform: translateY(6px);
    opacity: 0.5;
  }
}

.preloader span .p3{
  display: inline;
  opacity: 1;
  animation: preloadpulse3 0.8s 0.45s alternate 2 ease-in-out;
}

@keyframes preloadpulse3 {
  to {
    transform: translateY(4px);
    opacity: 0.5;
  }
}






.preloader span .p4{
  display: inline;
  opacity: 1;
  animation: preloadpulse4 0.8s 0.60s alternate infinite ease-in-out;
}

@keyframes preloadpulse4 {
  to {
    opacity: 0.4;
  }
}




.preloader span .p5{
  display: inline;
  opacity: 1;
  animation: preloadpulse5 0.8s 0.75s alternate 2 ease-in-out;
}

@keyframes preloadpulse5 {
  to {
    transform: translateY(-4px);
    opacity: 0.5;
  }
}


.preloader span .p6{
  display: inline;
  opacity: 1;
  animation: preloadpulse6 0.8s 0.9s alternate 2 ease-in-out;
}

@keyframes preloadpulse6 {
  to {
    transform: translateY(-6px);
    opacity: 0.5;
  }
}

.preloader span .p7{
  display: inline;
  opacity: 1;
  animation: preloadpulse7 0.8s 1.05s alternate 2 ease-in-out;
}

@keyframes preloadpulse7 {
  to {
    transform: translateY(-4px);
    opacity: 0.5;
  }
}







/* Loader Styles END */




.logo-svg .st0{
  fill: var(--color-blue);
}

.logo-svg .st1{
  fill: var(--color-light-blue);
}

.logo-svg-w .st0{
  fill: var(--color-white);
}

.logo-svg-w .st1{
  fill: var(--color-white);
}


.homepage.scrolling2 .logo-svg .st0{
  fill: var(--color-white);
}

.homepage.scrolling2 .logo-svg .st1{
  fill: var(--color-white);
}



.body.change1{
  background: var(--color-black);
  color: var(--color-white);
  transition: var(--transition-02);
}
.body.change2{
  background: var(--color-blue);
  color: var(--color-white);
  transition: var(--transition-02);
}

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

.vertical-section .text-box ul{
  margin-top: 1rem;
  float: left;
}


.vertical-section .text-box ul li{
  font-size: 1.2rem;
  float: left;
  width: 100%;
  margin: 0 1rem;
}
.vertical-section .text-box ul li p {
  margin-top: 0;
  margin-bottom: 0;
}

h1.our-text {
  display: block;
  word-wrap: break-word; /* Facoltativo, evita tagli strani */
}
.home-box{
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-blend-mode: saturation;
  /*  box-shadow: inset 0 100vh 0 rgba(0,0,0, 0.6);*/
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  margin-top: 0 !important;
  position: relative;
}
.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{
  max-height: 520px;
  object-fit: cover;
  object-position: center center;
  float: left;
}


.pure-g  {
  overflow: hidden;
}
.pure-g [class*="pure-u"] {
  font-family: var(--font-family-sans);
  overflow: hidden;
}
.pure-g div{
  /*overflow: hidden;*/
}
strong{
  letter-spacing: 0.04rem;
}
a{
  color: var(--color-text);
  transition: var(--transition-01);
}
.light-template a{
  color: var(--color-light-blue);
}
.change1 a{
  color: var(--color-white);
}


hr{
  float: left;
  width: 100%;
  border-bottom: 0;
  border-top: 2px solid var(--color-black);
}
hr.invisible{
  padding: 0.2rem 0;
  float: left;
  width: 100%;
  border: 0;
}
.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;
}
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;
  justify-content: center;
  min-height: 240px;
}
.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;
}


.text-white{
  color: var(--color-white);
}
.text-white a{
  color: var(--color-white);
}
.text-blue{
  color: var(--color-blue);
}
.light-template .text-blue{
  color: var(--color-light-blue);
}
.text-grey{
  color: var(--color-grey);
}
.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-blue-shadow);
}
.upper{
  text-transform: uppercase;
  letter-spacing: 0.15rem;
}

.vertical-section h1.default-h1{
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  font-family: var(--font-family-sans);
  letter-spacing: 0.03rem;
}
.vertical-section h1.default-h1 i{
  font-size: 0.75rem;
  position: relative;
  bottom: 2px;
  margin-right: 0.2rem;
}

.vertical-section h2.default-h2{
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  font-family: var(--font-family-sans);
  letter-spacing: 0.06rem;
}
.vertical-section h2.default-h2 i{
  font-size: 1.05rem;
  position: relative;
  bottom: 2px;
  margin-right: 0.2rem;
}


.vertical-section h1{
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.1;
  font-family: var(--font-family-serif);
}
.vertical-section h2{
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
  font-family: var(--font-family-serif);
}
.vertical-section h2.subtitle{
  font-size: 2rem;
  margin-top: 1rem;
  color: var(--color-black);
}

.vertical-section h1.note-subtitle{
  font-size: 2.4rem;
  margin-top: 1rem;
  color: var(--color-black);
  margin-bottom: 1rem;
}

.vertical-section h3{
  font-family: var(--font-family-serif);
  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: 600;
}
.vertical-section h5{
  font-size: 1.2rem;
  font-weight: 600;
}
.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.4;
  margin-top: 1rem;
  /* margin-bottom: 1rem; */
  float: left;
  width: 100%;
  color: var(--color-black);
}
.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%;
  color: var(--color-black);
}
.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: 100%;
  margin-left: 1.1rem;
  list-style-type: square;
  font-size: 1.1rem;
  color: var(--color-black);
}

.vertical-section .blocks blockquote{
  float: left;
  clear: both;
  font-size: 2rem;
  font-family: var(--font-family-serif);
  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: "—";
}
.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);
}
.change1 .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-blue);
}
.full {
  width: 100%;
}
.boxed {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.boxed-home {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.boxed2 {
  width: 100%;
  max-width: 1480px;
  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);
  margin-bottom: 0.7rem;
}

.header .logo svg{
  width: 150px;
  transition: var(--transition-02);
  padding: 1.5rem 1.2rem;
  float: left;
}
.scrolling .header .logo svg .e{
  display: none;
}

@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: 160px;
}
.change1 .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;
}
.menu a[aria-current] {
  opacity: 0.4;
  --bg-h: 0%;
}
#open-menu {
  display: flex;
  flex-flow: row-reverse;
  outline: none;
  border: 0px;
  padding: 0px;
  background: transparent;
  cursor: pointer;
}
#open-menu .menu-txt{
  position: relative;

  top: 0;
  width: 7rem;
  height: 3rem;
  border-radius: 1.5rem;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 0.15rem;
  font-weight: 700;
  text-align: center;
  color: var(--color-black);
  background-color: var(--color-grey);
  transition: var(--transition-03);
}

.opened #open-menu .menu-txt{
  color: var(--color-white);
  background-color: transparent;
}
.closed #open-menu .menu-txt:before{
  content: 'menu';
  line-height: 3rem;
}
.opened #open-menu .menu-txt:before{
  content: 'close';
  position: relative;
  top: -0.05rem;
  line-height: 3rem;
}



/*.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-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-blue);
  transition: background var(--transition-03), width var(--transition-01);
}
.change1.scrolling .closed #open-menu:before, .change1.scrolling .closed #open-menu:after {
  background: var(--color-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{
  color: var(--color-white);
  float: left;
  transition: 0s;
}
.scrolling .menu .menu-box a{
  color: var(--color-blue);
  transition: var(--transition-03);
}
.menu.opened .menu-box a{
  transition: var(--transition-04);
}
.pages .menu .menu-box a{
  color: var(--color-blue);
  transition: var(--transition-01);
}
.pages .menu.opened .menu-box a{
  color: var(--color-white);
}
.menu .right-menu{
  height: 100vh;
  padding-top: 3.5rem;
}
.search-button{
  position: absolute;
  margin: 1.5rem 2.2rem;
  top: 1.2rem;
  transition: top var(--transition-03);
}
.search-button i{
  float: left;
  color: var(--color-white);
  font-size: 1.2rem;
  transition: var(--transition-03);
}
.pages .search-button i{
  color: var(--color-white);
}
.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);
}

.pages .search-input {
  border-bottom: 2px solid var(--color-white);
  color: var(--color-white);
}
.search-input::placeholder {
  transition: var(--transition-03);
  color: var(--color-white);
  font-weight: 700;
  opacity: 0.3;
  letter-spacing: 0.05rem;
}
.search-input:focus::placeholder{
  opacity: 0.6;
}

.pages .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;
}

.pages .sbtn {
  color: var(--color-white);
}
.search-input:focus {
  width: 240px;
}
.search-input:focus + .sbtn {
  opacity: 1;
  cursor: pointer;
}





.lang-selector {
  float: right;
  visibility: visible;
  opacity: 1;
  width: auto;
  position: relative;
  right: 2.2rem;
  top: 2.25rem;
  transition: var(--transition-03);
  z-index: 1001;
}
.scrolling .lang-selector {
  top: 1.2rem;
}
.lang-selector div {
  float: left;
  padding: 0.3rem 0;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 0.15rem;
  font-weight: 700;

}
.lang-selector a {
  text-decoration: none;
  color: var(--color-black);
  transition: var(--transition-03);

}
.menu.opened ~ .lang-selector a{
  color: var(--color-white);
}
.homepage.change1 .lang-selector a{
  color: var(--color-white);
}

.homepage.change1 .lang-selector a{
  color: var(--color-white);
}
.selected-language {
  cursor: pointer;
  transition: var(--transition-03);
}

.language-list {
  position: absolute;
  top: 3rem;
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  opacity: 0;
  transform: translateY(-30px);
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: 0.15rem;
  font-weight: 700;
  transition: var(--transition-03);
  pointer-events: none;

}



.language-list.show {
   opacity: 1;
   transform: translateY(0px);
   pointer-events: auto;

}




.lang-selector .rotate {
  transition: var(--transition-03);
}

.lang-selector .rotate180 {
  transform: rotate(180deg);
}

/*
.lang-selector li:last-child:after {
  content: "";
  margin-left: 0;
  margin-right: 0;
}
.lang-selector li a{
  font-size: 1.1rem;
  margin: 0;
  padding: 0;
  float: left;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-black);
}

.scrolling.change2 .lang-selector li a{
  color: var(--color-white);
}
.pages .lang-selector li a{
  color: var(--color-blue);
}

.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;
}


.menu.opened ~ .lang-selector li:after{
  color: var(--color-white);
}


*/





.lang-selector-menu.only-mob{
  margin-top: 2rem;
}





.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;
}
.change1.scrolling .menu .menu-box a{
  color: var(--color-blue);
}
.change1.scrolling .opened .menu-box a{
  color: var(--color-white);
}

.box-menu {
  display: none;
  height: 100vh;
}
.box-menu .pure-g{
  width: 100%;
}
  
.box-menu .subtitle-menu {
  width: 100%;
  float: left;
  padding: 0.2rem 1.2rem;
  text-transform: uppercase;
  color: var(--color-white);
  letter-spacing: 0.05rem;
}
.box-menu ul{
  padding: 0.05rem 0 0.5rem 0;
  float: left;
  width: 100%;
}
.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.3rem;
  line-height: 1;
  margin: 0;
  padding: 0.2rem 1.2rem;
  text-decoration: none;
  font-family: var(--font-family-serif);
  transition: var(--transition-01);
  width: 100%;
  box-sizing: border-box;
  transition: var(--transition-01);
  font-weight: 500;
}

.box-menu ul li a.secondario{
  color: var(--color-grey);
  font-weight: 300;
}

.box-menu ul li a.secondario:where(:hover, :focus-visible) {
  color: var(--color-light-blue);
}

.box-menu ul li a i{
  float: left;
  opacity: 0;
  width: 0;
  position: relative;
}
.box-menu ul li a:hover i{
  opacity: 1;
  transition: var(--transition-03);
  animation: leftrightslow 1s infinite;
  width: 60px;
}
.box-menu ul li a:where(:hover, :focus-visible) {
  color: var(--color-light-blue);
}
.box-menu ul li a.area-riservata{
  font-size: 1.2rem;
  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: calc(100% - 4rem);
}
.box-menu .last-menu.social-link{
  display: none;
}
.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);
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  font-weight: 700;
}
.box-menu .last-menu.social-link li a{
  text-transform: initial;
  letter-spacing: 0.02rem;
}
.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: 5rem;
  width: calc(100% - 7rem);
}
.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;
}
.opened .box-menu {
  display: block;
}
#the-menu{
  transition: top var(--transition-03);
  background-color: var(--color-black );
}
.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;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  /*  box-shadow: inset 0 0 290px black;*/
}
.vertical-section .hero h1{
  font-size: 2rem;
  line-height: 1.3;
}


.vertical-section .hero h2{
  color: var(--color-black);
  float: left;
  font-family: var(--font-family-serif);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.3;
  transition: var(--transition-02);
}
.change1 .vertical-section .hero h2{
  color: var(--color-white);
}
.change2 .vertical-section .hero h2{
  color: var(--color-white);
}
.vertical-section .hero h2 a{
  color: var(--color-light-blue);
  text-decoration: none;
  transition: var(--transition-05);

}
.change3 .vertical-section .hero h2 a{
  color: var(--color-white);
}

.vertical-section .hero h2 a:hover{
  color: var(--color-blue);
}
.change2 .vertical-section .hero h2 a:hover{
  color: var(--color-black);
}


.vertical-section .hero h2 a span {
  display: inline-block;
  width: 16px;
  height: 16px;
  text-align: center;
  border: none;
  border-radius: 50%;
  background: var(--color-light-blue);
  cursor: pointer;
  box-shadow: 0 0 0 0 rgba(0,187,180,0.5);
  animation: pulsebutton 1.5s infinite;
  position: relative;
  top: -16px;
  left: 2px;
}
.change3 .vertical-section .hero h2 a span {
  background: var(--color-white);
  box-shadow: 0 0 0 0 rgba(255,255,255,0.5);
  animation: pulsebuttonchange3 1.5s infinite;
}
.vertical-section .hero h2 a:hover span {
  animation: pulsebutton2 1s forwards;
}
.change2 .vertical-section .hero h2 a:hover span {
  animation: pulsebuttonchange2 1s forwards;
}

@keyframes pulsebutton {
  0% {
    transform: scale(.85);
    box-shadow: 0 0 0 0 rgba(0,187,180,0.5);
  }
  80% {
    transform: scale(1);
    box-shadow: 0 0 0 16px rgba(0,187,180,0);
  }
  100% {
    transform: scale(.85);
    box-shadow: 0 0 0 16px rgba(0,187,180,0);
  }
}

@keyframes pulsebuttonchange3 {
  0% {
    transform: scale(.85);
    box-shadow: 0 0 0 0 rgba(255,255,255,0.5);
  }
  80% {
    transform: scale(1);
    box-shadow: 0 0 0 16px rgba(255,255,255,0);
  }
  100% {
    transform: scale(.85);
    box-shadow: 0 0 0 16px rgba(255,255,255,0);
  }
}

@keyframes pulsebutton2 {

  0% {
    transform: scale(1);
    box-shadow: 0 0 0 16px rgba(0,113,103,0);
  }
  100% {
    transform: scale(.65);
    box-shadow: 0 0 0 20px rgba(0,113,103,0.5);
    background-color: var(--color-blue);
  }
}


@keyframes pulsebuttonchange2 {

  0% {
    transform: scale(1);
    box-shadow: 0 0 0 16px rgba(0,0,0,0);
  }
  100% {
    transform: scale(.65);
    box-shadow: 0 0 0 20px rgba(0,0,0,0.3);
    background-color: var(--color-black);
  }
}



.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{
  display: none;
}
.start-button a{
  color: var(--color-black);
  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-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;
}

.change1 .cta-team {
  right: calc(50% - 105px);
  pointer-events: auto;
}
.change1 .cta-team .bubble1 {
  background-color: var(--color-blue);
  transition: var(--transition-02);
  animation: pulse 2s infinite;
  transform-origin: center;
  opacity: 1;
  transform: scale(3.8) translate(0, 19%);
}
.change1 .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;
}
.change1 .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);
}
.change1 .cta-team.hide-bubble {
  opacity: 1;
  pointer-events: auto;
}

.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;
}
.footer .boxed2{
  border-top: 2px solid var(--color-black);
  transition: var(--transition-02);
}
.change1 .footer{
  color: var(--color-white);
  transition: var(--transition-02);
}

.change1 .footer .boxed2{
  border-top: 2px solid var(--color-white);

}
.footer ul{
  margin: 0;
  float: left;
}
.footer ul li{
  list-style-type: none;
  float: left;
  margin-right: 1.6rem;
}
.footer ul li a{
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}

.footer .footer-right ul{
  float: left;
}
.footer .footer-right ul li{
  margin-right: 1.6rem;
  margin-left: 0;
}
.footer .footer-right ul li a{
  text-decoration: none;
  text-transform: initial;
  letter-spacing: 0.02rem;
}

.footer .social-icon ul li a{
  font-size: 1.6rem;
  position: relative;
  top: -7px;
}
.footer div{
  color: var(--color-black);
  transition: var(--transition-02);
}
.change1 .footer div{
  color: var(--color-white);
}
.footer a{
  line-height: 1.1;
  font-weight: 600;
  color: var(--color-black);
}
.footer a:hover{
  opacity: .75;
}
.change1 .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{
  color: var(--color-blue);
  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%;
}

.footer .footer-img{
  float: left;
}
.footer .footer-img strong{
  float: left;
  width: 100%;
}
.footer .footer-img img{ 
  float: left;
  margin-top: 0.2rem;
}
.footer .associated{
  height: 90px;
  width: auto;
}
.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;
  border-bottom: 2px solid var(--color-black);
}
.form-contatto .text-field{
  padding-right: 0;
  float: left;
  width: 100%;
  border-bottom: 2px solid var(--color-black);
}
.form-contatto .file-upload{
  margin-top: 1.8rem;
  margin-bottom: 0.8rem;
}
.form-contatto form label{
  /* display: none;*/
  float: left;
  width: 30%;
  font-size: 1.2rem;
  margin: 0.5rem 0;
  text-transform: uppercase;
  font-family: var(--font-family-serif);
  color: var(--color-black);
  font-weight: 500;
  position: relative;
  top: 0.15rem;

}
.form-contatto form .gdpr-box{
  border-bottom: 0;
}
.form-contatto form label.gdpr{
  display: inline;
  line-height: 1.4rem;
  width: auto;
  float: initial;
  font-size: 0.9rem;
  text-transform: initial;
  font-family: var(--font-family-sans);
}
.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]){
  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.05rem;
  font-size: 1rem;
}
.formcta .form-contatto form input:not([type=submit]){
  background-color: var(--color-blue);
  color: var(--color-white);
  width: 100%;
}
.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-black);
  font-size: 1.1rem;
  transform: scale(1.4);
  position: relative;
  left: 0.2rem;
}
.form-contatto form textarea{
  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;
  font-size: 1.1rem;
  resize: none;
  min-height: 160px;
  width: 70%;
}
.formcta .form-contatto form textarea{
  border-bottom: 2px solid var(--color-white);
  background-color: var(--color-blue);
  color: var(--color-white);
}
.form-contatto form input[type=submit]{
  margin-top: 1.2rem;
  margin-right: 0rem;
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  padding: 0.8rem 2rem;
  border-radius: 2rem;
  border: 0;
  color:  var(--color-blue);
  background-color:  var(--color-white);
  font-weight: 400;
  cursor: pointer; 
  transition: 0.3s;
  border: 2px solid var(--color-blue);
  font-family: var(--font-family-sans);
  text-transform: uppercase;
  float: right;
}

.light-template .form-contatto form input[type=submit]{
  color:  var(--color-light-blue);
  border: 2px solid var(--color-light-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-black);
  opacity: 0.4;
}
.form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-black);
  opacity: 0.4;
}
.form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-black);
  opacity: 0.4;
}
.form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-black);
  opacity: 0.4;
}
.form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-black);
  opacity: 0.4;
}
.form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-black);
  opacity: 0.4;
}

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

.formcta .form-contatto form .preferences-label{
  width: 100%;
  text-transform: inherit;
}

.formcta .form-contatto .preferences{
  border-bottom: 0;
}

.formcta .form-contatto .preferences div{
  float: left;
  width: 100%;
}

.formcta .form-contatto .preferences div label{
  float: left;
  width: auto;
  margin: 0.6rem;
}
.formcta .form-contatto .preferences div input[type="checkbox"]{
  float: left;
  margin-top: 1rem;
  width: auto;
}

.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-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-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-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-blue);
  opacity: 1; /* Firefox */
}
.form-login form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-blue);
}
.form-login form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-blue);
}
.form-login form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-blue);
  opacity: 1; /* Firefox */
}
.form-login form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-blue);
}
.form-login form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-blue);
}
.search-form p{
  margin: 0;
}
.search-form ul{
}
.search-form ul a{
  text-decoration: none;
  float: left;
}

.search-form ul li{
  list-style-type: none;
  background-color: var(--color-blue-shadow);
  padding: 1rem;
  margin-top: 2rem;
  float: left;
  transition: var(--transition-01);
}
.search-form ul a:hover li{
  background-color: var(--color-light-blue);
}
.search-form ul a:hover h3{
  color: var(--color-black);
}
.search-form ul a:hover h4{
  color: var(--color-black);
}
.search-form ul a:hover h5{
  color: var(--color-black);
}
.vertical-section .search-form  h3 {
  font-size: 2.4rem;
  transition: 0.3s;
}
.vertical-section .search-form  h4 {
  font-size: 1.4rem;
  transition: 0.3s;
}
.vertical-section .search-form  h5 {
  font-size: 1rem;
  transition: 0.3s;
}
.search-form form{
  margin-top: 1.5rem;
  margin-bottom: 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);
  letter-spacing: 0.1rem;
  border-bottom: 2px solid var(--color-black);
  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: 1.2rem;
  margin-right: 0rem;
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  padding: 0.8rem 2rem;
  border-radius: 2rem;
  border: 0;
  color: var(--color-blue);
  background-color: var(--color-white);
  font-weight: 400;
  cursor: pointer;
  transition: 0.3s;
  border: 2px solid var(--color-blue);
  font-family: var(--font-family-sans);
  text-transform: uppercase;
}


.light-template .search-form form input[type="submit"] {
  color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.search-form form input[type="submit"]:hover {
  background-color: var(--color-blue);
  color: var(--color-white);
  border: 2px solid var(--color-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-black);
  opacity: 0.4; /* Firefox */
}
.search-form form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-black);
  opacity: 0.4;
}
.search-form form input::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-black);
  opacity: 0.4;
}
.search-form form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--color-black);
  opacity: 0.4;
}
.search-form form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: var(--color-black);
  opacity: 0.4;
}
.search-form form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: var(--color-black);
  opacity: 0.4;
}

.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 h2 a{
  text-decoration: none;
  color: var(--color-blue);
}
.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;
}
.notes h4 a{
 text-decoration: none;
 margin-top: 0.6rem;
 float: left;
}
.notes h6{
  margin-top: 0.2rem;
  float: left;
  width: 100%;
}
.notes h6 time{
  font-family: var(--font-family-sans);
  text-decoration: none;
  font-weight: 400;
}
.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;
}
.alltags{
  float: left;
  margin-top: 1rem;

}
.note-tags{
  list-style-type: none;
  float: left;
  width: 100%;
  margin-bottom: 1rem;
}
.note-tags li{
  font-family: var(--font-family-sans);
  float: left;
  color: var(--color-blue);
  margin-right: 1rem;
  margin-top: 0.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02rem;
}

.light-template .note-tags li{
  color: var(--color-light-blue);
}
/*.note-tags li:hover{
  background-color: var(--color-black);
}*/
.note-tags li a{
  float: left;
}

.vertical-section .note-footer p{
  margin-bottom: 0;
  margin-top: 0.2rem;
  font-size: 1.2rem;
}



.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;
}
.gallery .left-img{
  margin-bottom: 2rem;
}
.gallery .right-img{
  margin-bottom: 2rem;
}
.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-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-blue);
}
.success {
  float: left;
  width: 100%;
}
.success p{
  color: var(--color-light-blue);
}
.field-error{
  color: var(--color-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 li{
  float: left;
  list-style-type: none;
  margin-right: 0.2rem; 
}
.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 .back-button {
  width: 50px;
}
.breadcrumb ul li .back-button svg{
  width: 50px;
}
.breadcrumb ul li .back-button svg .arrow-back-path{
  fill: var(--color-blue);
}
.wow{
  overflow: hidden;
}
.g-map p{
  font-size: 1rem;
}
.pure-g .btn1{
  font-family: var(--font-family-sans);
  color: var(--color-blue);
  margin-top: 1.5rem;
  padding: 0.8rem 2rem;
  border: 2px solid var(--color-blue);
  float: left;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.2rem;
  transition: var(--transition-01);
  border-radius: 2rem;
}

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

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

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

.change1 .popup1 .pure-g .btn1{
  color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.pure-g .btn1:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.pure-g .btn1 i{
  margin-left: 1rem;
}
.pure-g .blocks .btn1:hover{
  color: var(--color-white);
  background-color: var(--color-blue);
  border: 2px solid var(--color-blue);
}
.light-template .pure-g .blocks .btn1:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
  border: 2px solid var(--color-light-blue);
}
.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;
  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-serif);
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  float: left;
  text-decoration: none;
  font-size: 1.4rem;
  transition: var(--transition-01);
  width: 100%;
}

.change1 .pure-g .btn2{
  color: var(--color-white);
}
.pure-g .btn2:hover{
  color: var(--color-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-serif);
  width: 100%;
  margin-top: 0;
  padding: 0.4rem 0.6rem;
  border: 2px solid var(--color-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;
}
.change1 .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-blue);
  border: 2px solid var(--color-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-blue);
  border: 2px solid var(--color-blue);
}
.pure-g .btn4{
  font-family: var(--font-family-serif);
  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;
}
.change1 .pure-g .btn4{
  color: var(--color-black);
  border: 2px solid var(--color-black);
}
.pure-g .btn4:hover{
  color: var(--color-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-blue);
  border: 2px solid var(--color-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;
}

.light-template .pure-g .btn5{
  background-color: var(--color-light-blue);
}

.change1 .pure-g .btn5{
  color: var(--color-white);
}
.pure-g .btn5:hover{
  color: var(--color-white);
  background-color: var(--color-light-blue);
}
.light-template .pure-g .btn5:hover{
  background-color: var(--color-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-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;
}

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

.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% {
    left: 0;
  }
  50% {
    left: 1rem;
  }
  100% {
    left: 0;
  }
}
.pure-g .btn-clear {
  clear: both;
  float: left;
  width: 100%;
}

.relative{
  position: relative;
}
.push-up{
  position: static;
  top: 0;
}
#map {
  width: 100%;
}
.container-accordion {
  display: flex;
  align-items: center;
  justify-content: center;
/*  width: 90vw;*/
margin: 0 auto;
}
.panel-accordion {
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  background-color: var(--color-blue);
  height: 50vh;
  cursor: pointer;
  flex: 0.5;
  position: relative;
  transition: all 0.4s ease-in;
}
.panel-accordion.active {
  /*background-size: contain;*/
  /*background-size: cover;*/
  flex: 4;
  background-position: center;
}
.accordion-box{
  display: block;
  float: left;
  height: 50vh;
  /*  background-color: var(--color-blue); */
  border-left: 2px solid var(--color-black);
  position: absolute;
  width: 100%;

}
.vertical-section .container-accordion h2 {
  font-family: var(--font-family-serif);
  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-serif);
  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-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,
.grid-sizer {
  width: 100%;
}
.grid-item {
  float: left;
}
.grid-item img{
  float: left;
}
.grid-item .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;
}













.vertical-section .notes-box div  {
  margin: 0;
  list-style-type: none;
}
.vertical-section .notes-box div:last-child > a {
  border-bottom: 2px solid var(--color-black);
}
.vertical-section .notes-box div > a {
  font-family: var(--font-family-serif);
  font-weight: 400;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  padding: 3rem 0;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.07rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  float: left;
  border-top: 2px solid var(--color-black);
  text-decoration: none;
}

.change1 .vertical-section .notes-box div > a {
  color: var(--color-white);  
  border-top: 1px solid var(--color-white);
}
.change1 .vertical-section .notes-box div:last-child > a {
  border-bottom: 1px solid var(--color-white);
}



.notes-box div > a:hover {
  background-color: var(--color-blue-shadow);
}
.notes-box div > a.close-popup1:hover {
  background-color: var(--color-white);
}


.notes-box .note-tags {
  margin-top: 1rem;
}








.vertical-section .blocks .casestudy {
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: left;
  flex-wrap: wrap;
}


.vertical-section .blocks .casestudy button {
  font-family: var(--font-family-serif);
  font-weight: 400;
  border: none;
  outline: none;
  text-align: left;
  padding: 2rem 0;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.07rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  float: left;
}


.vertical-section .blocks .casestudy a {
  text-decoration: none;
}
.vertical-section .blocks .casestudy h4 a {
  color: var(--color-black);
}
.vertical-section .blocks .casestudy:hover a {
  opacity: 0.7;
}


.vertical-section .blocks .casestudy button.close-casestudy {
  width: auto;
  border-top: 0;
  padding: 0;
  float: right;
}


.casestudy button.close-casestudy:hover {
  background-color: var(--color-white);
}

.casestudy .casestudy-button h3{
  font-size: 1.8rem;
  color: var(--color-blue);
  font-weight: 500;
  margin-bottom: 0.5rem;
  text-indent: -3.2rem;
  Padding-left: 3.2rem;
  box-sizing: border-box;
}

.light-template .casestudy .casestudy-button h3{

  color: var(--color-light-blue);

}

.casestudy .casestudy-button:hover h3{
/*  color: var(--color-light-blue);*/
}

.light-template .casestudy .casestudy-button:hover h3{
/*  color: var(--color-blue);*/
}
.casestudy .casestudy-button h3:before{
  content: "\f111";
  font-family: "Font Awesome 6 Free";
  margin-right: 1rem;
  font-size: 1.6rem;
  position: relative;
  bottom: 2px;
}
.casestudy .casestudy-button:hover h3:before{
  content: "\f192";
}

.casestudy .casestudy-button h4{
  font-size: 1.2rem;
  font-weight: 400;
  font-family: var(--font-family-sans);
  margin-left: 3.2rem;
  width: auto;
  max-width: 860px;
}

.casestudy .casestudy-content{
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-blue-transparent);
  z-index: 9;
}


.light-template .casestudy .casestudy-content{
  background-color: var(--color-light-blue-transparent);
}


.casestudy .casestudy-content h3{
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

.casestudy .casestudy-content h4{
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--color-black);
  margin-bottom: 1rem;
}
.casestudy .casestudy-content figure{
  margin-bottom: 1rem;
}


.casestudy .casestudy-box {
  height: 82vh;
  overflow: auto;
  padding: 1rem;
}
.casestudy .pure-g {
  padding-top: 15vh;
}









.vertical-section .blocks ul.popup1 li  {
  margin: 0;
  list-style-type: none;
}
.vertical-section .blocks ul.popup1 li:last-child button {
  border-bottom: 2px solid var(--color-black);
}
.vertical-section .blocks ul.popup1 li button {
  font-family: var(--font-family-serif);
  font-weight: 400;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  padding: 2rem 0;
  font-size: 1.6rem;
  line-height: 1.1;
  letter-spacing: 0.02rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  float: left;
  border-top: 2px solid var(--color-black);
}

.change1 .vertical-section .blocks ul.popup1 li button {
  color: var(--color-white);  
  border-top: 1px solid var(--color-white);
}
.change1 .vertical-section .blocks ul.popup1 li:last-child button {
  border-bottom: 1px solid var(--color-white);
}

.vertical-section .blocks ul.popup1 li button.close-popup1 {
  width: auto;
  border-top: 0;
  padding: 0;
  float: right;
}

.vertical-section .blocks ul.popup1 li:last-child button.close-popup1 {
  border-bottom: 0;
}

.vertical-section .blocks ul.popup1 li button div{
  font-family: var(--font-family-sans);
  font-weight: 700;
  font-size: 1.2rem;
  margin-top: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0.01rem;
  color: var(--color-blue);
  width: 100%;
}

.light-template .vertical-section .blocks ul.popup1 li button div{
  color: var(--color-light-blue);
}


ul.popup1 li button:hover {
  background-color: var(--color-blue-shadow);
}
ul.popup1 li button.close-popup1:hover {
  background-color: var(--color-white);
}

ul.popup1 li .popup1-content{
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-blue-transparent);
  z-index: 9;
}

.light-template .popup1 .popup1-content{
  background-color: var(--color-light-blue-transparent);
}

ul.popup1 li .popup1-content h3{
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
ul.popup1 li .popup1-content h4{
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
ul.popup1 li .popup1-content h5{
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--color-black);
  margin-bottom: 1rem;
}




.vertical-section .blocks .popup2 {
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: left;
  flex-wrap: wrap;
}


.vertical-section .blocks .popup2 button {
  font-family: var(--font-family-serif);
  font-weight: 400;
  border: none;
  outline: none;
  text-align: left;
  padding: 2rem 0;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.07rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  float: left;
}


.vertical-section .blocks .popup2 a {
  text-decoration: none;
}
.vertical-section .blocks .popup2 h4 a {
  color: var(--color-black);
}
.vertical-section .blocks .popup2:hover a {
  opacity: 0.7;
}


.vertical-section .blocks .popup2 button.close-popup2 {
  width: auto;
  border-top: 0;
  padding: 0;
  float: right;
}


.popup2 button.close-popup2:hover {
  background-color: var(--color-white);
}

.popup2 .popup2-button h3{
  font-size: 1.8rem;
  color: var(--color-blue);
  font-weight: 500;
  margin-bottom: 0.5rem;
  text-indent: -3.2rem;
  Padding-left: 3.2rem;
  box-sizing: border-box;
}

.light-template .popup2 .popup2-button h3{

  color: var(--color-light-blue);

}

.popup2 .popup2-button:hover h3{
/*  color: var(--color-light-blue);*/
}

.light-template .popup2 .popup2-button:hover h3{
/*  color: var(--color-blue);*/
}
.popup2 .popup2-button h3:before{
  content: "\f111";
  font-family: "Font Awesome 6 Free";
  margin-right: 1rem;
  font-size: 1.6rem;
  position: relative;
  bottom: 2px;
}
.popup2 .popup2-button:hover h3:before{
  content: "\f192";
}

.popup2 .popup2-button h4{
  font-size: 1.2rem;
  font-weight: 400;
  font-family: var(--font-family-sans);
  margin-left: 3.2rem;
  width: auto;
  max-width: 860px;
}

.popup2 .popup2-content{
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-blue-transparent);
  z-index: 9;
}


.light-template .popup2 .popup2-content{
  background-color: var(--color-light-blue-transparent);
}


.popup2 .popup2-content h3{
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

.popup2 .popup2-content h4{
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--color-black);
  margin-bottom: 1rem;
}
.popup2 .popup2-content figure{
  margin-bottom: 1rem;
}



.popup1 .popup1-box {
  height: 82vh;
  overflow: auto;
  padding: 1rem;
}
.popup1 .pure-g {
  padding-top: 15vh;
}

.popup2 .popup2-box {
  height: 82vh;
  overflow: auto;
  padding: 1rem;
}
.popup2 .pure-g {
  padding-top: 15vh;
}

.popup3 .popup3-box {
  height: 82vh;
  overflow: auto;
  padding: 1rem;
}
.popup3 .pure-g {
  padding-top: 14vh;
}



.vertical-section .blocks .popup3 {
  float: left;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: left;
  flex-wrap: wrap;
}


.vertical-section .blocks .popup3 button {
  font-family: var(--font-family-serif);
  font-weight: 400;
  border: none;
  outline: none;
  text-align: left;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.07rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  float: left;

}

.vertical-section .blocks .popup3 button.close-popup3 {
  width: auto;
  border-top: 0;
  padding: 0;
  float: right;
}


.popup3 button.close-popup3:hover {
  background-color: var(--color-white);
}

.popup3 .popup3-button h3{
  color: var(--color-black);
  font-weight: 500;
  margin-bottom: 0.5rem;
  text-indent: -3.2rem;
  padding-left: 3.2rem;
  margin-top: 0.5rem;
  width: auto;
}

.light-template .popup3 .popup3-button h3{

  color: var(--color-black);

}

.popup3 .popup3-button:hover h3{
  color: var(--color-light-blue);
}

.light-template .popup3 .popup3-button:hover h3{
  color: var(--color-blue);
}
.popup3 .popup3-button h3:before{
  content: "\f111";
  font-family: "Font Awesome 6 Free";
  margin-right: 1rem;
  font-size: 1.4rem;
  position: relative;
  bottom: 2px;
  font-weight: 900;
  color: var(--color-blue);
}
.light-template .popup3 .popup3-button h3:before{
  color: var(--color-light-blue);
}
.popup3 .popup3-button:hover h3:before{
  content: "\f192";
}

.popup3 .popup3-button h4{
  font-size: 1.2rem;
  font-weight: 400;
  font-family: var(--font-family-sans);
  margin-left: 3.2rem;
  width: auto;
  text-transform: uppercase;
}

.popup3 .popup3-button p {
  font-weight: 400;
  margin-left: 3.2rem;
  width: auto;
  margin-top: 1rem;
}


.popup3 .popup3-button h3{
  color: var(--color-black);
  font-weight: 500;
  margin-bottom: 0.5rem;
  text-indent: -3.2rem;
  padding-left: 3.2rem;
  margin-top: 0.5rem;
  width: auto;
}

.vertical-section .blocks .popup3 button.popup3-no-button {

  cursor: default;

}



.light-template .popup3 .popup3-no-button h3{
  font-weight: 500;
  color: var(--color-black);
  margin-bottom: 0.5rem;
  text-indent: -3.2rem;
  padding-left: 3.2rem;
  margin-top: 0.5rem;
  width: auto;

}

/*.popup3 .popup3-no-button:hover h3{
  color: var(--color-light-blue);
}*/

/*.light-template .popup3 .popup3-no-button:hover h3{
  color: var(--color-blue);
}*/
.popup3 .popup3-no-button h3:before{
  content: "\f111";
  font-family: "Font Awesome 6 Free";
  margin-right: 1rem;
  font-size: 1.4rem;
  position: relative;
  bottom: 2px;
  font-weight: 900;
  color: var(--color-blue);
}
.light-template .popup3 .popup3-no-button h3:before{
  color: var(--color-light-blue);
}
.popup3 .popup3-no-button:hover h3:before{
  content: "\f192";
}

.popup3 .popup3-no-button h4{
  font-size: 1.2rem;
  font-weight: 400;
  font-family: var(--font-family-sans);
  margin-left: 3.2rem;
  width: auto;
  text-transform: uppercase;
}

.popup3 .popup3-no-button p {
  font-weight: 400;
  margin-left: 3.2rem;
  width: auto;
  margin-top: 1rem;
}

.popup3 .popup3-no-button p span {
  width: 100%;
  float: left;
}


.popup3 .popup3-content{
  display: none;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: var(--color-blue-transparent);
  z-index: 9;
}

.light-template .popup3 .popup3-content{
  background-color: var(--color-light-blue-transparent);
}


.popup3 .popup3-content h3{
  font-size: 2.6rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: var(--color-black);
}

.popup3 .popup3-content h4{
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--color-black);
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.popup3 .popup3-content figure{
  margin-bottom: 1rem;
}
.popup3 .popup3-content .half1{
  width: 70%;
  float: left;
  margin-bottom: 2rem;
}
.popup3 .popup3-content .half2{
  width: 30%;
  float: left;
  margin-bottom: 2rem;
}
.popup3 .popup3-content .full{
  float: left;
  margin-bottom: 2rem;
}
.popup3 .popup3-content .popup-email span{
  float: left;
  width: 100%;
  text-transform: uppercase;
  color: var(--color-black);
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.popup3 .popup3-content .popup-email a{
  font-size: 2.2rem;
  font-family: var(--font-family-serif);
}






button.accordion {
  font-family: var(--font-family-serif);
  font-weight: 500;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  padding: 1.2rem;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.02rem;
  color: var(--color-black);
  cursor: pointer;
  transition: var(--transition-02);
  position: relative;
}
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-blue-shadow);
}
button.accordion span {
  color: var(--color-blue);
  font-size: 1.8rem;
  text-transform: uppercase;
  font-family: var(--font-family-sans);
  font-weight: 700;
  position: absolute;
  right: 5rem;
  top: 3.2rem;
}
.light-template button.accordion span {
  color: var(--color-light-blue);
}
button.accordion:hover span {
  color: var(--color-light-blue);
}
.light-template button.accordion:hover span {
  color: var(--color-blue);
}






.accordion-no {
  font-family: var(--font-family-serif);
  font-weight: 500;
  width: 100%;
  border-bottom: 2px solid var(--color-black);
  outline: none;
  text-align: left;
  padding: 1.2rem;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.02rem;
  color: var(--color-black);
  transition: var(--transition-02);
  position: relative;
  display: flex;
  justify-content: space-between;
  height: 9rem;
  align-items: center;
}


.accordion-no:hover, .accordion-no.is-open {
  background-color: var(--color-blue-shadow);
}



.logo-accordion{
  
  position: absolute;
  right: 6rem;
  display: flex;
  justify-content: space-between;
  height: 9rem;
  align-items: center;

}

.logo-accordion img{
  width: 100%;
  max-width: 120px;
  float: left;
  height: fit-content;
  display: none;
}
.accordion-no img{
  width: 100%;
  margin-right: 5rem;
  max-width: 120px;
  height: fit-content;
}


.accordion-mobile{
  max-width: 200px;
}


.accordion-content {
  padding: 0 1.2rem;
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-02);
  border-bottom: 2px solid var(--color-black);
  background-color: var(--color-blue-shadow);
}
.vertical-section .accordion-content h3 a{
  text-decoration: none;
}

.vertical-section .accordion-content h4{
  color: var(--color-black);
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
}

.accordion-content-2 {
  padding: 0 1.2rem;
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-02);
  border-bottom: 2px solid var(--color-black);
  background-color: var(--color-blue-shadow);
}
.vertical-section .accordion-content-2 h3 a{
  text-decoration: none;
}

.vertical-section .accordion-content-2 h4{
  color: var(--color-black);
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
}


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





button.accordion-cta {
  font-family: var(--font-family-serif);
  font-weight: 500;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  padding: 0;
  font-size: 1.8rem;
  line-height: 1.3;
  letter-spacing: 0.02rem;
  color: var(--color-white);
  cursor: pointer;
  transition: var(--transition-02);
  position: relative;
}
button.accordion-cta:after {
  font: var(--fa-font-solid);
  content: "\f078";
  float: right;
}
button.accordion-cta.is-open:after {
  font: var(--fa-font-solid);
  content: '\f077';
}
button.accordion-cta:hover, button.accordion-cta.is-open {
  background-color: var(--color-blue-shadow);
}
button.accordion-cta span {
  color: var(--color-blue);
  font-size: 1.8rem;
  text-transform: uppercase;
  font-family: var(--font-family-sans);
  font-weight: 700;
  position: absolute;
  right: 5rem;
  top: 3.55rem;
}
.light-template button.accordion-cta span {
  color: var(--color-light-blue);
}
button.accordion-cta:hover span {
  color: var(--color-light-blue);
}
.light-template button.accordion-cta:hover span {
  color: var(--color-blue);
}

.accordion-cta-content {
  padding: 0rem;
  max-height: 0;
  overflow: hidden;
  transition: var(--transition-02);
  background-color: var(--color-blue-shadow);
}
.vertical-section .accordion-cta-content h3 a{
  text-decoration: none;
}

.vertical-section .accordion-cta-content h4{
  color: var(--color-black);
  margin-bottom: 0.5rem;
  margin-top: 1.5rem;
}















.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-blue);
  margin-left: 0;
  list-style-type: none;
}
.vertical-section .blocks .details-list ul li:before{
  font: var(--fa-font-solid);
  color: var(--color-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-serif);
  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-blue);
}



.cta1{
  background-color: var(--color-blue);
  margin-top: 2rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}

.light-template .cta1{
  background-color: var(--color-light-blue);
}
.cta1 > div {
  margin-top: -6rem;
}
.cta1 div p{
  color: var(--color-black);
  font-size: 2rem;
  text-align: center;
  font-family: var(--font-family-serif);
  font-weight: 500;
  margin-bottom: 1rem;
  line-height: 1.3;
}
.cta1 div a{
  color: var(--color-white);
  text-decoration: none;
}

.cta1 .cta-icon{
  top: -6rem;
  position: relative;
  text-align: center;
  background-color: var(--color-blue);
  width: 6rem;
  height: 6rem;
  border-radius: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.light-template .cta1 .cta-icon{

  background-color: var(--color-light-blue);

}


.cta1 a i{
  color: var(--color-white);
  text-decoration: none;
  font-size: 3.4rem;
}
.ancora {
  scroll-margin-top: 5rem;
}

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

.boxsticky a {
  clear: both;
}


#privacyaccept{
  width: auto;
}


.siblings .sibling-text{
  float: left;
  min-height: 180px;
  margin-top: 1rem;
}
.siblings h4{
  text-decoration: none;
}

.siblings p{
  margin-top: 0.5rem;
}

.crop-cover img{
  max-height: 520px;
  object-fit: contain;
}