/* colori */
/* partial sass file */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  font-size: 10px;
  scroll-behavior: smooth; }

body {
  font-family: 'Montserrat', sans-serif;
  color: #1D1D1B;
  background: #FFFFFF;
  font-size: 1.6rem;
  line-height: 2.4; }

hr {
  margin: 3rem auto; }

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

h1, h2, h3, h4, h5 {
  font-family: 'Montserrat', sans-serif;
  line-height: 1.2; }

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

.color-blue-dark{
  color: #104673;
}

button {
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  background: transparent;
  transition: all .4s; }

input {
  font-family: 'Montserrat', sans-serif; }

textarea {
  font-family: 'Montserrat', sans-serif;
  resize: vertical; }

.center {
  text-align: center; }

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

.hidden {
  opacity: 0; }

.visible {
  opacity: 1; }

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

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

.splide__arrow--next {
  right: 1%;
  transform: translate(0, -7px) rotate(180deg); }

.curva {
  width: 100%;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  height: auto;
  aspect-ratio: 28 / 1; }

.btn {
  display: inline-flex;
  transition: all .2s; }
  .btn .scritta {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    padding: 1.5rem 3.5rem;
    border-radius: 10rem 0 0 10rem;
    background-color: #2196F3;
    color: #FFFFFF;
    margin: 0 5px 0 0;
    text-align: right;
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.25); }
  .btn .freccia {
    display: flex;
    background: #104673;
    justify-content: center;
    align-items: center;
    border-radius: 0 10rem 10rem 0;
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.25); }
    .btn .freccia img {
      width: 2.5rem;
      height: 1.4rem;
      object-fit: contain;
      padding: 0 1.9rem 0 1.4rem;
      box-sizing: content-box; }
  .btn:hover {
    translate: 0 -8px; }

.simbolo {
  width: 4.2rem;
  height: 4.2rem;
  margin: 2rem auto 4rem; }

.reveal {
  position: relative;
  opacity: 0; }

.reveal.active {
  opacity: 1; }

/* sections */
.simple_center {
  padding: 7rem 0;
  text-align: center; }
  .simple_center h1 {
    font-size: 5rem;
    font-weight: 600;
    margin: 0 0 2rem;
    color: #436DB1; }
    @media screen and (max-width: 768px) {
      .simple_center h1 {
        font-size: 4rem; } }
    @media screen and (max-width: 580px) {
      .simple_center h1 {
        font-size: 3rem; } }
  .simple_center h2 {
    font-size: 3.5rem;
    font-weight: 600;
    color: #104673; }
    @media screen and (max-width: 580px) {
      .simple_center h2 {
        font-size: 3rem; } }
  .simple_center p {
    max-width: 100rem;
    margin: 0 auto;
    color: #104673; }

.two_columns {
  padding: 7rem 0 14rem; }
  @media screen and (max-width: 1280px) {
    .two_columns {
      padding: 7rem 0; } }
  .two_columns .container {
    display: flex;
    flex-wrap: wrap;
    /* align-items: center; */
    gap: 8rem; }
    @media screen and (max-width: 1024px) {
      .two_columns .container {
        gap: 4rem; } }
  .two_columns .bl {
    width: calc(50% - 4rem);
    position: relative; }
    @media screen and (max-width: 1024px) {
      .two_columns .bl {
        width: 100%; } }
    .two_columns .bl.three_img picture {
      display: block;
      height: auto; }
      .two_columns .bl.three_img picture.pic1 {
        position: relative;
        width: 65%;
        aspect-ratio: 3 / 4;
        z-index: 3;
        top: -3rem;
        transition: all .3s; }
        .two_columns .bl.three_img picture.pic1:hover {
          top: -4rem; }
        .two_columns .bl.three_img picture.pic1 img {
          box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25); }
      .two_columns .bl.three_img picture.pic2 {
        position: absolute;
        width: 50%;
        top: 17rem;
        right: 0;
        aspect-ratio: 3 / 4;
        z-index: 1;
        transition: all .3s; }
        .two_columns .bl.three_img picture.pic2:hover {
          translate: 0 -1rem; }
      .two_columns .bl.three_img picture.pic3 {
        position: absolute;
        width: 60%;
        top: 45rem;
        left: 9rem;
        aspect-ratio: 4 / 3;
        z-index: 2;
        transition: all .3s; }
        @media screen and (max-width: 1280px) {
          .two_columns .bl.three_img picture.pic3 {
            top: 40rem; } }
        @media screen and (max-width: 1024px) {
          .two_columns .bl.three_img picture.pic3 {
            position: relative;
            top: -5rem; } }
        @media screen and (max-width: 400px) {
          .two_columns .bl.three_img picture.pic3 {
            top: 0;
            left: 3rem; } }
        .two_columns .bl.three_img picture.pic3:hover {
          translate: 0 -1rem; }
      .two_columns .bl.three_img picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 2rem; }
    .two_columns .bl.txt {
      text-align: right; }
      @media screen and (max-width: 768px) {
        .two_columns .bl.txt {
          text-align: center; } }
      .two_columns .bl.txt p {
        text-align: left;
        margin: 0 0 8rem; }
        @media screen and (max-width: 768px) {
          .two_columns .bl.txt p {
            text-align: center; } }

.row_tit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 5.5rem; }
  @media screen and (max-width: 580px) {
    .row_tit {
      justify-content: center; } }
  .row_tit h2 {
    width: 100%;
    font-size: 4rem;
    color: #436DB1;
    margin: 0 0 2rem; }
    @media screen and (max-width: 580px) {
      .row_tit h2 {
        font-size: 3rem;
        text-align: center; } }
    .row_tit h2 span {
      color: #2196F3;
      font-size: 2.2rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      display: inline-block;
      padding: 0 0 0 2rem; }
      @media screen and (max-width: 580px) {
        .row_tit h2 span {
          padding: 0; } }
  .row_tit p {
    width: 70%; }
    @media screen and (max-width: 1024px) {
      .row_tit p {
        width: 100%;
        margin: 0 0 2rem; } }
    @media screen and (max-width: 580px) {
      .row_tit p {
        text-align: center; } }

