@font-face {
  font-family: "Avenir Next";
  src: url('fonts/AvenirNextCyr-Regular.eot');
  src: url('fonts/AvenirNextCyr-Regular.eot') format('embedded-opentype'),
       url('fonts/AvenirNextCyr-Regular.woff2') format('woff2'),
       url('fonts/AvenirNextCyr-Regular.woff') format('woff'),
       url('fonts/AvenirNextCyr-Regular.ttf') format('truetype');

  font-weight: 300 400 500 600 700 800 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Avenir Next";
  src: url('fonts/AvenirNextCyr-Bold.eot');
  src: url('fonts/AvenirNextCyr-Bold.eot') format('embedded-opentype'),
       url('fonts/AvenirNextCyr-Bold.woff2') format('woff2'),
       url('fonts/AvenirNextCyr-Bold.woff') format('woff'),
       url('fonts/AvenirNextCyr-Bold.ttf') format('truetype');

  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
:root{
  --primary-navy:#333d69;
  --primary-navy-deep:#232a4a;
  --primary-glow:#D6DEEE;
  --primary-line:#e2e7f2;
  --primary-line-strong:#c9d2e6;
  --primary-ink-soft:#4a5480;  
  --primary-pale:#f6f8fb;
  --primary-muted:#5c6584;
  --primary-ko:#a03127;            /* 7.1:1 su bianco */
  --primary-ok:#1f6b47;            /* 6.4:1 su bianco */

  --mira-shadow:51 61 105;
  --mira-r-sm:.5rem;
  --mira-r-md:.875rem;
  --mira-r-lg:1.25rem;

  --mira-r-pill:999px;
  --mira-ease:cubic-bezier(.22,.61,.36,1);
  --mira-space-section:clamp(3.5rem, 7vw, 6.5rem);
}

body {
  font-family: 'Avenir Next';
  text-align: center;
}

h1, h2, h3, h4, h5 {
  font-family: 'Avenir Next', sans-serif;
  font-weight: bold;
  line-height: 2.5;
  font-weight: 600;
  color:var(--primary-navy);
}

h6 {
  font-family: 'Avenir Next', sans-serif;
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.3rem;
  color: var(--primary-navy);
}
@media (max-width: 600px) {
  body {
    font-size: 0.9rem;
  }
}

p{
  font-size: 1.05rem;
}

a {
  color: var(--primary-navy);
}
a:hover {
  color: var(--primary-navy);
}
/* Heandings */
.big_heading {
  font-weight: 900;
  font-size: 3.5rem;
}

.page_heading {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

.section_heading {
  font-size: 3rem;  
  font-weight: 500;
  padding:2rem 0;
  line-height: 1.5;
}

.nav_flow {
  background-color: var(--primary-pale);
  padding-left: 0;
}

.nav_flow a {
  color: var(--primary-navy);
}

.web_link {
  color: var(--primary-navy);
}

.web_link:hover {
  color: var(--primary-navy);
  text-decoration: underline;
}

/* Containers */
.container-fluid {
  padding: 3% 15%;
  margin: 0;
}

@media (max-width: 600px) {
  .container-fluid {
    padding: 3% 5%;
    margin: 0;
  }
}

#container_gruppo {
  padding-top: 0;
}

/* Sections */
.page_title {
  text-align: left;
}

.page_title .container-fluid {
  padding: 1% 15%;
  margin: 0;
}

@media (max-width: 600px) {
  .page_title .container-fluid {
    padding: 1% 5%;
    margin: 0;
  }
}

.colored_section {
  background-color: var(--primary-navy);
  color: white;
}

.medium_colored_section{
  background-color: var(--primary-glow);
}

.light_colored_section {
  background-color: var(--primary-pale);
}

.white_section {
  background-color: white;
}

.left_section {
  text-align: left;
}

.right_section {
  text-align: right;
}

.navbar{
  padding: 0.5rem 0 0 0;
}

.nav-item {
  padding: 0 1% 0 0;
}


.navbar-brand {
  font-family: 'Ubuntu', sans-serif;
  font-size: 2.5rem;
  font-weight: bold;
  margin-right: 0.1rem;
  margin-left: 0.1rem;
  margin-bottom: 3px;
}

#nav_div {
  margin: 0 0 0 0;
  color: var(--primary-glow);
}

#navbarSupportedContentLeft{
  width: 15%;
  border-bottom: var(--primary-navy) solid 5px;
  padding: 0;
}
#aLeft{
  color: white;
}
#navbarSupportedContent {
  border-bottom: var(--primary-navy) solid 5px;
}

.nav_icon {
  position: absolute;
  padding-top: 0.5rem;
  opacity: 0.5;
}

.nav_info .nav-item {
  padding: 1rem 0 0 0;
}

.nav_info .nav-link {
  font-size: 1rem;
  margin: 0 1rem;
  /*font-weight: lighter;*/
}

@media (max-width: 362px) {
  .navbar-brand img {
    height: 50px !important;
  }

  .navbar-brand {
    padding-top: 0;
    margin: 0;
  }
}

@media (max-width: 307px) {
  .navbar-toggler {
    margin-left: auto !important;
  }
}

/* Language Section */
@media (max-width: 1200px) {
  #languagemobile {
    visibility: visible;
  }

  #language {
    display: none !important;
    min-width: 0;
    padding-bottom: 0%;
    border-bottom: var(--primary-navy) solid 5px;
  }
  #navbarSupportedContentLeft{
    display: none;
  }
}

@media (min-width: 1200px) {
  #languagemobile {
    display: none !important;
    min-width: 0;
  }

  #language {
    visibility: visible;
    padding: 0%;
    margin-bottom: 0%;
    margin-left: 0 !important;
    border-bottom: var(--primary-navy) solid 5px;
    width: 20%;
  }
  #navbarSupportedContentLeft{
    visibility: visible;
  }
}

.navlang {
  padding-right: 1%;
  min-width: 65px;
}

.navlang .navbar-nav {
  flex-direction: row !important;
  
}

.navlang p {
  height: 1rem;
}

.navlang .nav-item {
  padding: 0 0 0 2px;
}

.navbar_motto p {
  margin-bottom: 0;
  text-align: left;
  padding-left: 10%;
}
/* Title Section */
.title .container-fluid {
  padding: 0% 0%;
  text-align: center;
  align-items: center;
}

@media (max-width: 1200px) {
  .title .container-fluid {
    padding: 1% 5%;
    margin: 0;
  }
}

/* Presentazione Section */
.bgvid {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#video-desktop{
  display: block;
}

#video-mobile{
  display: none;
}

#slider_present {
  padding: 0 0;
  margin-bottom: 2%;
}

.carousel-caption-nuovasede {
  background-color: white;
  filter: opacity(0.8);
  width: 30%;
  position: absolute;
  float: right;
  left: 15%;
  top: 0;
  bottom: unset;
  padding-top: 1%;
  text-align: left;
}

 /*.carousel .item {
  min-height: 465px; 
  min-height: 900px;
}
@media (max-width: 1024px) {
  .carousel .item {
    min-height: 700px;
  }
}*/

@media (max-width: 600px) {
 /*  .carousel .item {
    min-height: 600px;
  }
 */
  #video-desktop{
    display: none;
  }
  
  #video-mobile{
    display: block;
  }
}

.carousel h1, .carousel p {
  color: white;
  font-weight: normal;
  margin: 0 8%;
}

.carousel h1 {
  font-size: 4.5rem;
  line-height: 1.1;
}

@media (max-width: 1200px) {
  .carousel h1 {
    font-size: 3rem;
    margin: 0 1%;
  }

  .carousel p {
    font-size: 1rem;
    margin: 0 1%;
  }
}

.carousel p {
  font-size: 1.5rem;
}

@media (max-width: 605px) {
  .carousel h1 {
    font-size: 3rem;
    margin: 0 1%;
  }

  .carousel p {
    font-size: 1rem;
    margin: 0 1%;
  }

  .carousel-caption {
    width: 100%;
    left: 0;
  }
}

.carousel-caption {
  width: 100%;
  left: 0; bottom: 0;
  padding-bottom: 0;
}

#claim p{
  font-size: 1.5rem;
}


.pixelgrid {
  min-height: 100%;
  min-width: 100%;
  width: auto;
  height: auto;
  display: block;
  z-index: 1;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAMAAABh9kWNAAAABlBMVEX///8AAABVwtN+AAAAAXRSTlMAQObYZgAAAAxJREFUCNdjYGSAAwAAFwACoSOx2gAAAABJRU5ErkJggg==);
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  opacity: 0.8;
}

