/* TESTI */
/* SFONDI */
/* CALL TO ACTION */
/* MARGINI */
/* Padding */
/* MARGINI CONTENUTO*/
/* LARGHEZZA*/
/*@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');*/
/* FONT */
/* Colori ----------- */
main button, main input[type=button] {
  font-size: 1.2rem;
  padding: 0.625rem 1.25rem;
  text-align: center;
  margin: 0 0.3125rem;
  border-radius: 0.3125rem;
  color: #FFF;
  background: #53A0CD;
  cursor: pointer;
  border: none;
  text-transform: uppercase;
  font-family: "Inter", system-ui;
  font-weight: 600;
}

main button:hover, main input[type=button]:hover {
  background: #004972;
  color: #FFF;
}

main div.bottoni.genera_password input[type=button] {
  font-size: 0.7rem;
  padding: 0.125rem;
  text-align: center;
  margin: 0 0.3125rem;
}

main div.form a.help_small {
  background: url("../../../images/adm/help-icon.png") no-repeat center center;
}

main div.inv {
  display: none !important;
}

main div.show {
  display: flex !important;
}

/* Formato Generale ----------- */
main div.form fieldset {
  width: 100%;
  border: none;
  padding: 0rem 0;
  margin: 0rem 0;
}

main div.form fieldset legend {
  padding: 0.25rem 0.625rem;
  text-transform: uppercase;
}

main div.form fieldset small {
  font-style: italic;
}

main div.form fieldset div.contenuto_form {
  width: 100%;
  border: none;
  padding: 0 0;
  margin: 0 0 0 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: space-between;
}

main div.form fieldset label {
  width: 100%;
  padding: 0 0 0 0;
  margin: 0.3125rem 0;
  font-size: 1rem;
  color: #262B37;
}

main div.form fieldset label h3 {
  margin: 1.25rem 0 0.3125rem 0;
}

main input[type=text], main textarea, main input[type=email], main input[type=email], main input[type=date], main input[type=password] {
  width: calc(100% - 1.25rem - 2px);
  padding: 0.3125rem 0.625rem;
  margin: 0.3125rem 0;
  border: 1px solid #000;
  font-family: "Inter", system-ui;
}

main input[type=file] {
  width: 100%;
  padding: 0.3125rem 0;
  margin: 0.3125rem 0;
}

main input[type=text], main textarea, main input[type=email], main input[type=email], main input[type=date], main input[type=password], main select, main main div.contenitore_multiplo div span, main input[type=file], main div.form fieldset p {
  font-size: 1rem;
  font-family: "Inter", system-ui;
}

main select {
  width: 100%;
  padding: 0.3125rem 0;
  margin: 0.3125rem 0;
  text-align: left;
  font-size: 1rem;
}

main div.bottoni {
  width: 100%;
  padding: 0.3125rem 0;
  text-align: center;
}

main div.contenitore_multiplo {
  width: 100%;
  border: none;
  padding: 0 0;
  margin: 0 0 0 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
}

main div.contenitore_multiplo div {
  width: calc(33.33% - 1.25rem);
  margin: 0 0.625rem;
  padding: 0.3125rem 0;
  text-align: left;
  font-size: 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: center;
}

main div.contenitore_multiplo div span {
  margin: 0 0 0 0.3125rem;
  line-height: 2rem;
}

main div.form fieldset label.errore {
  padding: 0 0 0 2.25rem;
  text-transform: uppercase;
  margin: 0.3125rem auto;
  border-radius: 0.3125rem;
  line-height: 1.5rem;
  font-weight: 700;
  color: #FF0000;
}

main div.form fieldset label span.errore_input {
  margin-left: 0.3125rem;
  padding-left: 1.25rem;
  font-weight: 700;
  color: #FF0000;
}

main div.form span.messaggio_inviato_correttamente {
  display: block;
  margin: 2.5rem 0;
  width: 100%;
  text-align: center;
  font-size: 1.2rem;
}

main div.form a.help_small {
  float: left;
  width: 1rem;
  height: 1rem;
  margin: 0px 0px 0px 0.3125rem;
  padding: 0px;
}

main textarea {
  height: 10rem;
}

/* Smartphones ----------- */
@media only screen and (max-width: 960px) {
  main div.bottoni.genera_password {
    width: 96%;
    text-align: right;
  }

  main div.contenitore_multiplo div {
    width: 100%;
    margin: 0 0;
  }
}
/* Desktop ----------- */
@media only screen and (min-width: 961px) {
  main.monocolonna div.form {
    width: 100%;
    margin: 1.25rem auto !important;
  }

  main div.form fieldset label.meta {
    width: calc(50% - 1.25rem);
  }

  main div.bottoni.genera_password {
    text-align: right;
  }
}
header {
  margin: 0 0;
  padding: 0 2.5rem;
  position: relative;
  width: calc(100% - 5rem);
  z-index: 5 !important;
  pointer-events: none;
}

header a#logo {
  background: url("../../../images/pubblico/logo.svg") no-repeat;
  background-position: left center;
  background-size: contain;
  padding: 0 0 0 0;
  border: 0;
  display: block;
  pointer-events: auto;
  height: 8rem;
  width: 17.15843rem;
}

/* Smartphones ----------- */
@media only screen and (max-width: 1200px) {
  header a#logo {
    margin: 0.625rem 0;
    max-width: 100%;
  }
}
/* ipad desktop ----------- */
@media only screen and (min-width: 1201px) {
  header a#logo {
    margin: 0.875rem 0;
    z-index: 2;
  }
}
/* Generale    ----------- */
nav {
  border: 0;
  margin: 0 auto 0;
  z-index: 4 !important;
  padding: 0 0 0 0;
  width: 100%;
  display: flex;
  flex-flow: column wrap;
  align-content: flex-start;
  justify-content: flex-start;
  background: #FFF;
}

nav ul {
  width: 100%;
  margin: 0;
  padding: 0;
  z-index: 10;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  justify-content: flex-start;
}

nav ul.service {
  align-content: flex-end;
  justify-content: flex-end;
}

nav li {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  justify-content: flex-start;
  height: auto;
  position: relative;
}

nav li a {
  margin: 0 0 0 0;
  padding: 0.5rem 0.625rem;
  text-decoration: none;
  font-size: 1.2rem !important;
  line-height: 1.25rem;
  height: auto;
  text-align: left;
  font-weight: 500;
}

nav ul li ul li a {
  width: calc(100% - 1.25rem);
  font-size: 1.1rem !important;
}

nav li a {
  color: black;
}

nav li a:hover {
  color: #2DAAE1;
}

nav ul li a.selected {
  color: rgba(0, 0, 0, 0.7);
}

nav ul li#a130, nav ul li.nomenu {
  display: none;
}

nav li#cerca {
  margin: 0 0 0 0;
  padding: 0 0 0 2.5rem;
  list-style: none;
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: center;
  background: url("../../../images/pubblico/cerca.svg") no-repeat;
  background-position: 0.5rem center;
  background-size: 1.6rem auto;
}

nav li#cerca input {
  text-align: center;
  width: 100%;
  font-size: 0.875rem;
}

nav li.email {
  padding: 0 0 0 2rem;
  background: url("../../images/pubblico/_mailB.svg") no-repeat;
  background-position: 0.5rem center;
  background-size: 1.4rem auto;
}

nav li.telefono {
  padding: 0 0 0 2rem;
  background: url("../../images/pubblico/_phoneB.svg") no-repeat;
  background-position: 0.7rem center;
  background-size: 1.2rem auto;
}

nav ul li.lingue a {
  padding: 0.5rem 0 0.5rem 2.5rem;
  background-position: 0.25rem center !important;
  background-repeat: no-repeat !important;
  background-size: 1.8rem auto !important;
  width: auto;
  height: auto;
  display: inline-block;
}

nav ul li.lingue a.it {
  background: url("../../images/pubblico/it.svg");
}

nav ul li.lingue a.en {
  background: url("../../images/pubblico/uk.svg");
}

html:lang(it) nav ul li.lingue a.it {
  display: none;
}

html:lang(en) nav ul li.lingue a.en {
  display: none;
}