.four_cl {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem; }
  @media screen and (max-width: 768px) {
    .four_cl {
      gap: 4rem; } }
  @media screen and (max-width: 400px) {
    .four_cl {
      gap: 1rem; } }
  .four_cl .bl {
    width: calc(25% - 4.5rem); }
    @media screen and (max-width: 1280px) {
      .four_cl .bl {
        width: calc(50% - 4.5rem); } }
    @media screen and (max-width: 768px) {
      .four_cl .bl {
        width: calc(50% - 2rem); } }
    @media screen and (max-width: 400px) {
      .four_cl .bl {
        width: 100%; } }

.splide__pagination {
  margin: 2rem auto 0;
  text-align: center;
  gap: 1rem; }
  .splide__pagination li button {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 2rem;
    background-color: #737375; }
    .splide__pagination li button.is-active {
      background-color: #104673; }

.pf {
  position: relative;
  padding: 20rem 2%;
  text-align: center;
  background-image: url(../images/jpg/bg-pf.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media screen and (max-width: 400px) {
    .pf {
      padding: 15rem 2%; } }
  .pf h3 {
    font-size: 4rem;
    color: #FFFFFF;
    margin: 0 0 2.5rem; }
    @media screen and (max-width: 580px) {
      .pf h3 {
        font-size: 3rem; } }
  .pf .curva {
    aspect-ratio: 1084 / 52; }

footer {
  background-color: #262626;
  padding: 18rem 0 10rem;
  color: #FFFFFF; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 8rem 0 10rem;
      text-align: center; } }
  footer a {
    color: #FFFFFF; }
    footer a:hover {
      color: #2196F3; }
  footer .container .dati {
    width: 100%;
    max-width: 76rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 9rem; }
    @media screen and (max-width: 768px) {
      footer .container .dati {
        justify-content: center; } }
    footer .container .dati .logo_ft {
      width: 15rem;
      height: 11.3rem;
      object-fit: contain; }
    footer .container .dati .txt ul li {
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
      @media screen and (max-width: 580px) {
        footer .container .dati .txt ul li {
          justify-content: center; } }
      footer .container .dati .txt ul li img {
        width: 2rem;
        height: 2rem;
        object-fit: contain;
        margin: 0 1rem 0 0; }
  footer .credits {
    color: #737375;
    text-align: center;
    font-size: 1.3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    padding: 3.5rem 0 0;
    margin: 8rem auto 0; }
    footer .credits a {
      color: #737375; }
      footer .credits a:hover {
        color: #2196F3; }

#header-pag {
  height: 40rem;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media screen and (max-width: 400px) {
    #header-pag {
      height: 30rem; } }

.breadcrumb {
  font-size: 1.4rem;
  color: #737375;
  font-style: italic;
  display: flex;
  justify-content: center;
  margin: -5rem auto 3rem; }
  .breadcrumb a {
    color: #737375;
    padding: 0 5px; }

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

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

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

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

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

@keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* animation fade-up */
@-webkit-keyframes fade-up {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-up {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

/* fade-left */
@-webkit-keyframes fade-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fade-left {
  0% {
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

.fascia_menu {
  width: 100%;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  justify-content: space-between;
  padding: 2.5rem; }
  .fascia_menu .logo {
    width: 15rem;
    height: 11.3rem;
    object-fit: contain;
    max-width: 100%; }
    @media screen and (max-width: 580px) {
      .fascia_menu .logo {
        width: 12rem;
        height: 9.3rem; } }
  .fascia_menu a.cta {
    display: block;
    padding: 0 0 0 4rem;
    height: 2.9rem;
    transition: all .2s; }
    @media screen and (max-width: 400px) {
      .fascia_menu a.cta {
        padding: 0 0 0 2rem; } }
    .fascia_menu a.cta:hover {
      translate: 0 -8px; }
    .fascia_menu a.cta img {
      width: 2.9rem;
      height: 2.9rem; }

nav.menu {
  width: calc(100% - 15rem); }
  nav.menu ul {
    display: flex;
    align-items: center;
    gap: 4rem;
    display: flex;
    justify-content: flex-end; }
    nav.menu ul li a {
      text-transform: uppercase;
      color: #FFFFFF; }
      nav.menu ul li a.active, nav.menu ul li a:hover {
        font-weight: 600;
        color: #2196F3; }
  @media screen and (max-width: 1024px) {
    nav.menu {
      display: none; } }

/* menu dropdown */
.menuresponsive {
  display: none; }
  @media screen and (max-width: 1024px) {
    .menuresponsive {
      display: flex;
      width: calc(100% - 15rem - 6.9rem);
      justify-content: flex-end;
      align-items: center; }
      .menuresponsive img {
        width: 4rem;
        height: 4rem;
        aspect-ratio: 1 / 1; } }
  @media screen and (max-width: 580px) {
    .menuresponsive {
      width: calc(100% - 12rem - 6.9rem); } }
  @media screen and (max-width: 400px) {
    .menuresponsive {
      width: calc(100% - 12rem - 4.9rem); } }

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

#myBtn {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 99;
  transition: all .3s;
  background: #436DB1;
  border-radius: 10rem;
  height: 3.5rem;
  width: 3.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }
  #myBtn img {
    width: 2.5rem;
    height: 2.5rem; }
  #myBtn.arrow-visible {
    opacity: 1;
    visibility: visible; }

/* header */
#header-home {
  position: relative;
  height: 100vh; }
  @media screen and (max-height: 580px) {
    #header-home {
      height: 70rem; } }

.overlay {
  background: linear-gradient(0deg, rgba(29, 29, 27, 0) 0%, #1D1D1B 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto; }

/* slider home */
.splide#slide-home, .splide#slide-home .splide__list, .splide#slide-home .splide__slide, .splide#slide-home .splide__track {
  height: 100vh; }
  @media screen and (max-height: 580px) {
    .splide#slide-home, .splide#slide-home .splide__list, .splide#slide-home .splide__slide, .splide#slide-home .splide__track {
      height: 70rem; } }

#slide-home .splide__slide img {
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.txt_home {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  text-align: center;
  color: #FFFFFF;
  max-width: 110rem;
  width: 100%;
  padding: 0 2%; }
  @media screen and (max-width: 580px) {
    .txt_home {
      padding: 0 10%; } }
  .txt_home .logo_big {
    width: 25rem;
    height: 18.8rem;
    object-fit: contain;
    margin: 0 0 1.5rem; }
    @media screen and (max-width: 1280px) {
      .txt_home .logo_big {
        width: 20rem; } }
    @media screen and (max-width: 768px) {
      .txt_home .logo_big {
        display: none; } }
  .txt_home h1 {
    font-size: 5rem;
    font-weight: 600;
    margin: 0 0 2rem; }
    @media screen and (max-width: 580px) {
      .txt_home h1 {
        font-size: 4rem; } }
  .txt_home h2 {
    font-size: 2rem;
    font-weight: 600;
    margin: 0 0 4rem;
    letter-spacing: 2px;
    text-transform: uppercase; }

.home_servizi {
  padding: 7rem 0 0; }

.two_cl_wide .row {
  display: flex;
  flex-wrap: wrap; }
  .two_cl_wide .row:nth-child(even) {
    flex-direction: row-reverse; }
    .two_cl_wide .row:nth-child(even) .bl.txt {
      text-align: right; }
      @media screen and (max-width: 1280px) {
        .two_cl_wide .row:nth-child(even) .bl.txt {
          text-align: left; } }
      @media screen and (max-width: 580px) {
        .two_cl_wide .row:nth-child(even) .bl.txt {
          text-align: center; } }
  .two_cl_wide .row .bl {
    width: 50%; }
    @media screen and (max-width: 1280px) {
      .two_cl_wide .row .bl {
        width: 100%; } }
    .two_cl_wide .row .bl.pic {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      @media screen and (max-width: 1280px) {
        .two_cl_wide .row .bl.pic {
          height: 60vw; } }
      .two_cl_wide .row .bl.pic.pic1 {
        background-image: url(../images/jpg/eas_srl_1.jpg); }
      .two_cl_wide .row .bl.pic.pic2 {
        background-image: url(../images/jpg/eas_srl_2.jpg); }
      .two_cl_wide .row .bl.pic.pic3 {
        background-image: url(../images/jpg/img11.jpg); }
      .two_cl_wide .row .bl.pic.pic4 {
        background-image: url(../images/jpg/slide2.jpg); }
    .two_cl_wide .row .bl.txt {
      padding: 7rem 10rem;
      background-color: #f4f4f4; }
      @media screen and (max-width: 1280px) {
        .two_cl_wide .row .bl.txt {
          padding: 7rem 6rem; } }
      @media screen and (max-width: 580px) {
        .two_cl_wide .row .bl.txt {
          padding: 6rem 3rem;
          text-align: center; } }
      .two_cl_wide .row .bl.txt .ico {
        width: 20rem;
        height: 20rem;
        margin: 0 0 2rem; }
      .two_cl_wide .row .bl.txt h3 {
        font-size: 3rem;
        color: #737375;
        margin: 0 0 2rem; }
      .two_cl_wide .row .bl.txt p {
        margin: 0 0 1.5rem; }
      .two_cl_wide .row .bl.txt button {
        text-transform: uppercase;
        color: #2196F3;
        letter-spacing: 1px;
        font-size: 1.6rem;
        font-weight: 600; }
        .two_cl_wide .row .bl.txt button:hover {
          letter-spacing: 2px; }

.numeri {
  padding: 7rem 0;
  background-color: #104673;
  color: #FFFFFF;
  text-align: center; }
  .numeri h2 {
    font-size: 4rem; }
    @media screen and (max-width: 580px) {
      .numeri h2 {
        font-size: 3rem; } }
  .numeri p {
    font-size: 2rem;
    line-height: 1.5; }
    @media screen and (max-width: 580px) {
      .numeri p {
        position: relative;
        top: -2rem; } }
  .numeri p.count {
    font-size: 9rem;
    font-weight: 600;
    display: inline-block;
    line-height: 1; }
    @media screen and (max-width: 580px) {
      .numeri p.count {
        font-size: 6rem;
        top: 0; } }
  .numeri .plus {
    position: relative;
    top: -4rem;
    font-size: 6rem;
    font-weight: 600;
    color: #2196F3; }
    @media screen and (max-width: 580px) {
      .numeri .plus {
        top: -2rem; } }

.news_prog {
  padding: 10rem 0; }
  .news_prog .row_tit h2 {
    width: auto; }
  .news_prog .img_prog {
    width: 100%;
    object-fit: cover;
    height: auto;
    aspect-ratio: 16 / 9; }
  .news_prog .box_txt {
    width: 80%;
    background: #FFFFFF;
    margin: -5rem auto 0;
    z-index: 2;
    position: relative;
    padding: 3rem; }
    @media screen and (max-width: 580px) {
      .news_prog .box_txt {
        width: 90%; } }
    .news_prog .box_txt p.data {
      font-size: 1.4rem;
      font-weight: 600;
      color: #737375;
      margin: 0 0 1rem; }
    .news_prog .box_txt h3 {
      font-size: 3rem;
      color: #737375;
      margin: 0 0 2rem; }
      @media screen and (max-width: 400px) {
        .news_prog .box_txt h3 {
          font-size: 2.5rem; } }
    .news_prog .box_txt p.desc {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      /* -webkit-line-clamp: 2; */
      overflow: hidden;
      -webkit-line-clamp: 2;
      line-height: 1.5;
      margin: 0 0 2.5rem; }
    .news_prog .box_txt p.link {
      font-weight: 600;
      letter-spacing: 1px;
      color: #2196F3;
      transition: all .3s; }
      .news_prog .box_txt p.link:hover {
        letter-spacing: 2px; }

.chisiamo.webp {
  background-image: url(../images/webp/bg-chisiamo.webp); }

.chisiamo.no-webp {
  background-image: url(../images/jpg/bg-chisiamo.jpg); }

@media screen and (max-width: 768px) {
  .chisiamo.webp {
    background-image: url(../images/webp/bg-chisiamo-s.webp); }
  .chisiamo.no-webp {
    background-image: url(../images/jpg/bg-chisiamo-s.jpg); } }

.elenco {
  padding: 7rem 0;
  text-align: center; }
  .elenco .container {
    max-width: 100rem; }
  .elenco h2 {
    font-size: 4rem;
    color: #436DB1;
    margin: 0 0 2rem; }
    @media screen and (max-width: 580px) {
      .elenco h2 {
        font-size: 3rem; } }
  .elenco h3 {
    font-size: 2rem;
    color: #2196F3;
    margin: 0 0 2rem; }
  .elenco ul {
    max-width: 70rem;
    text-align: left;
    margin: 3rem auto; }
    .elenco ul li {
      display: flex;
      align-items: flex-start;
      margin: 0 0 2rem; }
      .elenco ul li .check {
        width: 5rem;
        height: 5rem;
        margin: 0 1rem 0 0; }

.servizi-bg.webp {
  background-image: url(../images/webp/bg-servizi.webp); }

.servizi-bg.no-webp {
  background-image: url(../images/jpg/bg-servizi.jpg); }

@media screen and (max-width: 768px) {
  .servizi-bg.webp {
    background-image: url(../images/webp/bg-servizi-s.webp); }
  .servizi-bg.no-webp {
    background-image: url(../images/jpg/bg-servizi-s.jpg); } }

.servizi_pag {
  padding: 7rem 0; }
  @media screen and (max-width: 580px) {
    .servizi_pag {
      padding: 0; } }
  .servizi_pag h3 {
    font-size: 4rem;
    color: #436DB1;
    margin: 0 0 2rem; }
    @media screen and (max-width: 580px) {
      .servizi_pag h3 {
        font-size: 3rem; } }

.fasce_anchor {
  margin: 3rem 0 0; }
  .fasce_anchor .row {
    padding: 7rem 0;
    background-color: #f4f4f4; }
    @media screen and (max-width: 768px) {
      .fasce_anchor .row {
        text-align: center; } }
    .fasce_anchor .row:nth-child(even) {
      background-color: #ebebec; }
    .fasce_anchor .row h2 {
      font-size: 3.5rem;
      margin: 0 0 2rem; }
      @media screen and (max-width: 580px) {
        .fasce_anchor .row h2 {
          font-size: 3rem; } }
    .fasce_anchor .row .btn {
      display: flex;
      justify-content: flex-end;
      margin: 3rem 0 0; }
      @media screen and (max-width: 768px) {
        .fasce_anchor .row .btn {
          justify-content: center; } }

.icone_box {
  margin: 2rem 0 0; }
  .icone_box ul {
    margin: 2rem auto 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    justify-content: flex-start; }
    @media screen and (max-width: 1024px) {
      .icone_box ul {
        gap: 3rem; } }
    @media screen and (max-width: 768px) {
      .icone_box ul {
        justify-content: center; } }
    .icone_box ul li {
      width: calc(20% - 3.2rem);
      text-align: center;
      line-height: 1.5; }
      @media screen and (max-width: 1280px) {
        .icone_box ul li {
          width: calc(25% - 3.2rem); } }
      @media screen and (max-width: 1024px) {
        .icone_box ul li {
          width: calc(33.3% - 2rem); } }
      @media screen and (max-width: 580px) {
        .icone_box ul li {
          width: calc(50% - 2rem); } }
      @media screen and (max-width: 400px) {
        .icone_box ul li {
          width: 100%; } }
      .icone_box ul li .ico {
        width: 15rem;
        height: 15rem;
        display: block;
        margin: 0 auto 1rem; }

ul.elenco_left {
  margin: 3rem auto; }
  @media screen and (max-width: 768px) {
    ul.elenco_left {
      text-align: left; } }
  ul.elenco_left li {
    display: flex;
    align-items: flex-start;
    margin: 0 0 2rem; }
    ul.elenco_left li .check {
      width: 5rem;
      height: 5rem;
      margin: 0 1rem 0 0; }

.progetti-bg.webp {
  background-image: url(../images/webp/bg-progetti.webp); }

.progetti-bg.no-webp {
  background-image: url(../images/jpg/bg-progetti.jpg); }

@media screen and (max-width: 768px) {
  .progetti-bg.webp {
    background-image: url(../images/webp/bg-progetti-s.webp); }
  .progetti-bg.no-webp {
    background-image: url(../images/jpg/bg-progetti-s.jpg); } }

.dett-bg.webp {
  background-image: url(../images/webp/top_dettaglio.webp); }

.dett-bg.no-webp {
  background-image: url(../images/jpg/top_dettaglio.jpg); }

@media screen and (max-width: 768px) {
  .dett-bg.webp {
    background-image: url(../images/webp/top_dettaglio-s.webp); }
  .dett-bg.no-webp {
    background-image: url(../images/jpg/top_dettaglio-s.jpg); } }

.prog_pag {
  padding: 0 0 12rem; }
  .prog_pag .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem; }
  .prog_pag .bl {
    width: calc(50% - 2rem);
    transition: all .3s;
    position: relative; }
    @media screen and (max-width: 768px) {
      .prog_pag .bl {
        width: 100%; } }
    .prog_pag .bl:hover {
      translate: 0 -8px; }
  .prog_pag .img_prog {
    width: 100%;
    object-fit: cover;
    height: auto;
    aspect-ratio: 16 / 9; }
  .prog_pag .box_txt {
    width: 80%;
    background: #FFFFFF;
    margin: -5rem auto 0;
    z-index: 2;
    position: relative;
    padding: 3rem; }
    @media screen and (max-width: 1024px) {
      .prog_pag .box_txt {
        width: 90%; } }
    @media screen and (max-width: 580px) {
      .prog_pag .box_txt {
        padding: 2rem; } }
    .prog_pag .box_txt p.data {
      font-size: 1.4rem;
      font-weight: 600;
      color: #737375;
      margin: 0 0 1rem; }
    .prog_pag .box_txt h3 {
      font-size: 3rem;
      color: #737375;
      margin: 0 0 2rem; }
      @media screen and (max-width: 580px) {
        .prog_pag .box_txt h3 {
          font-size: 2.5rem; } }
    .prog_pag .box_txt p.desc {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      /* -webkit-line-clamp: 2; */
      overflow: hidden;
      -webkit-line-clamp: 2;
      line-height: 1.5;
      margin: 0 0 2.5rem; }
    .prog_pag .box_txt p.link {
      font-weight: 600;
      letter-spacing: 1px;
      color: #2196F3;
      transition: all .3s; }
      .prog_pag .box_txt p.link:hover {
        letter-spacing: 2px; }

ul.pagination {
  margin: 7rem auto 0;
  display: flex;
  justify-content: center;
  gap: 1rem; }
  ul.pagination li a {
    padding: 1rem 1.5rem;
    line-height: 1;
    background-color: #f4f4f4;
    font-weight: 600;
    display: block; }
    ul.pagination li a.active, ul.pagination li a:hover {
      background-color: #436DB1;
      color: #FFFFFF; }

.dett_intro {
  padding: 7rem 0;
  text-align: center; }
  .dett_intro h1 {
    font-size: 5rem;
    font-weight: 600;
    margin: 0 0 1rem;
    color: #2196F3; }
    @media screen and (max-width: 768px) {
      .dett_intro h1 {
        font-size: 4rem; } }
    @media screen and (max-width: 580px) {
      .dett_intro h1 {
        font-size: 3rem; } }
  .dett_intro--row {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin: 0 0 7rem; }
    @media screen and (max-width: 1280px) {
      .dett_intro--row {
        flex-wrap: wrap;
        gap: 0; } }
    .dett_intro--row p {
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #104673;
      font-weight: 600; }
      @media screen and (max-width: 1280px) {
        .dett_intro--row p {
          width: 100%; } }
      .dett_intro--row p span {
        color: #737375;
        font-style: italic;
        text-transform: none;
        font-weight: 400; }
  .dett_intro p.data {
    font-size: 1.4rem;
    font-weight: 600;
    color: #737375;
    margin: 0 0 1rem;
    letter-spacing: 2px; }

.row_border {
  padding: 1rem 2rem;
  border: 1px solid #ebebec;
  margin: 0 0 2rem;
  text-align: center;
  line-height: 1;
  border-radius: 5px; }
  .row_border:last-of-type {
    margin: 0 0 6rem; }
  .row_border p {
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #104673;
    font-weight: 600;
    line-height: 1.5; }
    .row_border p span {
      color: #737375;
      font-style: italic;
      text-transform: none;
      font-weight: 400; }

.desc_prog {
  padding: 0 0 7rem; }
  .desc_prog .container {
    max-width: 100rem;
    text-align: center; }
    .desc_prog .container span {
      color: #737375;
      font-style: italic;
      text-transform: none;
      font-weight: 400;
      letter-spacing: 2px; }
    .desc_prog .container .desc h2, .desc_prog .container .desc h3 {
      font-size: 2rem;
      margin: 2rem auto 0.5rem; }
    .desc_prog .container .desc h4, .desc_prog .container .desc h5 {
      font-size: 1.8rem;
      margin: 2rem auto 0.5rem; }
    .desc_prog .container .desc a {
      color: #436DB1;
      font-weight: 600;
      text-decoration: underline; }
      .desc_prog .container .desc a:hover {
        color: #2196F3; }
    .desc_prog .container .desc ul, .desc_prog .container .desc ol {
      text-align: left;
      max-width: 60rem;
      margin: 2rem auto; }
    .desc_prog .container .desc ul {
      list-style: inside disc; }
    .desc_prog .container .desc ol {
      list-style: inside decimal; }
    .desc_prog .container .desc li {
      line-height: 1.8;
      margin: 0 0 5px; }
      .desc_prog .container .desc li::marker {
        color: #2196F3;
        font-weight: 600; }

.dett_contattaci {
  text-align: center; }
  .dett_contattaci h3 {
    font-size: 4rem;
    color: #436DB1;
    margin: 0 auto 2rem; }
    @media screen and (max-width: 580px) {
      .dett_contattaci h3 {
        font-size: 3rem; } }

.gallery {
  padding: 7rem 0; }
  .gallery .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem; }
    @media screen and (max-width: 768px) {
      .gallery .container {
        gap: 2rem; } }
    .gallery .container .thumb {
      width: calc(16.6% - 2.5rem); }
      @media screen and (max-width: 1024px) {
        .gallery .container .thumb {
          width: calc(25% - 2.5rem); } }
      @media screen and (max-width: 768px) {
        .gallery .container .thumb {
          width: calc(25% - 1.5rem); } }
      @media screen and (max-width: 580px) {
        .gallery .container .thumb {
          width: calc(33.3% - 1.5rem); } }
      @media screen and (max-width: 400px) {
        .gallery .container .thumb {
          width: calc(50% - 1.5rem); } }
      .gallery .container .thumb img {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover; }

.video_container {
  padding: 7rem 0 10rem; }
  @media screen and (max-width: 1280px) {
    .video_container {
      padding: 0 0 5rem; } }
  .video_container .video_box {
    position: relative;
    width: 100%;
    padding-bottom: 56.27%; }
    .video_container .video_box .video, .video_container .video_box iframe {
      width: 100% !important;
      height: 100% !important;
      position: absolute;
      top: 0;
      left: 0; }

.news-bg.webp {
  background-image: url(../images/webp/bg-news.webp); }

.news-bg.no-webp {
  background-image: url(../images/jpg/bg-news.jpg); }

@media screen and (max-width: 768px) {
  .news-bg.webp {
    background-image: url(../images/webp/bg-news-s.webp); }
  .news-bg.no-webp {
    background-image: url(../images/jpg/bg-news-s.jpg); } }

.container_news {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 3rem;
  justify-content: center; }
  @media screen and (max-width: 1024px) {
    .container_news {
      flex-direction: column-reverse; } }
  .container_news aside {
    width: 35rem;
    padding: 5rem 4rem 2rem;
    /* background-color: $blu;
        color: $white; */
    border-right: 4px solid #ebebec;
    text-align: left; }
    @media screen and (max-width: 1024px) {
      .container_news aside {
        width: 100%;
        padding: 0 2% 2rem; } }
    .container_news aside h3 {
      font-size: 1.8rem;
      margin: 0 0 3rem;
      color: #737375; }
    .container_news aside .row {
      padding: 2rem;
      background-color: #f4f4f4;
      border-radius: 1rem;
      margin: 0 0 2rem;
      transition: all .3s; }
      .container_news aside .row:hover {
        translate: 0 -8px; }
      .container_news aside .row h2 {
        font-size: 2rem;
        margin: 0;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        /* -webkit-line-clamp: 2; */
        overflow: hidden;
        -webkit-line-clamp: 5; }
      .container_news aside .row p.data {
        font-size: 1.4rem;
        font-weight: 600;
        color: #737375;
        margin: 0;
        letter-spacing: 2px; }
      .container_news aside .row p.link {
        font-weight: 600;
        letter-spacing: 1px;
        color: #2196F3;
        transition: all .3s; }
  .container_news article {
    width: calc(100% - 35rem);
    padding: 2rem 4rem;
    max-width: 100rem; }
    @media screen and (max-width: 1024px) {
      .container_news article {
        width: 100%;
        padding: 0; } }
    .container_news article .dett_intro {
      text-align: left;
      padding: 7rem 0 2rem; }
      @media screen and (max-width: 1024px) {
        .container_news article .dett_intro {
          text-align: center; } }
    .container_news article ul.breadcrumb {
      justify-content: flex-start; }
      @media screen and (max-width: 1024px) {
        .container_news article ul.breadcrumb {
          justify-content: center; } }
    .container_news article .desc_prog .container {
      text-align: left;
      margin: 0 auto 0 0; }
      @media screen and (max-width: 1024px) {
        .container_news article .desc_prog .container {
          text-align: center; } }
    .container_news article .desc_prog .container .desc ul, .container_news article .desc_prog .container .desc ol {
      margin: 2rem auto 2rem 0; }
      @media screen and (max-width: 1024px) {
        .container_news article .desc_prog .container .desc ul, .container_news article .desc_prog .container .desc ol {
          margin: 2rem auto; } }

.img_news {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 1rem;
  margin: 0 auto 3rem 0; }

.contatti-bg.webp {
  background-image: url(../images/webp/bg-contatti.webp); }

.contatti-bg.no-webp {
  background-image: url(../images/jpg/bg-contatti.jpg); }

@media screen and (max-width: 768px) {
  .contatti-bg.webp {
    background-image: url(../images/webp/bg-contatti-s.webp); }
  .contatti-bg.no-webp {
    background-image: url(../images/jpg/bg-contatti-s.jpg); } }

.two_columns-cont {
  padding: 0;
  display: flex;
  flex-wrap: wrap; }
  .two_columns-cont .bl {
    width: 50%;
    position: relative; }
    @media screen and (max-width: 1024px) {
      .two_columns-cont .bl {
        width: 100%; } }

.mappa {
  width: 100%;
  height: 100%;
  border: none; }
  @media screen and (max-width: 1024px) {
    .mappa {
      height: 70vw; } }
  @media screen and (max-width: 580px) {
    .mappa {
      height: 100vw; } }

form {
  margin: 0 auto;
  text-align: left;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  background-color: #436DB1;
  justify-content: space-between;
  padding: 3rem 5rem 8rem; }

form #msg_invio{
  color: #fff; font-weight: bold; width: 100%; margin-top: 1rem;
}

  @media screen and (max-width: 580px) {
    form {
      padding: 4rem 2rem 8rem; } }
  form h3 {
    font-size: 2.5rem;
    color: #FFFFFF;
    margin: 0 0 3rem; }
  form div[class^="box-"] {
    padding: 0;
    display: flex;
    align-items: center;
    margin: 0 0 1rem;
    flex-wrap: wrap-reverse; }
  form .box-50 {
    width: 48%; }
    @media screen and (max-width: 580px) {
      form .box-50 {
        width: 100%; } }
  form .box-100 {
    width: 100%; }
  form label {
    display: block;
    width: 100%;
    margin: 0 0 3px;
    color: #FFFFFF; }
  form input:not([type="checkbox"]), form textarea {
    width: 100%;
    border: none;
    padding: 1rem;
    font-size: 1.3rem;
    background: rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    border-radius: 0.5rem; }
    form input:not([type="checkbox"]):focus, form textarea:focus {
      outline: none; }
  form textarea {
    min-height: 12rem; }
  form .txt-small {
    width: 100%;
    font-size: 1.2rem;
    margin: 0;
    color: #FFFFFF; }
    form .txt-small a{ color: white; text-decoration: underline;}

.sitemap {
  text-align: center;
  margin: 0 auto 12rem; }
  .sitemap li a {
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 600; }
    .sitemap li a:hover {
      color: #2196F3; }

.errore {
  text-align: center;
  margin: 0 auto 12rem; }
  .errore p {
    font-size: 1.8rem;
    margin: 0 auto 4rem; }
  .errore p.err {
    font-size: 10rem;
    margin: -7rem auto 1rem;
    line-height: 1;
    font-weight: 600; }