.presentation_text h5, .presentation_text p {
  margin-bottom: 0;
  margin-top: 0;
  color: black;
  margin: 0 8%;
  font-weight: normal;
}

.presentation_text h5 {
  font-size: 1.5rem;
}

.presentation_text hr {
  margin: 0 70% 3% 8%;
  color: var(--primary-navy);
  border-top: solid 2px;
}

.presentation_text a {
  margin: 3% 8%;
}

.button-style {
  background-color: var(--primary-navy);
  color: var(--primary-glow) !important;
  margin-top: 1rem;
}

.button-style:hover {
  background-color: var(--primary-glow);
  border-color: var(--primary-navy) ;
  color: black !important;
}
.button-style-light{
  background-color: var(--primary-glow);
  border-color: var(--primary-glow) ;
  margin-top: 1rem;

}
.button-style-light:hover {
  border-color: var(--primary-navy) ;
}
/* mission*/
#mission {
  text-align: center;
}

#mission .section_heading{
  padding: 0;
}

.mission_item_descr {
  line-height: 1.5;
  padding: 0 20%;
  font-size: 1.125rem;
}

.mission_line{
  border-top: var(--primary-navy) solid 5px;
  padding-bottom: 1.5%;
}

#mission .container-fluid{
  padding-bottom: 2%; 
  padding-top: 1.5%;
}

@media (max-width: 1200px) {
  .mission_item_descr {
    padding: 0 0;
  }
}

/* Soluzioni Section */

 #soluzioni {
  display: flex;
  justify-content: center;
  position: relative;
  padding-left: 15%; padding-right: 15%;
}
#soluzioni .row{
  grid-template-columns: 1fr 1fr 1fr;
  height: 30.5vw;
}


#soluzioni .col-lg-4, #soluzioni .col-md-6{
  justify-items: center;
  height: 15vw;
  padding: 0;
  }

#soluzioni a {
width: 96%;
}

#soluzioni a:hover {
  text-decoration: none;
}
.soluzioni_inner{
  height: 100%;
}


#img_guarnizioni{
  margin: 30% 0 0 5%;
  height: auto;
  width: 90%;
  max-width: 100%;

}

#img_farmaceutico{
  margin: 15% 0 0 30%;
  height: 80%;
  width: auto;
  max-width: 60%;

}

#img_automotive{
  margin-top: 25%;
  height: auto;
  max-width: 100%;
  width: 90%;
}

#img_robot {
  margin-top: 25%;
  height: 75%;
  width: auto;
  max-width: 100%;
}


#img_ispezione{
  margin-top: 20%; 
  margin-left: 20%;
  height: 75%;
  width: auto;
  max-width: 100%;

}

#img_misura{
  margin-top: 10%;
  margin-left: 34%;
  height: auto;
  width: 70%;
  max-width: 100%;
}

.soluzioni_item {
  position: absolute;
  top:0; left: 5%; width: 100%;
  display: flex;
  justify-content: center;
  cursor: pointer;
  aspect-ratio: 1;
  max-width: 15vw; 
  padding: 3%;
  /* background: var(--primary-glow); */
  background: var(--primary-pale);
  box-shadow: 2px 2px 4px 0 #8b91af;
  transition: all .35s ease;
  
  &::before, &::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    background: var(--primary-navy);
    height: 4px;
  }
  
  &::before {
    width: 0;
    opacity: 0;
    transition: opacity 0 ease, width 0 ease;
    transition-delay: .35s;
  }
  
  &::after {
    width: 100%;
    background: var(--primary-pale);
    transition: width .35s ease;
  }
    
  .soluzioni_image{
    transition: all .35s ease;
    width: 100%;
    height: 100%;
  }

  .soluzioni_image img{
    opacity: 0.7;
  }

  .soluzioni_image i{
    color: var(--primary-navy); 
    position: absolute;
    height: 40px;
    bottom: 0; left:40%;
    z-index: 1;
    opacity: 0.7;

    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
    -moz-transform: translate(0px, 0px);
    -o-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
  
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  
 
  h2, h4 {
    text-transform: uppercase;
    margin: 4% 20% 0 0;
    color:var(--primary-navy) white;
    font-weight: 800;
    /* border-bottom: #fff solid 1px; */
    line-height: 1.1;
    text-align: left;
    position: absolute; 
    z-index:1;
    font-size: 1.5vw;

  }
  
  .soluzioni_text {
    overflow: hidden;
    max-height: 0;
    /* transform: translateY(1em);
    transition: all .15s ease; */
    padding: 1% 1%;
    text-align: left;
    position: absolute;
    bottom: 5%;
    left :0;
    max-width: 100%;


    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
    -moz-transform: translate(0px, 0px);
    -o-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
  
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    
    p {
      color: black;
      line-height: 1.1;
      max-width: 100%;
      padding: 0 4%;
      /* font-size: 2vw; */
      font-size: 1.125rem;
    }


  }

  @media (min-width: 1200px) {
    .soluzioni_text p {
      font-size: 1.4vw;
    }
    .soluzioni_inner h2, .soluzioni_inner h4 {
      font-size: 1.3vw;
    }
    #row-sol-2{
      top: calc(20% + 350px);
    }

  }

  @media (max-width: 991px) {
    .soluzioni_text p {
      font-size: 3vw;
    }
    .soluzioni_inner h2, .soluzioni_inner h4 {
      font-size: 2.1vw;
    }
  }

  @media (max-width: 767px) {
    .soluzioni_text p {
      font-size: 6vw;
    }
    .soluzioni_inner h2, .soluzioni_inner h4 {
      font-size: 7vw;
    }
  }

  @media (max-width: 600px) {
    .soluzioni_text p {
      font-size: 7vw;
    }
    .soluzioni_inner h2, .soluzioni_inner h4 {
      font-size: 8vw;
    }
  }

  &:hover {
    box-shadow: 0 10px 20px 0 rgba(#202024, .12);
    aspect-ratio: 0.5;
    z-index:100;
    max-height: 40vw;

    &::before {
      width: 100%;
      opacity: 1;
      transition: opacity .35s ease, width .35s ease;
      transition-delay: 0;
      
    }
    
    &::after {
      width: 0;
      opacity: 0;
      transition: width .35 ease;
    }
    
    .soluzioni_text {
      max-height: 44em;
      /* transform: none; */
      transform: translateY(-1em);
      transition: all .15s ease;
      opacity: 1;
      z-index: 1;
    }

    .soluzioni_image img{
      margin: 25% 0 !important;
      padding: 0 !important;

      opacity: 0.2;
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -o-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      -ms-transition: all 0.2s ease;
      transition: all 0.2s ease;
      
      height: 80%;
      width: auto;
      max-width: 60%;

    }

    .soluzioni_image i{
      opacity: 0.2;
    }
  }
}

#row-2:hover{ top: calc(-15vw); }

@media (max-width: 1200px){
  #soluzioni .row{
    height: 42vw;
  }
    
  #soluzioni .col-lg-4, #soluzioni .col-md-6{
    height: 20vw;
    width: 20vw;
  }

  .soluzioni_item{
    max-width: 20vw;
  }

  #soluzioni{
    padding: 0 5%;
  }

  #row-2:hover{ top: calc(-20vw); }
}


@media(max-width:991px){
  .soluzioni_item {
    position: relative;
    margin: auto;
    max-width: 80%;
    left: 0;
  }
  #soluzioni .row{
    height: auto;
  }
  #soluzioni .col-md-6{
    height: auto;
    width: auto;
    margin-bottom: 2%;
  }
}

@media(max-width:767px){
  .soluzioni_item {
    left: 0;
  }

  #soluzioni .col-lg-4, #soluzioni .col-md-6{
    height: auto;
    width: 100%;
    margin-bottom: 2%;
  }

  .soluzioni_item:hover{
    transform: none;
    height: 100%;
    aspect-ratio: 1 ;
    max-height: 100%;
    .soluzioni_image img{transform: none;}
    .soluzioni_text {transform: none; display: none;}
  }
}

/*System*/
#system {
  text-align: center;
  position: relative;
}

#system .section_heading {
  margin: 0;
}

@media (max-width: 955px) {
  #system .section_heading {
    font-size: 2.25rem;   
  }
}
#system p {
  color: var(--primary-navy);
  margin-top: 0;
  padding: 0 5%;
  font-size: 1.125rem;
  line-height: 1.1;
}

.system_line{
  border-top: var(--primary-navy) solid 5px;
  position: absolute;
  margin: 0 15%;
  width: 70%;
}

#i1{ top:17%; }
#i2{ top:29%; }
#i3{ top: 40%; }
#i4{ top: 51.4%; }
#i5{ top: 62.6%; }
#i6{ top: 74%; }
#i7{ top: 85.2%; }
#i8{ top: 96.6%; }