/* Smartphones ----------- */
@media only screen and (max-width: 1200px) {
  nav {
    width: calc(100% - 5rem);
    position: absolute;
    right: -100%;
    top: 0rem;
    padding: 10.5rem 2.5rem 1rem 2.5rem;
    height: calc(100vh - 11.5rem);
    transition: all ease-in-out 400ms;
    z-index: 3000 !important;
    background: rgba(38, 43, 55, 0.9);
    align-content: center;
  }

  nav.estratto {
    position: fixed;
    right: 0;
  }

  nav ul.service {
    order: 1;
    margin-bottom: 2.5rem;
  }

  nav ul.menu1 {
    order: 2;
  }

  nav ul {
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 0;
    display: flex;
    flex-flow: column nowrap;
    align-content: center;
    justify-content: center;
  }

  nav ul li {
    width: 100%;
    text-align: left;
    margin: 0 auto;
    padding: 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  nav ul li a {
    padding: 0.5rem 0rem;
    color: rgba(255, 255, 255, 0.75);
  }

  nav ul li a.selected {
    color: white;
  }

  nav ul li ul li a {
    width: auto;
    color: rgba(255, 255, 255, 0.75);
  }

  nav a.estrai_menu {
    background: url(../../../images/pubblico/nav/menu_open.svg) no-repeat center center;
    width: 3rem;
    height: 3rem;
    float: left;
    margin: 0;
    padding: 0;
    border: 0;
    position: absolute;
    top: 0rem;
    left: -3rem;
  }

  nav.estratto a.estrai_menu {
    background: url(../../../images/pubblico/nav_white/menu_close.svg) no-repeat center center;
    position: absolute;
    top: 0rem;
    left: calc(100% - 3rem);
    /* Standard */
  }

  nav ul li a.apri_chiudi {
    width: 1.25rem;
    height: 1.25rem;
    position: absolute;
    right: 0px;
    background: url("../../../images/pubblico/nav_white/menu_figli.svg") no-repeat;
    background-size: auto 90%;
    background-position: center center;
    transition: transform 0.3s ease-in-out;
    padding: 0.5rem 0.625rem;
  }

  nav ul li ul li {
    border-bottom: none;
    background: url(../../../images/pubblico/nav_white/menu_smartLi.svg) no-repeat;
    padding: 0 0 0 1rem;
    background-size: auto 0.625rem;
    background-position: 0.3125rem 0.75rem;
  }

  nav ul.topmenu {
    max-height: 0;
    transition: max-height 0.1s ease-out;
    overflow: hidden;
  }

  nav ul li.aperto > ul.topmenu {
    max-height: 5000px;
    transition: max-height 1s ease-in;
  }

  nav ul.midmenu {
    display: none;
  }

  nav li.email, nav li.telefono {
    padding: 0 0 0 2.5rem;
  }

  li.lingue {
    margin-top: 1.25rem;
    text-transform: capitalize;
  }

  li.lingue > a::after {
    content: attr(title);
  }
}
/* ipad desktop ----------- */
@media only screen and (min-width: 1201px) {
  a.estrai_menu, nav ul li a.apri_chiudi {
    display: none;
  }

  nav {
    margin: 0 0 0 0 !important;
    padding: 0 2.5rem 0 27.5rem;
    position: relative;
    width: calc(100% - 30rem);
    height: 100%;
    align-self: center;
    right: 0 !important;
    align-content: flex-end;
    justify-content: center;
  }

  nav ul {
    margin: 0 auto;
    padding: 0;
    z-index: 10;
    justify-content: flex-start;
  }

  nav ul.service {
    order: 1;
  }

  nav ul.menu1 {
    order: 2;
  }

  nav ul li ul {
    position: absolute;
    left: 0;
    top: 2.5rem;
    z-index: 1;
    width: 18rem;
  }

  nav ul li ul li ul {
    position: absolute;
    left: 100%;
    top: 0;
  }

  nav ul li ul li {
    overflow: hidden;
    max-height: 0;
    width: calc(100% - 1rem);
    transition: max-height 300ms ease-in-out;
    background-color: #53A0CD;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 1rem;
  }

  nav ul li ul li ul li {
    background-color: #53A0CD;
  }

  nav ul li ul li:hover {
    overflow: visible;
  }

  nav ul li ul li a {
    color: #FFF;
  }

  nav ul li ul li:hover {
    background-color: #004972;
  }

  nav ul li ul li ul li:hover {
    background-color: #004972;
  }

  nav ul li ul li:hover a {
    color: #FFF;
  }

  nav ul > li:hover ul li {
    max-height: 150px;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
  }

  nav ul li ul li ul.midmenu li {
    max-height: 0;
  }

  nav ul li ul li:hover ul.midmenu li {
    max-height: 150px;
  }

  nav ul li ul li {
    width: 100%;
  }

  nav ul li.lingue {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }

  nav ul li.figli {
    padding-left: 1.2rem;
    background: url("../../images/pubblico/nav/nev_desktop_figli.svg") no-repeat;
    background-position: 0.625rem center;
    background-size: 0.6rem auto;
  }

  nav ul li ul li.figli {
    padding-right: 1rem;
    padding-left: 0;
    background: url("../../images/pubblico/nav/nev_desktop_ul_ul_il_figli.svg") no-repeat;
    background-position: calc(100% - 0.625rem) 1.15rem;
    background-size: auto 0.6rem;
    background-color: #C5FC1A;
  }

  nav ul li ul li.figli:hover {
    background: url("../../images/pubblico/nav/nev_desktop_ul_ul_il_figli.svg") no-repeat;
    background-position: calc(100% - 0.625rem) 1.15rem;
    background-size: auto 0.6rem;
    background-color: #262B37;
  }

  nav li.telefono {
    margin-left: 2.5rem;
  }

  nav li.contattaci {
    margin-left: auto;
    margin-right: 1.25rem;
  }

  nav li.contattaci a {
    background: #53A0CD;
    border-radius: 0.3125rem;
    color: #FFFFFF;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    text-transform: uppercase;
  }

  nav li.contattaci a:hover {
    background: #004972;
    color: #FFFFFF;
  }

  nav li.contattaci a.selected {
    color: #FFFFFF;
  }

  nav ul li.lingue a {
    padding: 0 0 0 0;
    background-position: 0.25rem center !important;
    background-repeat: no-repeat !important;
    background-size: 2.2rem auto !important;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-block;
    font-size: 0 !important;
  }
}
html {
  min-height: 100%;
  width: 100%;
  background: #004972;
  scroll-snap-points: 100vh;
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
}

div.condivisione {
  display: none;
}

body {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  overflow-x: hidden;
  width: 100%;
  position: relative;
  font-family: "Inter", system-ui;
  /*background: url("../../images/pubblico/vitruviano.svg") no-repeat;
  background-position: calc(100% - 2.5rem) calc(100% - 2.5rem);
  background-size: auto 70%;
  background-attachment: fixed;*/
  background-color: #FFF;
}

body.homepage {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  overflow-x: hidden;
  width: 100%;
  position: relative;
  font-family: "Inter", system-ui;
}

#tutto {
  margin: 0 0 0 0;
  height: auto;
  min-height: auto;
  display: grid;
  overflow-x: hidden;
  max-width: 100%;
  position: relative;
  grid-auto-flow: row;
}

header {
  grid-area: head;
}

nav {
  grid-area: head;
}

main {
  grid-area: main;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem 0;
  clear: both;
  scroll-snap-align: start;
}

body.homepage main > *:nth-child(even) {
  /*background: url("../../images/pubblico/vitruvianoW.svg") no-repeat;
  background-position: calc(100% - 2.5rem) calc(100% - 2.5rem);
  background-size: auto 70%;
  background-attachment: fixed;*/
}

body.homepage main {
  padding: 0 0;
}

aside {
  grid-area: aside;
}

article.mappa_homepage {
  grid-area: mappa;
}

footer {
  grid-area: footer;
  scroll-snap-align: start;
}

section.primopiano, section.secondopiano {
  scroll-snap-align: start;
}

section.ottavopiano {
  grid-area: ottavo;
}

#slideHead {
  grid-area: prima;
}

div#barra_social {
  grid-area: social;
}

div#tutto div.percorso {
  grid-area: prima;
}

div#tutto div#pre_main {
  grid-area: prima;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

div#tutto div#post_main {
  grid-area: dopo;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#formrapido {
  grid-area: rapido;
}