@media (min-width: 768px){
  #i1{ top:29%; }
  #i2{ top:50%; }
  #i3{ display: flex;  top:72%; }
  #i4{ display: flex;  top:93%; }
  #i5, #i6, #i7, #i8{ display: none; }
}


@media (min-width: 991px){
  #i1{ top:38%; }
  #i2{ top:64%; }
  #i3{ display: flex; top:90%; }
  #i4, #i5, #i6, #i7, #i8{ display: none; }
}

@media (min-width: 1199px) {
 #i1{top:52%;}
 #i2{ top:85%;  }
 #i3, #i4, #i5, #i6, #i7, #i8{ display: none; }
}

@media (min-width: 1286px) {
  #i1{top:52%;}
  #i2{ top:87%;  }
  #i3, #i4, #i5, #i6, #i7, #i8{ display: none; }
 }


#system .card {
  border-radius: 50%;
  border-color: var(--primary-glow);
  background: var(--primary-glow);
  transition: .3s transform cubic-bezier(.155, 1.105, .295, 1.12), .3s box-shadow, .3s -webkit-transform cubic-bezier(.155, 1.105, .295, 1.12);
  cursor: pointer;
  padding: 0;
  color: #8f8f8f;
  aspect-ratio: 1;
  box-shadow: 0 0 2px 0 var(--primary-glow);
  align-items: center;
  height: 100%;

}

@media (max-width: 1285px) {
  #system .card {
    margin: 0 auto;
    display: block;
    max-width: 244px;
  }
}

#system .card:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .06);
  color: var(--primary-navy);
}

#system a:hover {
  text-decoration: none;
}

.card-title {
  color: var(--primary-navy);;
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0;
  line-height: 1.8;

}
@media (min-width: 1285px) {
  #system .card-title {
    font-size: 1.3rem;   
    line-height: 2;

  }

}
@media (min-width: 1250px) {
  #system p{
    font-size: 1rem;    
  }
}

@media (min-width: 1600px) {
  #system p{
    padding-top: 2%;
    font-size: 1.2rem;    
  }
}

.system_img {
  margin-top: 2.5rem;
}

.system_item {
  padding-bottom: 1rem;
  margin: auto;
}

.system_icon {
  margin: 13% 0 5% 0;
  max-height: 2.5rem;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.card:hover .system_icon {
  color: var(--primary-navy);
  transform: scale(1.5);
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -o-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.card:hover .card-title {
  color: var(--primary-navy);
  font-weight: 600;
}

/* ZeroD Section */
#zerod p{
  font-size: 1.125rem;
  margin-bottom: 1rem ;
}


.counter-box {
    display: block;
    margin: 0 5%;
    padding: 40px 5px;
    text-align: center ;
    background: var(--primary-glow);
    border-radius: 1rem;
    box-shadow: 0 0 3px 0 var(--primary-glow);

}

.counter-box p {
    margin: 5px 0 0;
    padding: 0;
    
}

.zerod-img {
  margin: 2% 0;
  height: 3rem ;
  width: 3rem  ;
}

.zerod_item img{
  height: 400px;
  width: 100%;
}


.counter {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--primary-navy);
    line-height: 28px ;
    margin: auto 1% ;
}

.zerod_item {
  margin: 0 0;
  align-items: center;
}

.zerod_item_c{
  background-color: #EBEEF6;
  border-top: var(--primary-navy) solid 5px;
  margin: 10% 0;
  padding: 1% 0;
  align-items: center;
}

.zerod_item_c h3{
  text-align: center;
  line-height: 1.7rem;
  margin-bottom: 2%;
}

.zerod_item1{
  padding: 0;
  margin-bottom: 20%;
}

.zerod_button{
  background-color: #EBEEF6;
  border-top: #EBEEF6 solid 5px;
  margin: 1% 1%;
  padding: 5% 0;
  align-items: center;
  min-height: 80px;
  transition: all .35s ease;

}

.zerod_button:hover {
    border-top: var(--primary-navy) solid 5px;
}


.zerod_button h3{
  line-height: 1.3rem;
  font-size: 1.3rem;
  text-align: left;
  margin-bottom: 0;
  padding: 0 ;
}

.zerod_button img{
  padding: 0 4%;
  height: 3rem ;
  width: 3rem  ;
}

#zerod_page a:hover{
  text-decoration: none;
}

.zerod-text-1{
  background: #EBEEF6;
  border-radius: 1.5rem;
  border-color: #EBEEF6;
  position: absolute;
  top: 0; left:1.5rem;
  height: calc(100% +  1.5rem); width: calc(100% - 1.5rem);  
}

.zerod-text-2{
  background: #EBEEF6;
  border-radius: 1.5rem;
  border-color: #EBEEF6;
  position: absolute;
  top: 1.5rem; left:0;
  width: calc(100% - 1.5rem);  
  height: calc(100% +  1.5rem);
}

.zerod_text{
  background: var(--primary-glow);
  position: relative;
  top: 1.5rem; left:1.5rem;
  height:100% ; width: calc(100% - 3rem);
  border-top-right-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
}

.zerod_text p {
  margin: 0;
  width: 100%;
  padding: 5%;
  text-align: justify;
  font-size: 1rem;
  line-height: 1.1rem;
}

.zerod_box{
  padding: 0;
  margin: 1% auto;
}


@media (min-width: 768px){
  .zerod_item img {height: 300px;}
  .zerod_text p {padding: 7%; height: auto; }
  .zerod-text-1{
  position: absolute;
  top: 0; left:1.5rem;
  height: 90%; width: 90%;  
}

.zerod-text-2{
  position: absolute;
  top: 1.5rem; left:0;
  width: 90%;
  height: 90%;
}

.zerod_text{
  position: absolute;
  top: 1.5rem; left:1.5rem;
  height: calc(90% - 1.5rem); width: calc(90% - 1.5rem);
  border-top-right-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
}
.zerod_item1{margin-bottom: 0;}
}

@media (min-width: 992px){
  .zerod_text p {padding: 6%; line-height: 1.1rem; }
  .zerod_item img{height: 100%;}
  .counter-box {margin:0;}
  .zerod-approfondimenti .counter-box{margin: 0 5%;}
  .zerod-img {margin: 10% 0; }
  .zerod_item_c h3{ text-align: left; margin-bottom: 0;}
  .zerod_item_c{margin: 5% 0;}
}

@media (min-width: 1200px) {
  .zerod_text p {padding: 4%; font-size: 1rem; line-height: 1.5rem;}
  .zerod_item img{height: 100%;}
  

}

@media (min-width: 1286px) {
  .zerod_text p {padding: 8%; font-size: 1.15rem; line-height: 1.5rem;}
  .zerod_item img{height: 100%;}
  .counter-box { padding: 40px 20px ; margin:0;}

 }

 @media (min-width: 1450px) {
  .zerod_text p {padding: 10%; font-size: 1.15rem; line-height: 1.6rem; }
  .zerod_item{max-height: 400px;}
  .zerod_item img{height: 100%;}
  .zerod_box{padding: 10px;}
  .zerod-text-1{
    position: absolute;
    top: 0; left:1.5rem;
    height: 80%; width: 80%;  
  }
  
  .zerod-text-2{
    position: absolute;
    top: 1.5rem; left:0;
    width: 80%;
    height: 80%;
  }
  
  .zerod_text{
    position: absolute;
    top: 1.5rem; left:1.5rem;
    height: calc(80% - 1.5rem);; width: calc(80% - 1.5rem);
    border-top-right-radius: 1.5rem;
    border-bottom-left-radius: 1.5rem;
    align-items: center;
  }
 }

 @media (min-width: 1800px) {
  .zerod_text p {padding: 8%; font-size: 1.125rem; line-height: 1.8rem; }
 }

.zerod_col p{
  text-align: justify;
  margin-bottom: 0 ;
  margin-right: 5%;
  font-size: 1.2rem;
}

.zerod_item h3 {
  line-height: 2.1rem;
}

.counter_value{
  font-style: italic;
}

#btn_top{
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 1105;
}

@media (max-width: 955px) {
  #zerod_page .section_heading {
    font-size: 2.25rem;   
  }
}

/* Sectors Page*/
.p-sectors{
  text-align: justify;
  padding: 5% 5% 8% 5%;
  min-height: 250px;
}

#sectors_title .container-fluid{
  padding-top: 0 ; padding-bottom: 0;
}

#sectors_description .container-fluid{
  align-items: center;
}

#sectors_description a{
  text-transform: uppercase;
}

#sectors_description .right_section{
  margin-top: 26px;
  background-color: var(--primary-glow);
  height: 80%;
  padding-right: 5%;
  border-top-right-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem;

}

#sectors_description h3{
  border-bottom: var(--primary-navy) solid 5px;
  height: 52px !important ;
  margin-bottom: 0;

}

#sectors_description img{
  padding: 0 0;
}

.sectors-card{
  border-radius: 50%;
  border: var(--primary-navy) solid 5px;
  width: 25%;
  aspect-ratio: 1;
  align-content: center;
  position: absolute;
  background-color: white;
  z-index: 1;
  margin-left: 5%;

  display: flex;
  flex-direction: column;
}

.sectors-card img{ height: 50%; margin: auto;}

.sectors-img-mobile{
  display: none;
}

.sectors-3d{
  margin: 0 auto;
}

@media (max-width: 1500px) {
  .sectors-card{
    width: 30%;
    margin-left: 0;
  }

  .sectors-card img{ height: 50%;}
  .p-sectors{min-height: 50%;}
}

@media (max-width: 1150px) {
  .sectors-card{
    width: 30%;
    margin-left: 0;
  }
  .p-sectors{min-height: 50%;}

  #sectors_description h3{ font-size: 1.3rem;}
}

@media (max-width: 767px) {
  .sectors-card{
    position: relative;
    width: 300px;
    margin: auto;
  }

    .sectors-img-mobile{
    display: flex;
    position: absolute;
    border-left: var(--primary-navy) solid 5px;
    border-bottom: var(--primary-navy) solid 5px;
    border-top: var(--primary-navy) solid 5px;
    border-top-left-radius: 1.5rem;
    width: 11lh;
    height: 228px;
    margin-top: 150px;
  }

  #sectors_description{
    text-align: center;
  }

  #sectors_description .right_section{
    text-align: center;
  }

  #sectors_description .col-lg-8{
    text-align: center;
  }


  .div-sectors{
    border-left: var(--primary-navy) solid 5px;
    border-bottom: var(--primary-navy) solid 5px;
    border-bottom-left-radius: 1.5rem;

  }
  .h3-sectors{
    padding-left: 5px;
    padding-right: 0;
  }
  #sectors_description img{
    padding: 5% 0;
  }  
}

model-viewer{
  height: 300px;
  width: 300px;
  align-items: center;
  display: flex

}

.sectors_item_l{
  text-align: justify;
  width: 100%;
}

.sectors_svg{
  position: absolute;
  left: 15%;
  height: 300px;
  width: 35%;
  
}

.sectors_item_c{
  text-align: center  !important ;
}

.btn-solutions{
  margin-top: 1%;
  width: 200px;
}

#img_misura_s{height: 70%  !important;}

.sectors_item_c video{
  padding: 3% 0;
}

@media (max-width: 1000px) {
  .sectors_item_c video{
    width: 80%;
  }  
}

/* Fotometria */
.photo_subheading{
  font-family: 'Avenir Next', sans-serif;
  font-weight: 500;
  line-height: 1.5;
  font-size: 1.3rem;
  color: var(--primary-navy);
  text-align: left;
}

.photo_card{
  font-family: 'Avenir Next', sans-serif;
  font-weight: bold;
  line-height: 2.5;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--primary-navy);
  text-align: left;
}

.photo_text{
  background: var(--primary-glow);
  /*position: relative;
  top: 1.5rem; left:1.5rem;*/
  padding-top: 0; padding-bottom: 0;
  width: 250px;

}

.photo_text2{
  padding-top: 0; padding-bottom: 0;
  width: 250px;
}

.photo_text p, .photo_text2 p, .photo_text_bot p{
  width: 250px;
}

.photo_text_top2{
  padding-top: 1rem; 
  text-align: left;
}

.photo_text_top{
  background: var(--primary-glow);
  /*position: relative;
  top: 1.5rem; left:1.5rem;*/
  padding-top: 1rem; padding-bottom: 0;
  border-top-right-radius: 1.5rem;
  
}

.photo_text_bot{
  background: var(--primary-glow);
  /*position: relative;
  top: 1.5rem; left:1.5rem;*/
  padding-top: 0; padding-bottom: 0;
  border-bottom-left-radius: 1.5rem;
  width: 250px;
}

.photo_icon{
  max-height: 20rem;
}

@media (min-width: 1200px) {
#photo_vantaggi {
  padding: 3% 25%;
}
}

.photo_row p{
  text-align: left;
}

.photo-img {
 /* margin: 1% 0;*/
  height: 1.5rem ;
  width: 1.5rem  ;
}

.photo_description{
  text-align: left ;
}

.modal-body{
  text-align: left;
}

/* =========================================================
    2. BASE + ACCESSIBILITÀ
    ========================================================= */
html{scroll-behavior:smooth;}

/* Skip link: primo elemento focusabile della pagina */
.mira-skip{
  position:absolute;
  left:1rem; top:-100%;
  z-index:2000;
  background:var(--primary-navy);
  color:#fff;
  padding:.75rem 1.25rem;
  border-radius:0 0 var(--mira-r-sm) var(--mira-r-sm);
  font-weight:700;
  text-decoration:none;
}
.mira-skip:focus{top:0;color:#fff;text-decoration:none;}

.mira-page a:focus-visible,
.mira-page button:focus-visible,
.mira-page input:focus-visible,
.mira-page select:focus-visible,
.mira-page [tabindex]:focus-visible,
.mira-skip:focus-visible,
#btn_top:focus-visible{
  outline:3px solid var(--primary-navy);
  outline-offset:2px;
  box-shadow:0 0 0 6px rgba(214,222,238,.45);
  border-radius:var(--mira-r-sm);
}
.colored_section a:focus-visible,
.colored_section button:focus-visible,
.mira-final-cta a:focus-visible{
  outline:3px solid #fff;
  box-shadow:0 0 0 6px rgba(214,222,238,.6);
}
/* Fallback per browser senza :focus-visible */
.mira-page a:focus, .mira-page button:focus{outline:3px solid var(--primary-navy);outline-offset:2px;}
.mira-page a:focus:not(:focus-visible), .mira-page button:focus:not(:focus-visible){outline:none;box-shadow:none;}

/* Le ancore non finiscono sotto la sub-nav sticky */
.mira-page [id]{scroll-margin-top:5.5rem;}

/* Area di tocco minima 44x44 (WCAG 2.5.5) per link e bottoni interattivi */
.mira-cta-row .btn,
.mira-subnav a,
.mira-acc-btn{min-height:44px;}

.mira-eyebrow{
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
  margin:0 0 .85rem 0;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.mira-center .mira-eyebrow{justify-content:center;}
.mira-eyebrow::before{
  content:"";
  width:1.75rem;height:2px;
  background:linear-gradient(90deg,var(--primary-glow),var(--primary-navy));
  flex:0 0 auto;
  border-radius:2px;
}

.mira-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 460px at 78% 8%, rgba(214,222,238,.14), transparent 62%),
    radial-gradient(760px 520px at 8% 92%, rgba(51,61,105,.10), transparent 60%),
    #fff;
}


.mira-hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(51,61,105,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(51,61,105,.055) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 100%);
  mask-image:radial-gradient(70% 60% at 50% 40%, #000 0%, transparent 100%);
  pointer-events:none;
}
.mira-hero > .container-fluid{
  position:relative;
  z-index:1;
  padding-top:clamp(2.75rem,5vw,4.5rem);
  padding-bottom:clamp(2.75rem,5vw,4.5rem);
}
.mira-h1{
  font-size:clamp(2.5rem, 6vw, 4rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.03em;
  color:var(--primary-navy-deep);
  margin:0;
  text-align: left;
}
.mira-hero-badges{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 1.5rem 0;
  padding:0;
}
.mira-hero-copy{text-align:justify;}
.mira-hero-badges li{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:#fff;
  border:1px solid var(--primary-line-strong);
  color:var(--primary-ink-soft);
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.35rem .8rem;
  border-radius:var(--mira-r-pill);
}
.mira-hero-badges li::before{
  content:"";
  width:.45rem;height:.45rem;
  border-radius:50%;
  background:var(--primary-glow);
  flex:0 0 auto;
}
.mira-hero-specs{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  padding:1.5rem 0 0 0;
  margin:0 0 2rem 0;
  border-top:1px solid var(--primary-line-strong);
}
.mira-hero-specs li{
  display:flex;
  flex-direction:column;
  font-size:.875rem;
  line-height:1.4;
  color:var(--primary-muted);
  text-align: left;
}
.mira-hero-specs li span{
  font-size:clamp(1.25rem,2.2vw,1.625rem);
  font-weight:800;
  color:var(--primary-navy-deep);
  line-height:1.15;
  letter-spacing:-.02em;
  margin-bottom:.25rem;
}
.img-mob{
  padding-bottom: 2%;
}
.mira-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}
.mira-cta-row .btn{
  margin-top:0;
  padding:.8rem 1.75rem;
  font-weight:700;
  font-size:1rem;
  border-radius:var(--mira-r-sm);
  transition:transform .2s var(--mira-ease), box-shadow .2s var(--mira-ease), background-color .2s var(--mira-ease);
}
.mira-page .btn.button-style{
  background:var(--primary-navy);
  border-color:var(--primary-navy);
  color:#fff !important;
  box-shadow:0 6px 18px rgba(var(--primary-shadow)/.22);
}
.mira-page .btn.button-style:hover{
  background:var(--primary-navy-deep);
  border-color:var(--primary-navy-deep);
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(var(--primary-shadow)/.30);
}