@media only screen and (max-width: 600px) {
  #tutto {
    padding: calc(0rem / 4) calc(0rem / 4);
    width: calc(100% - (2 * (0rem / 4)));
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "head head head head" "prima prima prima prima" "main main main main" "dopo dopo dopo dopo" "aside aside aside aside" "rapido rapido rapido rapido" "mappa mappa mappa mappa" "social social social social" "ottavo ottavo ottavo ottavo" "footer footer footer footer";
    column-gap: calc(0rem / 4);
    row-gap: calc(0rem / 4);
  }

  div#tutto div.percorso {
    display: none;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  #tutto {
    padding: calc(0rem / 2) calc(0rem / 2);
    width: calc(100% - (2 * (0rem / 2)));
    column-gap: calc(0rem / 2);
    row-gap: calc(0rem / 2);
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: auto;
  }

  #tutto.duecolonne {
    grid-template-areas: "head head head head head head head head" "prima prima prima prima prima prima prima prima" "aside aside main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa mappa mappa" "rapido rapido rapido rapido rapido rapido rapido rapido" "social social social social social social social social" "ottavo ottavo ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer footer footer";
  }

  #tutto.monocolonna {
    grid-template-areas: "head head head head head head head head" "prima prima prima prima prima prima prima prima" "main main main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa mappa mappa" "rapido rapido rapido rapido rapido rapido rapido rapido" "social social social social social social social social" "ottavo ottavo ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer footer footer";
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1400px) {
  #tutto {
    padding: 0rem 0rem;
    width: calc(100% - (2 * 0rem));
    column-gap: 0rem;
    row-gap: 0rem;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
  }

  #tutto.duecolonne {
    grid-template-areas: "head head head head head head head head head head head head" "prima prima prima prima prima prima prima prima prima prima prima prima" "aside aside aside main main main main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa rapido rapido rapido rapido rapido rapido" "social social social social social social ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer ottavo ottavo ottavo ottavo ottavo ottavo";
  }

  #tutto.monocolonna {
    grid-template-areas: "head head head head head head head head head head head head" "prima prima prima prima prima prima prima prima prima prima prima prima" "main main main main main main main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa rapido rapido rapido rapido rapido rapido" "social social social social social social ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer ottavo ottavo ottavo ottavo ottavo ottavo";
  }

  div.percorso p, main, div#contenitore_primopiano, div#contenitore_secondopiano, #slideHead article h3, section.quartopiano, .contenitore_testo_home {
    max-width: 75rem;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.homepage main {
    max-width: 100%;
  }
}
@media only screen and (min-width: 1401px) {
  #tutto {
    padding: 0rem calc(4 * 0rem);
    width: calc(100% - (8 * 0rem));
    column-gap: 0rem;
    row-gap: 0rem;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
  }

  #tutto.duecolonne {
    grid-template-areas: "head head head head head head head head head head head head" "prima prima prima prima prima prima prima prima prima prima prima prima" "aside aside aside main main main main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa rapido rapido rapido rapido rapido rapido" "social social social social social social ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer ottavo ottavo ottavo ottavo ottavo ottavo";
  }

  #tutto.monocolonna {
    grid-template-areas: "head head head head head head head head head head head head" "prima prima prima prima prima prima prima prima prima prima prima prima" "main main main main main main main main main main main main" "dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo dopo" "mappa mappa mappa mappa mappa mappa rapido rapido rapido rapido rapido rapido" "social social social social social social ottavo ottavo ottavo ottavo ottavo ottavo" "footer footer footer footer footer footer ottavo ottavo ottavo ottavo ottavo ottavo";
  }

  div.percorso p, main, div#contenitore_primopiano, div#contenitore_secondopiano, #slideHead article h3, section.quartopiano, .contenitore_testo_home {
    max-width: 85rem;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.homepage main {
    max-width: 100%;
  }
}
@media only screen and (min-width: 1701px) {
  div.percorso p, main, div#contenitore_primopiano, div#contenitore_secondopiano, #slideHead article h3, section.quartopiano, .contenitore_testo_home {
    max-width: 100rem;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.homepage main {
    max-width: 100%;
  }
}
main {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
}

.box {
  margin: calc(2.5rem / 2) 2.5rem;
  width: calc(((100% / 12) * 12) - (2 * 2.5rem));
}

p.percorso {
  margin: 0rem 2.5rem;
}

h1 {
  margin: 1.25rem 2.5rem;
}

main.center {
  align-items: center;
}

.col-xxs, .col-xs, .col-s, .col-m, .col-l, .col-xl, .col-xxl, .col-max {
  margin: 1.25rem 2.5rem;
}

.col-xs-full, .col-s-full, .col-m-full, .col-l-full, .col-xl-full, .col-xxl-full, .col-max-full {
  margin: 0 0;
}

.maxwidth {
  background: #F5F5F5;
  margin: 0 0 0 0;
  padding: 2.5rem 2.5rem;
}

@media only screen and (max-width: 600px) {
  .col-xxs, .col-xs, .col-s, .col-m, .col-l, .col-xl, .col-max {
    width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  }

  .col-xxs-full, .col-xs-full, .col-s-full, .col-m-full, .col-l-full, .col-xl-full, .col-max-full {
    width: calc((100% / 12) * 12);
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  .col-xxs, .col-xs, .col-s, .col-m {
    width: calc(((100% / 12) * 6) - (2 * 2.5rem));
  }

  .col-xl, .col-max, .col-l {
    width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  }

  .col-xxs-full, .col-xs-full, .col-s-full, .col-m-full {
    width: calc((100% / 12) * 6);
  }

  .col-xl-full, .col-max-full, .col-l-full {
    width: calc((100% / 12) * 12);
  }
}
@media only screen and (min-width: 1201px) {
  .col-xxs {
    width: calc(((100% / 12) * 2) - (2 * 2.5rem));
  }

  .col-xs {
    width: calc(((100% / 12) * 3) - (2 * 2.5rem));
  }

  .col-s {
    width: calc(((100% / 12) * 4) - (2 * 2.5rem));
  }

  .col-m {
    width: calc(((100% / 12) * 6) - (2 * 2.5rem));
  }

  .col-l {
    width: calc(((100% / 12) * 8) - (2 * 2.5rem));
  }

  .col-xl {
    width: calc(((100% / 12) * 9) - (2 * 2.5rem));
  }

  .col-max {
    width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  }

  .col-xxs-full {
    width: calc((100% / 12) * 2);
  }

  .col-xs-full {
    width: calc((100% / 12) * 3);
  }

  .col-s-full {
    width: calc((100% / 12) * 4);
  }

  .col-m-full {
    width: calc((100% / 12) * 6);
  }

  .col-l-full {
    width: calc((100% / 12) * 8);
  }

  .col-xl-full {
    width: calc((100% / 12) * 9);
  }

  .col-max-full {
    width: calc((100% / 12) * 12);
  }

  .maxwidth {
    max-width: 75rem;
    padding-left: max(calc(50% - (75rem / 2)), 2.5rem) !important;
    padding-right: max(calc(50% - (75rem / 2)), 2.5rem) !important;
  }
}
/* --- SOCIAL --- */
div#barra_social {
  position: relative;
  width: calc(100% - 5rem);
  height: calc(100% - 5rem);
  margin: 0 auto;
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-flow: row wrap;
  align-self: center;
  background-color: #004972;
}

div#barra_social a {
  margin: 0 0.125rem;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  z-index: 3501;
  opacity: 1;
  transition: all ease-in-out 300ms;
}

div#barra_social a.twitter {
  background: url("../../images/pubblico/twitter_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.twitter:hover {
  background-position: center bottom;
}

div#barra_social a.facebook {
  background: url("../../images/pubblico/facebook_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.facebook:hover {
  background-position: center bottom;
}

div#barra_social a.instagram {
  background: url("../../images/pubblico/instagram_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.instagram:hover {
  background-position: center bottom;
}

div#barra_social a.youtube {
  background: url("../../images/pubblico/youtube_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.youtube:hover {
  background-position: center bottom;
}

div#barra_social a.linkedin {
  background: url("../../images/pubblico/linkedin_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.linkedin:hover {
  background-position: center bottom;
}

div#barra_social a.pinterest {
  background: url("../../images/pubblico/pinterest_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.pinterest:hover {
  background-position: center bottom;
}

div#barra_social a.whatsapp {
  background: url("../../images/pubblico/whatsapp_stripe.svg") no-repeat;
  background-size: 100% 200%;
  background-position: center top;
  transition: background-position ease-in-out 200ms;
}

div#barra_social a.whatsapp:hover {
  background-position: center bottom;
}

div#barra_social a.skype {
  display: none;
}

div#barra_social a.google {
  display: none;
}

div#barra_social a.google:hover {
  display: none;
}

/* Smartphones ----------- */
@media only screen and (max-width: 1200px) {
  div#barra_social {
    z-index: 2;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: flex-start;
    height: calc(100% - 5rem);
    margin: 0 auto;
    padding: 2.5rem 2.5rem 2.5rem;
    width: calc(100% - 5rem);
    background: url("../../images/pubblico/logoW.svg");
    background-repeat: no-repeat;
    background-position: 2.5rem 2.5rem;
    background-size: auto calc(100% - 2.5rem);
    background-color: #004972;
    min-height: 2.5rem;
  }

  div#barra_social a {
    margin: 0.2rem;
  }
}
@media only screen and (min-width: 1201px) {
  div#barra_social {
    z-index: 2;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: flex-start;
    height: calc(100% - 8.5rem);
    margin: 0 auto;
    padding: 2.5rem 2.5rem 6rem 2.5rem;
    width: calc(100% - 5rem);
    background: url("../../images/pubblico/logoW.svg");
    background-repeat: no-repeat;
    background-position: 2.5rem 2.5rem;
    background-size: auto calc(100% - 5rem);
    background-color: #004972;
    min-height: 2.5rem;
  }
}
/* --- BANNER COOKIE --- */
#banner_cookie {
  margin: 0;
  padding: 1rem;
  width: 25rem;
  height: 15rem;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  text-align: center;
  z-index: 11;
  position: fixed;
  top: calc(50% - 8.5rem);
  left: calc(50% - 13.5rem);
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: center;
}