.mira-hero-media{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.mira-hero-media::after{
  content:"";
  position:absolute;
  inset:auto 8% -8% 8%;
  height:36%;
  background:radial-gradient(60% 100% at 50% 0%, rgba(214,222,238,.32), transparent 70%);
  filter:blur(26px);
  z-index:0;
  pointer-events:none;
}
.mira-hero-media img{
  position:relative;
  z-index:1;
  width:100%;
  max-width:600px;
  height:auto;
  border-radius:var(--mira-r-lg);
}

.mira-subnav{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--primary-line);
}
.mira-subnav .container-fluid{padding-top:0;padding-bottom:0;}
.mira-subnav ul{
  list-style:none;
  display:flex;
  gap:.25rem;
  margin:0;padding:0;
  overflow-x:auto;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
  justify-content: center;
}
.mira-subnav li{flex:0 0 auto;}
.mira-subnav a{
  display:flex;
  align-items:center;
  padding:.85rem 1rem;
  font-size:.9375rem;
  font-weight:600;
  color:var(--primary-ink-soft);
  white-space:nowrap;
  text-decoration:none;
  border-bottom:3px solid transparent;
  transition:color .2s var(--mira-ease), border-color .2s var(--mira-ease);
}

.mira-subnav a:hover{color:var(--primary-navy-deep);border-bottom-color:var(--primary-line-strong);text-decoration:none;}
.mira-subnav a[aria-current]{color:var(--primary-navy-deep);border-bottom-color:var(--primary-glow);}
.mira-required{color:var(--primary-ko);font-weight:700;}
.mira-form-hint{font-size:.875rem;margin-bottom:1rem;}
.modal-body label{
  font-size:.875rem;
  font-weight:700;
  color:var(--primary-navy-deep);
  margin-bottom:.3rem;
}
.mira-section .container-fluid{
  padding-top:var(--mira-space-section);
  padding-bottom:var(--mira-space-section);
}

.mira-section-head{
  max-width:46.5rem;
  margin:0 0 clamp(2.25rem,4vw,3.25rem) 0;
  text-align:left;
}
.mira-section-head.mira-center{margin-left:auto;margin-right:auto;text-align:center;}
.mira-h2{
  font-size:clamp(1.75rem, 3.6vw, 2.5rem);
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.02em;
  color:var(--primary-navy-deep);
  margin:0 0 1rem 0;
}
.mira-rule{
  width:72px;
  height:4px;
  background:linear-gradient(90deg,var(--primary-navy) 0%,var(--primary-navy) 45%,var(--primary-glow) 100%);
  border:0;
  border-radius:4px;
  margin:0 0 1.5rem 0;
  opacity:1;
}
.mira-center .mira-rule{margin-left:auto;margin-right:auto;}
.mira-pain-col{margin-bottom:1.75rem;display:flex;}
.mira-pain-card{
  position:relative;
  background:#fff;
  border:1px solid var(--primary-line);
  border-radius:var(--mira-r-lg);
  padding:2rem 1.75rem;
  text-align:left;
  width:100%;
  overflow:hidden;
  transition:transform .3s var(--mira-ease), box-shadow .3s var(--mira-ease), border-color .3s var(--mira-ease);
}
.mira-pain-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--primary-navy),var(--primary-glow));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s var(--mira-ease);
}
.mira-pain-card:hover{
  border-color:var(--primary-line-strong);
  box-shadow:0 16px 34px rgba(var(--mira-shadow)/.14);
  transform:translateY(-4px);
}
.mira-pain-card:hover::before{transform:scaleX(1);}

.mira-icon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.25rem;height:3.25rem;
  border-radius:var(--mira-r-md);
  background:linear-gradient(145deg,var(--primary-pale),var(--primary-glow));
  border:1px solid var(--primary-line);
  margin-bottom:1.25rem;
}
.mira-pain-icon{height:1.75rem;width:1.75rem;}

.mira-pain-title{
  font-size:1.1875rem;
  font-weight:700;
  color:var(--primary-navy-deep);
  margin:0 0 .9rem 0;
  line-height:1.35;
}
.mira-pain-problem{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--primary-muted);
  margin:0 0 1.1rem 0;
  padding-bottom:1.1rem;
  border-bottom:1px dashed var(--primary-line-strong);
}
.mira-pain-solution{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--primary-navy-deep);
  margin:0;
  font-weight:500;
}
.mira-tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.6875rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:.5rem;
}
.mira-tag::before{
  content:"";
  width:.5rem;height:.5rem;
  border-radius:50%;
  background:currentColor;
  flex:0 0 auto;
}
.mira-tag-ko{color:var(--primary-ko);}
.mira-tag-ok{color:var(--primary-ok);}

/* =========================================================
  8. COME FUNZIONA — 3 step
  ========================================================= */
.mira-steps{position:relative;}
.mira-step-col{margin-bottom:2rem;text-align:center;position:relative;}
.mira-step-num{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3rem;height:3rem;
  border-radius:50%;
  background:var(--primary-navy);
  color:#fff;
  font-weight:800;
  font-size:1.125rem;
  margin-bottom:1.25rem;
  box-shadow:0 0 0 6px rgba(var(--mira-shadow)/.08);
  z-index: 1;
}
/* Linea di collegamento tra gli step (solo desktop, decorativa) */
@media (min-width:768px){
  .mira-step-col:not(:last-child)::after{
    content:"";
    position:absolute;
    top:1.5rem;
    left:55%;
    right:0rem;
    height:2px;
    background:repeating-linear-gradient(90deg,var(--primary-line-strong) 0 7px,transparent 7px 14px);
    z-index: 0;
  }
  .mira-step-col:not(:first-child)::before{
    content:"";
    position:absolute;
    top:1.5rem;
    left:0rem;
    right:55%;
    height:2px;
    background:repeating-linear-gradient(90deg,var(--primary-line-strong) 0 7px,transparent 7px 14px);
    z-index: 0;
  }
}
.mira-step-title{
  font-size:1.1875rem;
  font-weight:700;
  color:var(--primary-navy-deep);
  margin:0 0 .6rem 0;
}
.mira-step-col p{
  font-size:.9875rem;
  line-height:1.7;
  color:var(--primary-muted);
  margin:0;  
}
/* =========================================================
  9. ACCORDION (punti di forza + approfondimenti)
  ========================================================= */
.mira-acc{max-width:56rem;margin:0 auto;}
.mira-acc-item{
  background:#fff;
  border:1px solid var(--primary-line);
  border-radius:var(--mira-r-md);
  margin-bottom:.75rem;
  overflow:hidden;
  transition:border-color .25s var(--mira-ease), box-shadow .25s var(--mira-ease);
}
.mira-acc-item:hover{border-color:var(--primary-line-strong);}
.mira-acc-item:has(.collapse.show){
  border-color:var(--primary-navy);
  box-shadow:0 10px 26px rgba(var(--primary-shadow)/.10);
}
.mira-acc-btn{
  display:flex;
  align-items:center;
  gap:1rem;
  width:100%;
  padding:1.125rem 1.35rem;
  background:transparent;
  border:0;
  text-align:left;
  font-size:1.0625rem;
  font-weight:700;
  color:var(--primary-navy-deep);
  cursor:pointer;
}
.mira-acc-btn img{
  height:2rem;width:2rem;
  flex:0 0 auto;
}
.mira-acc-btn .mira-acc-label{flex:1 1 auto;}
.mira-acc-btn .mira-acc-chevron{
  flex:0 0 auto;
  width:1.5rem;height:1.5rem;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--primary-navy);
  transition:transform .3s var(--mira-ease);
}
.mira-acc-btn[aria-expanded="true"] .mira-acc-chevron{transform:rotate(180deg);}
.mira-acc-btn[aria-expanded="true"]{background:var(--primary-pale);}
.mira-acc-panel{
  padding:.25rem 1.35rem 1.5rem 1.35rem;
  text-align:left;
  border-top:1px solid var(--primary-line);
}
.mira-acc-panel p{
  font-size:1rem;
  line-height:1.75;
  color:var(--primary-muted);
  margin:0 0 1rem 0;
  max-width:62ch;
  text-align:left;
}
.mira-acc-panel p:last-child{margin-bottom:0;}
.mira-acc-panel strong, .mira-acc-panel b{color:var(--primary-navy-deep);}
.mira-acc-panel ul{margin:0 0 1rem 0;padding:0;list-style:none;}
.mira-acc-panel ul li{
  position:relative;
  padding:.3rem 0 .3rem 1.5rem;
  font-size:1rem;
  line-height:1.6;
  color:var(--primary-muted);
}
.mira-acc-panel ul li::before{
  content:"";
  position:absolute;
  left:0;top:.95rem;
  width:.5rem;height:.5rem;
  border-radius:50%;
  background:var(--primary-glow);
}
.mira-acc-panel img{
  padding-top: 10%;
}
/* =========================================================
  10. CONFIGURAZIONI
  ========================================================= */
.mira-config .card-deck{align-items:stretch;}
.mira-config .card{
  border:1px solid var(--primary-line);
  border-radius:var(--mira-r-lg);
  overflow:hidden;
  text-align:left;
  box-shadow:0 4px 16px rgba(var(--primary-shadow)/.06) !important;
  transition:transform .3s var(--mira-ease), box-shadow .3s var(--mira-ease);
}
.mira-config .card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(var(--mira-shadow)/.14) !important;
}
.mira-config .card-header{
  background:var(--primary-navy);
  color:#fff;
  font-weight:800;
  letter-spacing:.14em;
  font-size:.9375rem;
  border:0;
  padding:1.1rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.mira-config .card-header h3{
  color:inherit;
}
.mira-config .card.mira-featured{
  border-color:var(--primary-navy);
  border-width:2px;
}
.mira-config .card.mira-featured .card-header{
  background:linear-gradient(120deg,var(--primary-navy-deep),var(--primary-navy) 60%, #48548c 100%);
}

.mira-config .card.mira-custom .card-header{
  background:linear-gradient(120deg,var(--primary-muted),var(--primary-glow) 60%, #48548c 100%);
  
}
.mira-config .card-body{padding:1.75rem 1.5rem;}
.mira-config .card-footer{padding:0 0 1rem 0; background-color: transparent; border-top: 0; text-align: center;}
.mira-config .mira-config-label{
  font-size:.6875rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
  margin:0 0 .6rem 0;
  padding-bottom:.4rem;
  border-bottom:1px solid var(--primary-line);
}
.mira-config ul{margin:0 0 1.5rem 0 !important;padding:0;}
.mira-config ul:last-child{margin-bottom:0 !important;}
.mira-config ul li{
  font-size:.9375rem;
  line-height:1.55;
  color:var(--primary-navy-deep);
  padding:.4rem 0 .4rem 1.4rem;
  position:relative;
}
.mira-config ul li::before{
  content:"";
  position:absolute;
  left:0;top:.85rem;
  width:.45rem;height:.45rem;
  border-radius:50%;
  background:var(--primary-glow);
}
.mira-config .mira-badge{
  display:inline-block;
  background:var(--primary-glow);
  color:var(--primary-navy-deep);
  font-size:.6875rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.2rem .6rem;
  border-radius:var(--mira-r-pill);
  vertical-align:middle;
}
/* =========================================================
  12. TABELLA DI CONFRONTO
  ========================================================= */
.mira-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.6rem;height:1.6rem;
  border-radius:50%;
  font-size:.9rem;
  font-weight:800;
  line-height:1;
  flex:0 0 auto;
}
.mira-mark-ok{background:rgba(31,107,71,.12);color:var(--primary-ok);border:1px solid rgba(31,107,71,.35);}
.mira-mark-ok::before{content:"\2713";}
.mira-mark-ko{background:rgba(160,49,39,.10);color:var(--primary-ko);border:1px solid rgba(160,49,39,.32);}
.mira-mark-ko::before{content:"\2715";}
.mira-mark-na{background:transparent;color:var(--primary-muted);border:1px dashed var(--primary-line-strong);}
.mira-mark-na::before{content:"\2013";}
.mira-cell{display:flex;align-items:center;gap:.65rem;justify-content:center;}
.mira-cell p{flex:1 1 auto;}

.mira-mark-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3.6rem;height:3.6rem;
  border-radius:50%;
  
  flex:0 0 auto;
}
.mira-mark-basic{background:transparent;color:var(--primary-navy);}
.mira-mark-basic::before{content:"\25CC"; font-size:5rem;}
.mira-mark-standard{background:transparent;color:var(--primary-navy);}
.mira-mark-standard::before{content:"\25CB";font-size:5.4rem;}
.mira-mark-full{background:transparent;color:var(--primary-navy);}
.mira-mark-full::before{content:"\25CF"; font-size:5.4rem;}
.mira-mark-custom{background:transparent;color:var(--primary-muted);}
.mira-mark-custom::before{content:"\25CD"; font-size:3.5rem;}
.mira-page .table thead th, .mira-page .table thead p{  
  top:0;
  z-index:2;
  background:var(--primary-line-strong);
  color:var(--primary-navy);
  font-size:.8125rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.85rem .75rem;
  margin: 0;
  border:0 !important;
  text-align:center;
  vertical-align:middle;
  border-color:var(--primary-line) !important;
}

.mira-page .table tbody th[scope="row"]{
  text-align:left;
  font-size:.9375rem;
  color:var(--primary-navy-deep);
  background:var(--primary-pale);
  padding:.75rem;
  font-weight:600;
  vertical-align:middle;
  border-color:var(--primary-line) !important;
}
.mira-page .table tbody td{
  padding:.75rem;
  font-size:.9375rem;
  color:var(--primary-muted);
  text-align:center;
  vertical-align:middle;
  border-color:var(--primary-line) !important;
}
.mira-page .table tbody td p{margin:0;font-size:.9375rem;line-height:1.4;text-align:left;}
.mira-page .table tbody td small{color:var(--primary-muted);}
.mira-table-note{
  font-size:.875rem;
  color:var(--primary-muted);
  margin:.75rem 0 0 0;
  text-align:left;
}

/* =========================================================
  11. APPLICAZIONI
  ========================================================= */
.mira-app-col{margin-bottom:1.5rem;display:flex;}
.mira-app-card{
  background:#fff;
  border:1px solid var(--primary-line);
  border-left:4px solid var(--primary-navy);
  border-radius:var(--mira-r-md);
  padding:1.75rem;
  text-align:left;
  width:100%;
  transition:border-left-color .3s var(--mira-ease), transform .3s var(--mira-ease), box-shadow .3s var(--mira-ease);
}
.mira-app-card:hover{
  border-left-color:var(--primary-glow);
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(var(--primary-shadow)/.12);
}
.mira-app-card h3{
  font-size:1.0625rem;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--primary-navy-deep);
  margin:0 0 .7rem 0;
  line-height:1.35;
}
.mira-app-card p{
  font-size:.9375rem;
  line-height:1.65;
  color:var(--primary-muted);
  margin:0;
}


/* =========================================================
  17. RESPONSIVE
  ========================================================= */
@media (max-width:991px){
  .mira-hero-media{margin-top:2.5rem;}
  .mira-lead{max-width:none;}
  .mira-step-col p{max-width:none;}
  .modal-dialog{ min-width: 85% !important;}
  .img-desk {display: none;}
  .img-mob {display: visible;}
}
@media (min-width:991px){
  .img-desk {display: visible;}
  .img-mob {display: none;}
}
@media (max-width:767px){
  .mira-config .card-deck{display:block;}
  .mira-config .card{margin-bottom:1.25rem;}
  .mira-config .container-fluid {padding: 10% 15% !important;margin: 0;} 
}
@media (max-width:600px){
  .mira-hero-specs{grid-template-columns:1fr;gap:1rem; text-align: center;}
  .mira-hero-badges{justify-content: center;}
  .mira-cta-row .btn{width:100%;}
  .mira-acc-btn{padding:1rem;font-size:1rem;}
  .mira-pain-card{padding:1.5rem 1.25rem;}
  .mira-page [id]{scroll-margin-top:4.5rem;}

}
@media (max-width:1175px){
  .mira-subnav .container-fluid{padding-left: 0; padding-right: 0;}
  .mira-config .container-fluid {padding: 5% 5%;margin: 0;}
}