#banner_cookie h3 {
  font-size: 1.4rem;
  text-transform: uppercase;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#banner_cookie p {
  color: white;
  font-size: 1rem;
  line-height: 1.6rem;
}

#banner_cookie p a {
  color: white;
  font-size: 1rem;
  line-height: 1.6rem;
  text-decoration: underline;
}

#banner_cookie > a {
  color: white;
  padding: 0 0.3125rem;
  display: inline-block !important;
  width: calc(50% - 2.5rem) !important;
}

#banner_cookie > p > a:nth-child(1) {
  border: 1px solid #13835B;
  margin: 0 0.3125rem;
  padding: 0.45rem 0.625rem 0.3125rem 0.625rem;
  text-decoration: none;
  border-radius: 0.3125rem;
  background: #37A54A;
}

#banner_cookie > p > a:nth-child(1):hover {
  background: #13835B;
}

#banner_cookie > p > a:nth-child(2) {
  border: 1px solid rgba(0, 0, 0, 0);
  margin: 0 0.3125rem;
  padding: 0.45rem 0.625rem 0.3125rem 0rem;
  text-decoration: none;
  border-radius: 0.3125rem;
}

#banner_cookie > p > a:nth-child(2):hover {
  color: #37A54A;
}

/* Formattazione Percorso ----------- */
div.percorso {
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0;
  width: 100%;
  z-index: 2;
  height: 2rem;
  background-color: #53A0CD !important;
}

div.percorso p {
  text-transform: lowercase;
  text-align: left;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
  margin: 0 auto 0 !important;
  padding: 0rem 2.5rem;
  width: calc(100% - 5rem);
  z-index: 2;
  line-height: 2rem;
}

div.percorso p span a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-weight: 400;
}

div.percorso p span a:hover {
  color: #FFF;
}

div.percorso p span a.tel, div.percorso p span a.mail {
  display: inline-block;
  padding: 0 0 0 2rem;
}

div.percorso p span a.tel {
  margin: 0 0 0 auto;
  background: url("../../images/pubblico/_phone_nero.svg") no-repeat;
  background-position: 0.625rem center;
  background-size: auto 100%;
}

div.percorso p span a.mail {
  margin: 0 0 0 0.625rem;
  background: url("../../images/pubblico/_mail_nero.svg") no-repeat;
  background-position: 0.3125rem center;
  background-size: auto 70%;
}

/* Formattazione Generale ----------- */
html {
  font-size: 100%;
}

main h1 {
  padding: 0 0;
  line-height: 135%;
  width: 100%;
  font-weight: 600;
  color: #262B37;
}

main.notitle h1 {
  display: none;
}

main h2, main h4, main h5, main h6 {
  width: 100%;
  font-weight: 600;
}

main h2, main h3, main h4, main h5, main h6, main p, main li, main table td, main table th {
  padding: 0.3125rem 0;
  line-height: 135%;
  margin: 0 0 0 0;
}

main h4 {
  color: #262B37;
}

main h3 {
  color: #262B37;
  font-weight: 700;
  width: 100%;
}

main h3 strong {
  color: #262B37;
  font-weight: 700;
}

main p, main li {
  text-align: justify;
  margin: 0.3125rem 0;
  color: #363E47;
  line-height: 140%;
  font-weight: 300;
}

main p strong, main li strong {
  font-weight: 600;
  color: #262B37;
}

main ol li {
  color: #262B37;
}

main ul li {
  margin: 0 0 0 0rem;
  list-style-position: outside;
  list-style-image: url("../../images/pubblico/bgLi.svg");
}

main a {
  color: #000;
  font-weight: 600;
}

main a:hover {
  color: #53A0CD;
}

main ul, main ol {
  padding: 0 0 0 1.75rem;
  margin: 0.3125rem 0;
}

div.box.testo > *:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* da rivedere */
main div.testo .view_contenuto {
  height: 2rem;
  width: 3rem;
  position: absolute;
  top: 0;
  right: 0;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  background-position: center center !important;
  background-size: 32px 32px !important;
  background-repeat: no-repeat !important;
}

main div.testo.chiuso .view_contenuto {
  background: url("../../images/pubblico/expand.svg");
}

main div.testo.aperto .view_contenuto {
  background: url("../../images/pubblico/reduce.svg");
  height: 2rem;
  width: 3rem;
}

main div.testo div.aprichiudi {
  overflow: hidden;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: block;
}

main.faq div.testo h2 {
  width: calc(100% - 3rem);
  padding-right: 3rem;
  font-size: 1.6rem;
}

main.faq div.testo p, main.faq div.testo li {
  font-size: 1.3rem;
}

main div.testo {
  position: relative;
}

main div.testo.col-max-full {
  width: calc(100% - 5rem) !important;
  padding: 1.25rem 2.5rem !important;
  margin: 0 0 !important;
}

main p.callto {
  font-size: 130%;
  margin-top: 2.5rem !important;
  color: #FFFFFF;
  text-transform: uppercase;
}

main p.callto a {
  display: inline-block;
  background: #323754;
  border-bottom: 2px solid #E30613;
  text-decoration: none;
  padding: 0.3125rem 0.625rem;
}

main p.callto a:hover {
  background: #E30613;
  color: #FFF;
}

div.colonne {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: row wrap;
}

div.colonna {
  width: 100%;
  margin: 1.25rem 0;
  padding: 0 0 0 0;
}

@media only screen and (max-width: 600px) {
  main h1 {
    font-size: 2.2rem;
  }

  main h2 {
    font-size: 1.6rem;
  }

  main h3, div.pre_elenco h2 {
    font-size: 1.5rem;
  }

  main h4 {
    font-size: 1.4rem;
  }

  main h5 {
    font-size: 1.25rem;
  }

  main h6 {
    font-size: 1.1rem;
  }

  main p, main table td, main table th, main li {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  main h1 {
    font-size: 2.2rem;
  }

  main h2 {
    font-size: 1.6rem;
  }

  main h3, div.pre_elenco h2 {
    font-size: 1.5rem;
  }

  main h4 {
    font-size: 1.4rem;
  }

  main h5 {
    font-size: 1.25rem;
  }

  main h6 {
    font-size: 1.1rem;
  }

  main p, main table td, main table th, main li {
    font-size: 1rem;
  }

  main div.testo ul.vantaggi li {
    width: calc(50% - 6rem);
  }
}
@media only screen and (min-width: 1201px) {
  main h1 {
    font-size: calc(2.2rem * 1.125);
  }

  main h2 {
    font-size: calc(1.6rem * 1.125);
  }

  main h3, div.pre_elenco h2 {
    font-size: calc(1.5rem * 1.125);
  }

  main h4 {
    font-size: calc(1.4rem * 1.125);
  }

  main h5 {
    font-size: calc(1.25rem * 1.125);
  }

  main h6 {
    font-size: calc(1.1rem * 1.125);
  }

  main p, main table td, main table th, main li {
    font-size: calc(1rem * 1.125);
  }

  main div.testo ul.vantaggi li {
    width: calc(33% - 5.9rem);
  }

  div.colonna {
    width: calc(50% - 2.5rem);
    margin: 1.25rem 2.5rem 1.25rem 0;
    padding: 0 0 0 0;
  }
}
@media only screen and (min-width: 1601px) {
  main div.testo ul.vantaggi li {
    width: calc(25% - 6rem);
  }
}
div.video {
  height: auto;
}

div.contenitoreVideo {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
  height: auto;
  background: url("../../../images/loader.gif") no-repeat center center;
  z-index: 2;
}

div.video iframe {
  width: 100%;
  height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.75);
}

div.video.maxwidth {
  max-width: 75rem;
  margin-left: calc(50% - (75rem / 2)) !important;
  margin-right: calc(50% - (75rem / 2)) !important;
}

video {
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 600px) {
  .video.col-xs div.video iframe, .video.col-s div.video iframe, .video.col-m div.video iframe, .video.col-l div.video iframe, .video.col-xl div.video iframe, .video.col-max div.video iframe {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-xs-full div.video iframe, .video.col-s-full div.video iframe, .video.col-m-full div.video iframe, .video.col-l-full div.video iframe, .video.col-xl-full div.video iframe, .video.col-max-full div.video iframe {
    height: calc(100vw * 0.75);
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  .video.col-xs div.video iframe {
    height: calc((((100vw / 12) * 3) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-s div.video iframe {
    height: calc((((100vw / 12) * 4) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-m div.video iframe {
    height: calc((((100vw / 12) * 6) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-l div.video iframe, .video.col-xl div.video iframe, .video.col-max div.video iframe {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-xs-full div.video iframe {
    height: calc(((100vw / 12) * 3) * 0.75);
  }

  .video.col-s-full div.video iframe {
    height: calc(((100vw / 12) * 4) * 0.75);
  }

  .video.col-m-full div.video iframe {
    height: calc(((100vw / 12) * 6) * 0.75);
  }

  .video.col-l-full div.video iframe, .video.col-xl-full div.video iframe, .video.col-max-full div.video iframe {
    height: calc(((100vw / 12) * 12) * 0.75);
  }
}
@media only screen and (min-width: 1201px) {
  .video.col-xs div.video iframe {
    height: calc((((100vw / 12) * 3) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-s div.video iframe {
    height: calc((((100vw / 12) * 4) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-m div.video iframe {
    height: calc((((100vw / 12) * 6) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-l div.video iframe {
    height: calc((((100vw / 12) * 8) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-xl div.video iframe {
    height: calc((((100vw / 12) * 9) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-max div.video iframe {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.75);
  }

  .video.col-xs-full div.video iframe {
    height: calc(((100vw / 12) * 3) * 0.75);
  }

  .video.col-s-full div.video iframe {
    height: calc(((100vw / 12) * 4) * 0.75);
  }

  .video.col-m-full div.video iframe {
    height: calc(((100vw / 12) * 6) * 0.75);
  }

  .video.col-l-full div.video iframe {
    height: calc(((100vw / 12) * 8) * 0.75);
  }

  .video.col-xl-full div.video iframe {
    height: calc(((100vw / 12) * 9) * 0.75);
  }

  .video.col-max-full div.video iframe {
    height: calc(((100vw / 12) * 12) * 0.75);
  }
}
.allegato {
  text-align: left;
}

.contenitore_allegati {
  text-align: left;
  border: 1px dashed #CCC;
}

.allegato a {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: auto;
  position: relative;
  text-decoration: none;
  display: inline-block;
}

.allegato a span {
  margin: 0.625rem 2.5rem 0.625rem 0rem;
  padding: 0 0 0 2.625rem;
  display: block;
  text-align: left;
  line-height: 2.25rem;
  width: calc(100% - 2.625rem);
  background: url("../../../images/pubblico/download.svg") no-repeat top left;
  background-size: 36px 36px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 700;
  text-decoration: none;
}

@media only screen and (max-width: 600px) {
  .allegato a span {
    font-size: 1rem;
  }

  .allegato a {
    margin: 6px 0px 6px 0px;
    width: 100%;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  .allegato a span {
    font-size: calc(1rem * 1.125);
  }
}
@media only screen and (min-width: 1201px) {
  .allegato a span {
    font-size: calc(1rem * 1.25);
  }

  .allegato a {
    width: calc(50% - 1.25rem);
  }
}
div.dove_siamo {
  height: auto;
}

div.dove_siamo .mappa_google {
  width: 100%;
  height: 100%;
  border: 0;
}

div.mappa {
  width: 100%;
  height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.6);
}

div.dove_siamo.maxwidth {
  max-width: 75rem;
  margin-left: calc(50% - (75rem / 2)) !important;
  margin-right: calc(50% - (75rem / 2)) !important;
}

@media only screen and (max-width: 600px) {
  .dove_siamo.col-xs div.mappa, .dove_siamo.col-s div.mappa, .dove_siamo.col-m div.mappa, .dove_siamo.col-l div.mappa, .dove_siamo.col-xl div.mappa, .dove_siamo.col-max div.mappa {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-xs-full div.mappa, .dove_siamo.col-s-full div.mappa, .dove_siamo.col-m-full div.mappa, .dove_siamo.col-l-full div.mappa, .dove_siamo.col-xl-full div.mappa, .dove_siamo.col-max-full div.mappa {
    height: calc(100vw * 0.6);
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  .dove_siamo.col-xs div.mappa {
    height: calc((((100vw / 12) * 3) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-s div.mappa {
    height: calc((((100vw / 12) * 4) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-m div.mappa {
    height: calc((((100vw / 12) * 6) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-l div.mappa, .dove_siamo.col-xl div.mappa, .dove_siamo.col-max div.mappa {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-xs-full div.mappa {
    height: calc(((100vw / 12) * 3) * 0.6);
  }

  .dove_siamo.col-s-full div.mappa {
    height: calc(((100vw / 12) * 4) * 0.6);
  }

  .dove_siamo.col-m-full div.mappa {
    height: calc(((100vw / 12) * 6) * 0.6);
  }

  .dove_siamo.col-l-full div.mappa, .dove_siamo.col-xl-full div.mappa, .dove_siamo.col-max-full div.mappa {
    height: calc(((100vw / 12) * 12) * 0.6);
  }
}
@media only screen and (min-width: 1201px) {
  .dove_siamo.col-xs div.mappa {
    height: calc((((100vw / 12) * 3) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-s div.mappa {
    height: calc((((100vw / 12) * 4) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-m div.mappa {
    height: calc((((100vw / 12) * 6) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-l div.mappa {
    height: calc((((100vw / 12) * 8) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-xl div.mappa {
    height: calc((((100vw / 12) * 9) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-max div.mappa {
    height: calc((((100vw / 12) * 12) - (2 * 2.5rem)) * 0.6);
  }

  .dove_siamo.col-xs-full div.mappa {
    height: calc(((100vw / 12) * 3) * 0.6);
  }

  .dove_siamo.col-s-full div.mappa {
    height: calc(((100vw / 12) * 4) * 0.6);
  }

  .dove_siamo.col-m-full div.mappa {
    height: calc(((100vw / 12) * 6) * 0.6);
  }

  .dove_siamo.col-l-full div.mappa {
    height: calc(((100vw / 12) * 8) * 0.6);
  }

  .dove_siamo.col-xl-full div.mappa {
    height: calc(((100vw / 12) * 9) * 0.6);
  }

  .dove_siamo.col-max-full div.mappa {
    height: calc(((100vw / 12) * 12) * 0.6);
  }
}
section.ottavopiano {
  margin: 0 0 0 0;
  padding: 0 0;
  width: 100%;
  position: relative;
  display: block;
  /*background: url("../../images/pubblico/bandiera.png") no-repeat;
  background-position: right bottom;
  background-size: 50% 5px;*/
  background-color: #004972;
}

section.ottavopiano .contenitore {
  width: calc(100% - 3.75rem);
  padding: 1.875rem;
  position: relative;
}

section.ottavopiano .contenuto {
  height: auto;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: column wrap;
  z-index: 1;
}

section.ottavopiano article {
  padding: 0.3125rem 0.625rem 0.3125rem 0rem;
  margin: 0.625rem 0.625rem 0.625rem 0rem;
  width: auto;
  height: auto;
}

section.ottavopiano article h3 {
  font-size: 1.2rem;
  font-weight: 400;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0.3125rem 0rem 0.3125rem 0rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
  color: #FFF;
}

section.ottavopiano article h3:hover {
  color: #A9E0FF !important;
}

section.ottavopiano article h3 a {
  text-decoration: none;
  font-weight: 400;
  color: #FFF;
}

section.ottavopiano article h3 a:hover {
  color: #A9E0FF !important;
}

section.ottavopiano article ul {
  width: calc(100% - 2.5rem);
  margin: 0.625rem 0 0.3125rem;
  padding: 0 1.25rem;
}

section.ottavopiano article li {
  margin: 0 0 0 1.4rem;
  padding: 0.15rem 0;
  margin: 0 0 0 0;
  list-style-position: outside;
  list-style-image: url("../../images/pubblico/bgLi_nono.svg");
}

section.ottavopiano article li a, section.ottavopiano article p {
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 400;
  color: #FFF;
}

section.ottavopiano article li a:hover {
  color: #A9E0FF !important;
}

section.ottavopiano article span.copertura, section.ottavopiano article a.maggiori_info, section.ottavopiano article a.aggiungi_copertura, section.ottavopiano article span.prezzo, section.ottavopiano article a.aggiungi, section.ottavopiano article span.prezzo_scontato, section.ottavopiano article.selected div.data, section.ottavopiano div.paginazione, #controlli_ottavopiano, section.ottavopiano article a.img, section.ottavopiano article a.vai {
  display: none;
}

@media only screen and (max-width: 600px) {
  section.ottavopiano .contenuto {
    flex-flow: column nowrap;
  }

  section.ottavopiano article li {
    font-size: 1rem;
  }

  section.ottavopiano article h3 {
    font-size: 1.1rem;
  }

  section.ottavopiano article {
    width: 100%;
    padding: 0.3125rem 0rem 0.3125rem 0rem;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  section.ottavopiano article {
    width: calc((100% / 2) - 0.625rem);
  }

  section.ottavopiano .contenuto {
    max-height: 20.5rem;
  }
}
@media only screen and (min-width: 1201px) {
  section.ottavopiano article {
    width: calc((100% / 2) - 0.625rem);
  }

  section.ottavopiano .contenuto {
    max-height: 20.5rem;
  }
}
main div.galleria_normale {
  float: none !important;
  position: relative;
}

div.contenitoreGalleria {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
  overflow: hidden;
}

div.galleria_normale div.contenitore_immagini_grandi {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  transition: all 1200ms cubic-bezier(0.77, 0, 0.175, 1) 0s;
}

div.galleria_normale figure.immagineGrande {
  margin: 0px auto 0px auto;
  cursor: pointer;
  text-align: center;
  float: left;
  width: 100%;
  max-width: 100%;
  position: relative;
  border: none;
  background: none;
}

main div.galleria_normale figure.immagineGrande img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: auto !important;
  margin: 0 0 0 0;
  float: none;
  display: flex;
  font-size: 0;
}

div.galleria_normale div.contenitoreGalleria figcaption.didascalia {
  position: relative;
  width: calc(100% - 0.625rem);
  max-width: calc(100% - 0.625rem);
  display: block;
  height: auto;
  padding: 0.3125rem;
  color: #000;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.galleria_normale div.contenitoreGalleria a.frecciaSx {
  opacity: 0;
  height: 100%;
  width: 20%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

div.galleria_normale:hover div.contenitoreGalleria a.frecciaSx {
  opacity: 1;
}

div.galleria_normale div.contenitoreGalleria a.frecciaSx:hover {
  background: url(../../../images/pubblico/sx.svg) no-repeat center left;
  background-size: 2.5rem 2.5rem;
}

div.galleria_normale div.contenitoreGalleria a.frecciaDx {
  height: 100%;
  width: 20%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  opacity: 0;
}

div.galleria_normale:hover div.contenitoreGalleria a.frecciaDx {
  opacity: 1;
}

div.galleria_normale div.contenitoreGalleria a.frecciaDx:hover {
  background: url(../../../images/pubblico/dx.svg) no-repeat center right;
  background-size: 2.5rem 2.5rem;
}

div.galleria_normale div.miniature {
  width: 100%;
  text-align: center;
  padding: 0.3125rem 0;
  min-height: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  position: relative;
}

div.galleria_normale div.miniature a.miniatura {
  display: block;
  margin: 0.15625rem;
  background: #FFF !important;
  z-index: 3000;
  width: 0.625rem !important;
  height: 0.625rem !important;
  border-radius: 0.3125rem;
  border: 2px solid #000 !important;
}

div.galleria_normale div.miniature a.selected {
  background: #000 !important;
  width: 1.25rem !important;
}

div.galleria_normale div.miniature a:hover {
  background: #000 !important;
}

main.galleria_titolo h1 {
  display: none;
}

main.galleria_titolo div.galleria_normale div.contenitoreGalleria figcaption.didascalia {
  font-size: 6vw;
  font-weight: 300;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
}

main.galleria_titolo div.galleria_normale:nth-of-type(1) {
  pointer-events: none;
}

main div.galleria_full {
  position: relative;
}

div.contenitoreGalleria {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
  overflow: hidden;
}

div.galleria_full div.contenitore_immagini_grandi {
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 1200ms cubic-bezier(0.77, 0, 0.175, 1) 0s;
}

div.galleria_full figure.immagineGrande {
  margin: 0px auto 0px auto;
  cursor: pointer;
  text-align: center;
  float: left;
  width: 100%;
  position: relative;
  border: none;
  background-size: cover !important;
}

div.galleria_full figure.immagineGrande img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: auto !important;
  margin: 0 0 0 0;
  float: none;
  display: flex;
  opacity: 0 !important;
  font-size: 0;
}

div.galleria_full div.contenitoreGalleria figcaption.didascalia {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 5rem);
  height: calc(100% - 2.5rem);
  padding: 1.25rem 2.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  color: #000;
  text-align: left;
  /*background: linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.4))*/
}

#pre_main div.galleria_full div.contenitoreGalleria figcaption.didascalia {
  background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.4));
}

div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
  display: inline-block;
  font-weight: 700;
  color: #FFF;
}

div.galleria_full div.contenitoreGalleria a.frecciaSx {
  opacity: 0;
  height: 100%;
  width: 20%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

div.galleria_full:hover div.contenitoreGalleria a.frecciaSx {
  opacity: 1;
}

div.galleria_full div.contenitoreGalleria a.frecciaDx {
  height: 100%;
  width: 20%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  opacity: 0;
}

div.galleria_full:hover div.contenitoreGalleria a.frecciaDx {
  opacity: 1;
}

div.galleria_full div.contenitoreGalleria a.frecciaDx:hover {
  background: url(../../../images/pubblico/dx.svg) no-repeat center right;
  background-size: 2.5rem 2.5rem;
}

div.galleria_full div.contenitoreGalleria a.frecciaSx:hover {
  background: url(../../../images/pubblico/sx.svg) no-repeat center left;
  background-size: 2.5rem 2.5rem;
}

main.bianca div.galleria_full div.contenitoreGalleria a.frecciaDx:hover {
  background: url(../../../images/pubblico/dxHover.svg) no-repeat center right;
  background-size: 2.5rem 2.5rem;
}

main.bianca div.galleria_full div.contenitoreGalleria a.frecciaSx:hover {
  background: url(../../../images/pubblico/sxHover.svg) no-repeat center left;
  background-size: 2.5rem 2.5rem;
}

div.galleria_full div.miniature {
  width: auto;
  height: auto;
  text-align: right;
  padding: 0.3125rem 0.875rem;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-flow: column wrap;
  position: absolute;
  bottom: 0.625rem;
  right: 0;
}

div.galleria_full div.miniature a.miniatura {
  display: block;
  margin: 0.15625rem;
  border: none !important;
  background: none !important;
  z-index: 2;
  width: 0.625rem !important;
  height: 0.625rem !important;
  border-radius: 0.3125rem;
  border: 2px solid #000 !important;
  transition: width ease-in-out 300ms;
}

div.galleria_full div.miniature a.selected {
  background: #000 !important;
  height: 1.25rem !important;
}

div.galleria_full div.miniature a:hover {
  background: #000 !important;
}

div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
  font-weight: 600;
  text-transform: uppercase;
}

div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 big {
  font-weight: 600;
  text-transform: none;
  font-size: 150%;
}

#pre_main div.galleria_full {
  pointer-events: none !important;
}

@media only screen and (max-width: 600px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia {
    font-size: 1rem;
  }

  div.galleria_full figure.immagineGrande {
    aspect-ratio: 1/1;
  }

  div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
    max-width: 80rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1200px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia {
    font-size: calc(1rem * 1.125);
  }

  div.galleria_full.col-max div.contenitoreGalleria figcaption.didascalia,
div.galleria_full.col-max-full div.contenitoreGalleria figcaption.didascalia {
    font-size: 3vw;
  }

  div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
    max-width: 70rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 1201px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia {
    font-size: calc(1rem * 1.25);
  }

  div.galleria_full.col-max div.contenitoreGalleria figcaption.didascalia,
div.galleria_full.col-max-full div.contenitoreGalleria figcaption.didascalia {
    font-size: 2.5vw;
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1400px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
    max-width: 70rem;
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 1401px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
    max-width: 80rem;
    font-size: 3rem;
  }
}
@media only screen and (min-width: 1701px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia h1 {
    max-width: 95rem;
    font-size: 3.4rem;
  }
}
/* FINE CLASSI SCORRIMENTO */
div.galleria_espansa {
  clear: left;
}

div.galleria_espansa div.contenitore_galleria_espansa {
  margin: 0 auto;
  padding: 0 0.625rem;
  font-size: 0;
  width: calc(100% - 1.25rem);
  display: grid;
  grid-gap: 0.625rem;
}

div.galleria_espansa figure.immagineGrande {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  padding: 0;
  margin: 0;
  background: url("../../../images/pubblico/espansa_plus.svg") no-repeat #478C26;
  background-size: 3rem 3rem;
  background-position: center center;
  transition: all ease-in-out 300ms;
  overflow: hidden;
  position: relative;
}

div.galleria_espansa figure.immagineGrande img {
  transition: all ease-in-out 300ms;
  display: block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  opacity: 1;
  cursor: pointer;
  z-index: 1;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

div.galleria_espansa figure.immagineGrande img:hover {
  opacity: 0.2;
}

div.galleria_espansa figcaption {
  display: none;
}

div.galleria_espansa div.miniature {
  display: none;
}

@media only screen and (min-width: 1201px) {
  div.galleria_espansa figure.immagineGrande {
    width: 100%;
  }

  div.galleria_espansa div.contenitore_galleria_espansa {
    display: grid;
    grid-template-columns: calc(25% - 0.46875rem) calc(25% - 0.46875rem) calc(25% - 0.46875rem) calc(25% - 0.46875rem);
    grid-auto-rows: 18.203125rem;
    padding: 10px;
    counter-reset: figure;
  }

  div.galleria_espansa figure.immagineGrande:nth-child(16n+3), div.galleria_espansa figure.immagineGrande:nth-child(16n+9) {
    grid-column: auto/span 1;
    grid-row: auto/span 2;
  }

  div.galleria_espansa figure.immagineGrande:nth-child(16n+1), div.galleria_espansa figure.immagineGrande:nth-child(16n+11) {
    grid-column: auto/span 2;
    grid-row: auto/span 2;
  }
}
@media only screen and (min-width: 1401px) {
  div.galleria_espansa div.contenitore_galleria_espansa {
    grid-auto-rows: 20.703125rem;
  }
}
@media only screen and (min-width: 1701px) {
  div.galleria_espansa div.contenitore_galleria_espansa {
    grid-auto-rows: 24.453125rem;
  }
}
/* ELENCO */
div.pre_elenco {
  margin: 0 0 0 0;
  padding: 1.25rem 0 0 0;
  background: none;
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

div.pre_elenco h2 {
  margin: 0 0 0 0;
  width: calc(100% - 5rem);
  padding: 0 2.5rem;
  font-weight: 600;
  color: #322B80;
}

div.pre_elenco h2 span {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

section.elenco_pagine {
  margin: 0rem 0;
  width: calc(100% - 2.5rem);
  padding: 2.5rem 1.25rem 0 1.25rem;
  display: flex;
  align-items: stretch;
  position: relative;
  background: none;
}

div.pre_elenco + section.elenco_pagine {
  border-top: 1px solid rgba(0, 0, 0, 0);
}

section.elenco_pagine h2, section.elenco_pagine h3 {
  margin: 0 0 2.5rem 0;
  padding: 0 0 0.3125rem 0;
  width: 100%;
  text-align: center;
  background: url("../../images/pubblico/bgRosso.jpg") no-repeat;
  background-size: 4rem 2px;
  background-position: center bottom;
  color: #000 !important;
}

section.lista {
  flex-flow: column nowrap;
}

section.elenco {
  flex-flow: row wrap;
}

section.elenco article {
  padding: 0 0 0 0;
  margin: 0rem 1.25rem 2.5rem 0;
  position: relative;
  text-align: center;
  /*background: url("../../images/pubblico/vitruviano.svg") no-repeat;
  background-position: calc(100% - 2.5rem) calc(100% - 2.5rem);
  background-size: auto 70%;
  background-attachment: fixed;*/
  background-color: #F5F5F5;
}

main.home_prodotti section.elenco article {
  padding: 12rem 0 0 0;
  margin: 0rem 1.25rem 2.5rem 0;
  position: relative;
  text-align: center;
  background-position: center 1.25rem !important;
  background-size: auto 11rem !important;
  background-color: #F5F5F5 !important;
  border-radius: 1.25rem;
}

main.home_prodotti section.elenco article:hover {
  background-color: #53A0CD !important;
}

main.home_prodotti section.elenco article.residenziale {
  background: url("../../images/pubblico/icone/residenziale.svg") no-repeat;
}

main.home_prodotti section.elenco article.industriale {
  background: url("../../images/pubblico/icone/industriale.svg") no-repeat;
}

main.home_prodotti section.elenco article.commerciale {
  background: url("../../images/pubblico/icone/commerciale.svg") no-repeat;
}

main.home_prodotti section.elenco article.bonifica {
  background: url("../../images/pubblico/icone/bonifica.svg") no-repeat;
}

main.home_prodotti section.elenco article.rinnovabili {
  background: url("../../images/pubblico/icone/rinnovabili.svg") no-repeat;
}

main.home_prodotti section.elenco article.pompe_calore {
  background: url("../../images/pubblico/icone/pompe_calore.svg") no-repeat;
}

main.home_prodotti section.elenco article.accessori_residenziale {
  background: url("../../images/pubblico/icone/accessori_residenziale.svg") no-repeat;
}

main.home_prodotti section.elenco article.accessori_industriale {
  background: url("../../images/pubblico/icone/accessori_industriale.svg") no-repeat;
}

main.home_prodotti section.elenco article.residenziale:hover {
  background: url("../../images/pubblico/icone/residenziale_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.industriale:hover {
  background: url("../../images/pubblico/icone/industriale_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.commerciale:hover {
  background: url("../../images/pubblico/icone/commerciale_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.bonifica:hover {
  background: url("../../images/pubblico/icone/bonifica_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.rinnovabili:hover {
  background: url("../../images/pubblico/icone/rinnovabili_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.pompe_calore:hover {
  background: url("../../images/pubblico/icone/pompe_calore_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.accessori_residenziale:hover {
  background: url("../../images/pubblico/icone/accessori_residenziale_hover.svg") no-repeat;
}

main.home_prodotti section.elenco article.accessori_industriale:hover {
  background: url("../../images/pubblico/icone/accessori_industriale_hover.svg") no-repeat;
}

section.elenco article a.img {
  width: calc(100% - 2.5rem);
  margin: 1.25rem;
  padding: 0;
  position: relative;
  font-size: 0;
  display: flex;
  aspect-ratio: 1/1;
  background: #FFF;
}

section.elenco article a.img img {
  width: 100%;
  height: auto;
  position: relative;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  object-fit: contain;
}

section.elenco article h4 {
  font-size: 1.4rem;
  text-align: left;
  font-weight: 400;
}

section.elenco article h4 a {
  text-decoration: none;
  color: #004972;
  font-weight: 400;
}

section.elenco article:hover h4 a {
  color: #53A0CD;
}

section.elenco article p {
  text-align: left;
  font-size: 1.1rem;
  color: #363E47;
}

main.home_prodotti section.elenco article h4, main.home_prodotti section.elenco article p {
  text-align: center;
}

main.home_prodotti section.elenco article:hover h4 a, main.home_prodotti section.elenco article:hover p {
  color: #FFFFFF;
}

section.elenco article div.testo {
  padding: 1.25rem;
  width: calc(100% - 2.5rem);
}

section.elenco article div.testo table {
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
  width: 100% !important;
}

section.elenco article div.testo table td {
  margin: 0 0 0 0 !important;
  padding: 0.3125rem !important;
  vertical-align: top !important;
  font-size: 0.75rem !important;
}

section.elenco article div.testo table tr:nth-child(odd) {
  background: #F5F5F5;
}

section.elenco article a.vai {
  display: inline-block;
  margin: 0.3125rem auto 0;
  padding: 0.3125rem 0.625rem;
  color: #FFFFFF;
  background: #CD1423;
}

section.elenco article a.download {
  display: inline-block;
  margin: 0.3125rem auto 0;
  padding: 0.3125rem 0.625rem 0.3125rem 2rem;
  color: #CD1423;
  background: url("../../images/pubblico/download.svg") no-repeat;
  background-position: left center;
  background-size: auto 1.6rem;
}

@media only screen and (max-width: 600px) {
  section.elenco article {
    width: 100%;
    margin: 0rem 0 2.5rem 0rem;
  }

  section.elenco {
    justify-content: space-around;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  section.elenco article {
    width: calc(33.33% - 2.5rem);
    margin: 0rem 0 2.5rem 2.5rem;
  }

  section.elenco {
    justify-content: flex-start;
  }

  section.elenco article:nth-child(3n+1) {
    margin-right: 0;
  }
}
@media only screen and (min-width: 1201px) {
  section.elenco {
    justify-content: flex-start;
  }

  section.elenco article {
    width: calc(33.33% - 2.5rem - 4px);
    margin: 0rem 1.25rem 2.5rem;
  }

  main.home_prodotti section.elenco article {
    width: calc(25% - 2.5rem - 4px);
    margin: 0rem 1.25rem 2.5rem;
  }
}
main.masonry section.elenco {
  width: calc(100% - 1.25rem);
  display: block;
  margin: 0 0 0 0;
  padding: 0.625rem;
  -moz-column-gap: 0;
  -webkit-column-gap: 0;
  column-gap: 0;
  font-size: 0;
}

main.masonry section.elenco article {
  display: inline-block;
  padding: 0.625rem;
  margin: 0.625rem;
  width: calc(100% - 1.25rem);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 0;
}

main.masonry section.elenco article div.testo {
  min-height: 0;
}

@media only screen and (max-width: 600px) {
  main.masonry section.elenco {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
  }
}
@media only screen and (min-width: 600px) and (max-width: 960px) {
  main.masonry section.elenco {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
  }
}
@media only screen and (min-width: 961px) and (max-width: 1400px) {
  main.masonry section.elenco {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
@media only screen and (min-width: 1401px) and (max-width: 1800px) {
  main.masonry section.elenco {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
@media only screen and (min-width: 1801px) {
  main.masonry section.elenco {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
  }
}
section.lista {
  flex-flow: column nowrap;
  width: 100%;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
}

section.lista article {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

section.lista article a.img {
  width: 100% !important;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
  font-size: 0;
}

section.lista article a.img img {
  width: 100% !important;
  height: auto;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
}

section.lista article div.testo {
  position: relative;
  padding: 2.5rem;
  width: calc(100% - 5rem);
}

section.lista article h4 a {
  text-decoration: none;
  font-weight: 400;
}

section.lista article h4 a:hover {
  color: #478C26;
}

@media only screen and (max-width: 600px) {
  section.lista article {
    flex-flow: column nowrap;
  }

  section.lista article h4 {
    font-size: 1.6rem;
  }

  section.lista article p {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  section.lista article {
    flex-flow: row wrap;
  }

  section.lista article a.img {
    width: 50% !important;
  }

  section.lista article div.testo {
    position: relative;
    padding: 1.25rem;
    width: calc(50% - 2.5rem);
  }

  section.lista article:nth-child(even) div.testo {
    order: 0;
  }

  section.lista article:nth-child(even) a.img {
    order: 1;
  }

  section.lista article h4 {
    font-size: 1.6rem;
  }

  section.lista article p {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 1201px) {
  section.lista article {
    flex-flow: row wrap;
  }

  section.lista article a.img {
    width: 50% !important;
  }

  section.lista article div.testo {
    position: relative;
    padding: 2.5rem;
    width: calc(50% - 5rem);
  }

  section.lista article:nth-child(even) div.testo {
    order: 0;
  }

  section.lista article:nth-child(even) a.img {
    order: 1;
  }

  section.lista article h4 {
    font-size: 2.2rem;
  }

  section.lista article p {
    font-size: 1.25rem;
  }
}
main section.elenco.correlati {
  width: calc(100% - 5rem);
  padding: 1.25rem 2.5rem;
  margin: 0 0 0 0;
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  justify-content: flex-start;
  border: none !important;
}

main section.elenco.correlati article {
  list-style: none !important;
  width: calc(100% - 5.625rem);
  height: 5rem;
  text-align: left;
  padding: 0.3125rem 0.3125rem 0.3125rem 5rem;
  margin: 0.3125rem 0.625rem 0.3125rem 0;
  position: relative;
  background-repeat: no-repeat !important;
  background-position: 0.625rem center !important;
  background-size: 4rem 4rem !important;
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: flex-start;
  font-weight: 500;
  text-transform: uppercase;
  color: white;
  min-height: 0;
  background: none;
}

main section.elenco.correlati article h4 {
  text-align: left;
  margin: 0 0 0 0;
  color: #2B4669;
}

main section.elenco.correlati article h4 a {
  color: #2B4669;
  font-size: 1.1rem !important;
}

main section.elenco.correlati article h4 a:hover {
  color: #53A0CD;
}

main section.elenco.correlati article a.img, main section.elenco.correlati article a.vai, main section.elenco.correlati article p, main section.elenco.correlati article a.img img {
  display: none;
}

main section.elenco.correlati article div.testo {
  min-height: 0;
}

@media only screen and (max-width: 600px) {
  main section.elenco.correlati article {
    width: calc(100% - 6rem);
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  main section.elenco.correlati article {
    width: calc(50% - 6rem);
  }
}
@media only screen and (min-width: 1201px) {
  main section.elenco.correlati article {
    width: calc(16.66% - 6rem);
  }

  main section.elenco.correlati article.modulo, main section.elenco.correlati article.scheda {
    width: calc(33% - 6rem);
  }
}
/* Colori ----------- */
/* Formattazione generale ----------- */
footer {
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  margin: 0 0 0 0;
  width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  position: relative;
  clear: both;
  background: #004972;
  z-index: 2;
  height: auto;
  display: flex;
  align-items: flex-start;
  flex-flow: column wrap;
  justify-content: flex-end;
}

footer h3 {
  width: 100%;
  padding: 0 0 0 0rem;
  margin: 0 0 0 0;
  font-size: 1.6rem;
  color: #FFF;
  text-align: center;
  font-weight: 600;
}

footer p {
  padding: 0.3125rem 0;
  margin: 0 0;
  color: #FFF;
  line-height: 150%;
  text-align: center;
  width: 100%;
  font-size: 1.1rem;
}

footer div.centro div p {
  text-align: left;
}

footer p a {
  text-decoration: none;
  color: #FFF;
}

footer p a:hover {
  text-decoration: underline;
  color: #A9E0FF;
}

footer span.tel, footer span.sede, footer span.mail, footer span.whatsapp {
  padding: 0.15rem 0 0.15rem 1.4rem;
  margin: 0 1.25rem 0 0;
  display: inline-block;
  text-align: left;
}

footer span.tel {
  background: url(../../../images/pubblico/_phone.svg) no-repeat;
  background-size: auto 1.1rem;
  background-position: left center;
}

footer span.sede {
  background: url(../../../images/pubblico/_sede.svg) no-repeat;
  background-size: auto 1.1rem;
  background-position: left 0.3125rem;
}

footer span.mail {
  background: url("../../../images/pubblico/_mail.svg") no-repeat;
  background-size: auto 0.8rem;
  background-position: left center;
}

footer span.whatsapp {
  background: url("../../../images/pubblico/whatsapp.svg") no-repeat;
  background-size: auto 1.4rem;
  background-position: left center;
}

@media only screen and (max-width: 600px) {
  footer {
    padding: 2.5rem 2.5rem 2.5rem;
    margin: 0 0 0 0;
    width: calc(100% - 5rem);
  }

  footer p {
    font-size: 1rem;
    text-align: left;
  }

  footer div.centro {
    padding: 5rem 0 0 0;
  }

  footer h3 {
    width: 100%;
    padding: 0 0 0 0rem;
    font-size: 1.2rem;
  }

  footer span.sede {
    margin: 0 0 0 0;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  footer p {
    font-size: 0.9rem;
  }
}
@media only screen and (min-width: 1201px) {
  footer {
    width: calc(((100% / 12) * 12) - (2 * 2.5rem));
    padding: 2.5rem 2.5rem 2.5rem 2.5rem;
    justify-content: flex-end;
  }

  footer h3 {
    text-align: left;
  }

  footer p {
    text-align: left;
  }
}
/* Colori ----------- */
/* Formattazione generale ----------- */
#formrapido {
  margin: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-flow: column nowrap;
  background: #F5F5F5;
}

#formrapido form {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

#formrapido fieldset {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-flow: column wrap;
  border: 0;
}

#formrapido label {
  width: 100%;
  margin: 0.25rem 0;
  padding: 0 0 0 0;
  font-size: 1.2rem;
}

#formrapido label a {
  font-weight: 600;
  text-decoration: underline;
  color: black;
}

#formrapido label a:hover {
  color: #53A0CD;
}

#formrapido label.accetta_trattamento {
  margin-bottom: 1.25rem;
  color: black;
}

#formrapido label input[type=text], #formrapido label textarea {
  width: calc(100% - 0.625rem);
  margin: 0 0 0 0;
  padding: 0.3125rem;
  border: 0;
  background: #FFF;
  font-size: 1.2rem;
  font-family: "Inter", system-ui;
  color: #000;
}

#formrapido h3 {
  color: black;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 600;
}

#formrapido p {
  color: black;
  font-size: 1.2rem;
}

#formrapido button {
  color: #FFF;
  background: none;
  border: 1px solid #FFF;
  text-decoration: none;
  padding: 0.5rem 1.75rem;
  cursor: pointer;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.1rem;
  font-family: "Inter", system-ui;
  float: none !important;
  background: #53A0CD;
}

#formrapido button:hover {
  background: #016601;
}

/* Smartphones ----------- */
@media only screen and (max-width: 1200px) {
  #formrapido {
    width: calc(100% - 5rem);
    padding: 2.5rem;
    height: auto;
  }
}
/* ipad desktop ----------- */
@media only screen and (min-width: 1201px) {
  #formrapido {
    float: right;
    width: calc(100% - 5rem);
    padding: 2.5rem 2.5rem;
    height: auto;
  }

  #formrapido h2 {
    font-size: 2.2rem;
  }
}

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