@media (max-width:900px){
  .mira-subnav{display: none;}
  .mira-config .container-fluid {padding: 5% 2%;margin: 0;}
}
@media (max-width:735px){
  .mira-cell p {display: none;  }
  .mira-page .table thead p{display: none;}
  .mira-page .table thead span{display: visible;}
}
@media(min-width:736px)
{.mira-page .table thead span{display: none;}}

/* =========================================================
  18. PREFERENZE UTENTE / STAMPA / ALTO CONTRASTO
  ========================================================= */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .mira-page *,
  .mira-page *::before,
  .mira-page *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .mira-js .mira-reveal{opacity:1;transform:none;}
  .mira-pain-card:hover,
  .mira-app-card:hover,
  .mira-config .card:hover ,
  .mira-page .btn.button-style:hover,
  .mira-page .btn.button-style-light:hover {transform:none;}
}

@media (forced-colors: active){
  .mira-pain-card,.mira-app-card,.mira-acc-item,.mira-config .card{border:1px solid CanvasText;}
  .mira-mark{border:1px solid CanvasText;forced-color-adjust:none;}
  .mira-rule,.mira-hero::before,.mira-hero-media::after,.mira-final-cta::before{display:none;}
}

@media print{
  .mira-subnav,#btn_top,.mira-cta-row,.mira-hero::before,.mira-hero-media::after{display:none !important;}
  .mira-acc-panel{display:block !important;height:auto !important;}
  .mira-page a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;}
}

/* News */

.news_button{
  background-color: #EBEEF6;
  border-top: #EBEEF6 solid 5px;
  margin: 0%;
  padding: 0%;
  min-height: 50px;
  transition: all .35s ease;
  align-content: center;
  text-align: center;
}

.news_button:hover {
    border-top: var(--primary-navy) solid 5px;
}

.news_button p{
  margin: auto;
}

.news_nav{
  padding: 0%;
}

.news_section{
  text-align: left ;
}

.news_section .row{
  padding-left: 15px;
}

.news_section img{
  max-height: 1.2rem;
  margin-bottom: 0.25rem;
}

/* ===== News ===== */

.news-page{
  text-align:left;
  margin:0 auto;
}

/* Barra delle schede con frecce */
.news-bar{
  display:flex;
  align-items:center;
  gap:.5rem;
  border-bottom:1px solid var(--primary-line);
  margin-bottom:clamp(1.25rem,3vw,2rem);
}
.news-tabs{
  flex:1;
  display:flex;
  gap:.25rem;
  overflow-x:auto;
  scrollbar-width:none;
}
.news-tabs::-webkit-scrollbar{display:none;}
.news-tabs button{
  flex:0 0 auto;
  min-height:44px;
  padding:.65rem 1rem;
  background:none;
  border:0;
  border-bottom:3px solid transparent;
  font:inherit;
  font-size:.9375rem;
  font-weight:600;
  color:var(--primary-ink-soft);
  white-space:nowrap;
  cursor:pointer;
  transition:color .2s var(--mira-ease), border-color .2s var(--mira-ease);
}
.news-tabs button:hover{color:var(--primary-navy-deep);border-bottom-color:var(--primary-line-strong);}
.news-tabs button[aria-selected="true"]{color:var(--primary-navy-deep);border-bottom-color:var(--primary-navy);}

.news-arrow{
  flex:none;
  width:2.25rem;height:2.25rem;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--primary-line-strong);
  border-radius:50%;
  color:var(--primary-navy);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  transition:background-color .2s var(--mira-ease), border-color .2s var(--mira-ease);
}
.news-arrow:hover:not(:disabled){background:var(--primary-pale);border-color:var(--primary-navy);}
.news-arrow:disabled{opacity:.35;cursor:default;}

/* Titolo del mese: stile "eyebrow" con barretta e linea sottile */
.news-month{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin:2.25rem 0 1rem 0;
  font-size:.8125rem;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
}
.news-month::before{
  content:"";
  width:1.75rem;height:2px;
  background:linear-gradient(90deg,var(--primary-glow),var(--primary-navy));
  border-radius:2px;
  flex:0 0 auto;
}
.news-month::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--primary-line-strong);
}

/* Voci: schede come le "applicazioni" della pagina MIRA */
.news-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}
.news-card{
  display:flex;
  align-items:center;
  gap:1rem;
  background:#fff;
  border:1px solid var(--primary-line);
  border-left:4px solid var(--primary-navy);
  border-radius:var(--mira-r-md);
  padding:1rem 1.4rem;
  text-decoration:none;
  transition:border-left-color .3s var(--mira-ease), transform .3s var(--mira-ease), box-shadow .3s var(--mira-ease);
}
.news-card:hover{
  border-left-color:var(--primary-glow);
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(var(--mira-shadow)/.12);
  text-decoration:none;
}
.news-card::after{
  content:"\2192";
  margin-left:auto;
  color:var(--primary-navy);
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .3s var(--mira-ease), transform .3s var(--mira-ease);
}
.news-card:hover::after{opacity:1;transform:none;}
.news-date{
  flex:0 0 auto;
  background:var(--primary-pale);
  border:1px solid var(--primary-line-strong);
  color:var(--primary-ink-soft);
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.25rem .75rem;
  border-radius:var(--mira-r-pill);
}
.news-title{
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.4;
  color:var(--primary-navy-deep);
}
.news-status{color:var(--primary-muted);}
.news-panel[hidden]{display:none;}

/* Focus da tastiera */
.news-page a:focus-visible,
.news-page button:focus-visible{
  outline:3px solid var(--primary-navy);
  outline-offset:2px;
  box-shadow:0 0 0 6px rgba(214,222,238,.45);
}

@media (max-width:600px){
  .news-card{flex-direction:column;align-items:flex-start;gap:.5rem;}
  .news-card::after{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .news-card,.news-card::after{transition:none;}
  .news-card:hover{transform:none;}
}
 
.news-page .data {
    padding:.25rem .75rem;
}

.news-page h2{
    font-size: 1.5rem;
}

/* Articolo */

.art-page{
  text-align:left;
  max-width:72rem;
  margin:0 auto;
  padding:clamp(2.5rem,5vw,4rem) 1.25rem clamp(3rem,6vw,5rem);
}
.art-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 20rem;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:start;
}

/* Intestazione */
.art-title{
  font-size:clamp(2rem,4.5vw,3rem);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--primary-navy-deep);
  margin:0 0 1rem 0;
}
.art-lead{
  font-size:1.25rem;
  line-height:1.6;
  color:var(--primary-ink-soft);
  margin:0 0 1.5rem 0;
}
.art-figure{margin:0 0 2rem 0;}
.art-figure img{width:100%;height:auto;border-radius:var(--mira-r-lg);}
.art-figure figcaption,
.art-body figcaption{
  font-size:.875rem;
  color:var(--primary-muted);
  margin-top:.5rem;
}

/* Testo dell'articolo */
.art-body p{
  font-size:1.0625rem;
  line-height:1.75;
  color:var(--primary-navy-deep);
  margin:0 0 1.25rem 0;
  text-align:justify;
}
.art-body h2{
  font-size:1.5rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--primary-navy-deep);
  margin:2.75rem 0 1rem 0;
  padding-bottom:.6rem;
  border-bottom:1px solid var(--primary-line-strong);
}
.art-body h3{
  font-size:1.1875rem;
  font-weight:700;
  line-height:1.4;
  color:var(--primary-navy);
  margin:2rem 0 .75rem 0;
}
.art-body ul{list-style:none;margin:0 0 1.25rem 0;padding:0;}
.art-body ul li{
  position:relative;
  padding:.3rem 0 .3rem 1.5rem;
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--primary-navy-deep);
  text-align:justify;
}
.art-body ul li::before{
  content:"";
  position:absolute;
  left:0;top:.95rem;
  width:.5rem;height:.5rem;
  border-radius:50%;
  background:var(--primary-navy);
}
.art-body ol{margin:0 0 1.25rem 0;padding-left:1.4rem;}
.art-body ol li{font-size:1.0625rem;line-height:1.65;padding:.3rem 0 .3rem .25rem;color:var(--primary-navy-deep);}
.art-body img{max-width:100%;height:auto;border-radius:var(--mira-r-md);}
.art-body figure{margin:1.75rem 0;}
.art-body blockquote,
.art-callout{
  margin:1.75rem 0;
  padding:1.25rem 1.5rem;
  background:var(--primary-pale);
  border-left:4px solid var(--primary-navy);
  border-radius:0 var(--mira-r-md) var(--mira-r-md) 0;
}
.art-body blockquote p,
.art-callout p{margin:0;}
.art-callout-title{
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
  margin:0 0 .5rem 0 !important;
}
.art-table-wrap{overflow-x:auto;margin:1.75rem 0;}
.art-body table{width:100%;border-collapse:collapse;font-size:.9375rem;}
.art-body th,.art-body td{border:1px solid var(--primary-line);padding:.65rem .8rem;text-align:left;}
.art-body th{background:var(--primary-line-strong);color:var(--primary-navy);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;}

/* Box di riepilogo laterale */
.art-aside{position:sticky;top:1.5rem;}
.art-summary{
  position:relative;
  background:#fff;
  border:1px solid var(--primary-line);
  border-radius:var(--mira-r-lg);
  padding:1.75rem 1.5rem 1.5rem;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(var(--mira-shadow)/.06);
}
.art-summary::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--primary-navy),var(--primary-glow));
}
.art-summary-title{
  font-size:.8125rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
  line-height:1.4;
  margin:0 0 1.1rem 0;
}
.art-meta{margin:0;}
.art-meta div{padding:.7rem 0;border-top:1px solid var(--primary-line);}
.art-meta div:first-child{border-top:0;padding-top:0;}
.art-meta dt{
  font-size:.6875rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary-ink-soft);
  margin:0 0 .2rem 0;
}
.art-meta dd{
  margin:0;
  font-size:.9375rem;
  font-weight:600;
  line-height:1.45;
  color:var(--primary-navy-deep);
}
.art-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;}
.art-tags li{
  background:var(--primary-pale);
  border:1px solid var(--primary-line-strong);
  color:var(--primary-ink-soft);
  font-size:.75rem;
  font-weight:700;
  padding:.2rem .65rem;
  border-radius:var(--mira-r-pill);
}
.art-toc{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--primary-line);}
.art-toc ol{list-style:none;margin:0;padding:0;}
.art-toc a{
  display:block;
  padding:.35rem 0;
  font-size:.9rem;
  line-height:1.4;
  color:var(--primary-muted);
  text-decoration:none;
}
.art-toc a:hover{color:var(--primary-navy);text-decoration:underline;}
.art-back{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:1.25rem;
  min-height:44px;
  font-weight:700;
  font-size:.9375rem;
  color:var(--primary-navy);
  text-decoration:none;
}
.art-back:hover{text-decoration:underline;color:var(--primary-navy);}

.art-page a:focus-visible{
  outline:3px solid var(--primary-navy);
  outline-offset:2px;
  border-radius:var(--mira-r-sm);
}

@media (max-width:991px){
  .art-layout{grid-template-columns:1fr;gap:1.25rem;}
  .art-aside{position:static;order:-1;}

  /* Riepilogo compatto: dati in orizzontale, su più righe solo se serve */
  .art-summary{padding:1rem 1.25rem;box-shadow:none;}
  .art-summary > .art-summary-title,
  .art-toc,
  .art-back{display:none;}
  .art-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;}
  .art-meta div,
  .art-meta div:first-child{border-top:0;padding:0;}
  .art-meta dt{margin:0 0 .1rem 0;}
  .art-meta dd{font-size:.875rem;}
  .art-meta div:last-child{display:none;}

  .art-meta div{flex:1 1 7.5rem;}
}
@media print{
  .art-aside{display:none;}
  .art-layout{display:block;}
}

/* Footer Section */
#footer {
  font-size: 0.9rem;
  text-align: left;
}

#footer .container-fluid {
  padding-top: 1%;
}

.footer_icon {
  padding: 3% 2% 0 0;
  color: white;
}

.linkedin:hover {
  color: #0e76a8;
}

.mail:hover {
  color: grey;
}

.footer-link {
  font-weight: lighter;
  color: white;
}

.footer-link:hover {
  font-weight: lighter;
  color: white;
}

#footer h5 {
  font-size: 1rem;
  font-weight: 400;
  color: white;
}

#footer p {
  color: white;
  font-weight: lighter;
  margin-bottom: 0.7rem;
}

#footer a{
  color: white;
  margin-bottom: 0.7rem;
}
#footer a:hover{
  text-decoration: underline;
}
/*Integration*/
#integration h3 {
  line-height: 2.2rem;
}

.int_descr {
  margin: 1% 0;
}

.int_loghi_section {
  margin: 0 5%;
}

.int_loghi {
  display: flex;
  align-items: center;
  margin: 1% 0;
  height: 80px;
  padding: 0 4%;
}

.int_image {
  width: 100%;
}

.int_luci {
  display: flex;
  align-items: center;
  margin: 1% 0;
  height: 11vw;
  padding: 0 4%;
}

.int_report {
  display: flex;
  align-items: center;
  margin: 1% 0;
  height: 100%;
  padding: 0 1%;
}

@media (max-width: 1200px) {
  .int_luci {
    height: 30vw;
  }

  .int_report {
    height: 30vw;
  }
}

@media (max-width: 600px) {
  .int_report .int_image {
    height: 100%;
    width: auto;
    margin: auto;
  }
}

/* SOLUTIONS */
.solutions_item_l p {
  text-align: justify;
}

#solutions_description h3 {
  line-height: 2rem;
}

.solutions_img img {
  margin: auto;
  width: 100%;
  padding-top: 2% ;
}

.bd-toc {
  position: -webkit-sticky;
  position: sticky;
  top: 4rem;
  height: calc(100vh - 4rem);
  overflow-y: auto;
  -ms-flex-order: 2;
  order: 2;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-right: 0;
  font-size: .875rem;
  border-left: 1px solid #eee;
}

@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .col-xl-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
}

.section-nav {
  padding-left: 0;
  border-left: 1px;
}

.toc-entry {
  display: block;
}

.toc-entry a {
  color: #8f8f8f;
}

.toc-entry a:hover {
  color: var(--primary-navy);
  text-decoration: none;
}

#solutions_description hr {
  margin: 5% 0;
}


.sectors_item_c table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
  align-items: center;
}

/* R&D */
.rd_progetto {
  text-align: left;
}

.rd_progetto h5 {
  font-weight: 600;
}

.rd_progetto h3 {
  margin-bottom: 0;
}

.rd_progetto p {
  text-align: justify;
}

.rd_progetto .rd_row_title {
  margin-left: 0;
  height: 120px;
}

.rd_loghi {
  margin: 1% auto;
  height: 80px;
}

.img_bottom {
  position: absolute;
  bottom: 0;
}

.rd_loghi img{
  width: 100% ;
}

.rd_image img{
  max-height: 800px;
  max-width: 490px;
  height: auto;
  width: 100%;
}

/* IL GRUPPO */
strong, b {
  color: var(--primary-navy);
}

.company_item_l {
  padding: 15px 15px 1% 15px;
  text-align: justify;
}

.company_item_l h3 {
  line-height: 2.1rem;
}

.company_item_r {
  padding: 15px 15px 1% 15px;
  text-align: justify;
}

.company_item_r h3 {
  text-align: right;
  line-height: 2.1rem;
}

@media (max-width: 1200px) {
  .company_item_r h3 {
    text-align: left;
  }
}

.gruppo_body {
  text-align: center;
}

.gruppo_card {
  width: 15rem;
  margin: 1rem auto;
}

.gruppo_card_r {
  margin: 0 auto 0 5%;
}

.gruppo_card_l {
  margin: 0 5% 0 auto;
}

.gruppo_img {
  border-radius: 100%;
  margin: 10%;
  width: 80%;
}

.temp_img {
  opacity: 0.25;
}

.gruppo_icon {
  padding: 0 5%;
  color: var(--primary-navy);
}

.gruppo_row {
  padding-top: 3%;
  padding-bottom: 3%;
}

/* CONTATTI*/
#contact_body {
  text-align: left;
}

.contact_body_item {
  padding-left: 0;
  padding-right: 2%;
}

.contact_body_item h5 {
  padding: 1rem 0;
}

.contact_body_item .contact_icon {
  color: var(--primary-navy);
}

.contact_icon {
  position: absolute;
}

.contact_descr {
  margin-left: 1.5rem;
}

.mail_link {
  color: var(--primary-navy);
}

.mail_link:hover {
  color: var(--primary-navy);
}


.eye_icon {
  color: white;
}
/* Privacy Policy */
#privacy h3{
  font-size: 1.2rem;
}
#privacy h5{
  font-size: 1rem;
  line-height: 1.1rem;
}

/* Cookies banner */
#cookies h5 {
  margin: 0 ;
  line-height: 2rem ;
}

#cookies .btn, #cookies p{
  font-size: 0.9rem;
}
.toast:not(:last-child){
  margin-bottom: 0;
}