/* TESTI */
/* SFONDI */
/* CALL TO ACTION */
/* MARGINI */
/* Padding */
/* MARGINI CONTENUTO*/
/* LARGHEZZA*/
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Oswald:wght@200;400&display=swap");
/* FONT */
/* Colori ----------- */
main button, main input[type=button] {
  font-size: 1rem;
  padding: 0.625rem 2rem;
  text-align: center;
  margin: 0 0.3125rem;
  border-radius: 0.3125rem;
  color: #FFF;
  background: #003272;
  cursor: pointer;
  border: none;
  text-transform: uppercase;
  font-family: "Inter", sans-serif;
  font-weight: 700;
}

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

main div.bottoni.genera_password input[type=button] {
  font-size: 0.7rem;
  padding: 0.125rem 0.3125rem;
  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;
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #4479AB;
}

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

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", sans-serif;
}

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", sans-serif;
}

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

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

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

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 0 0 2.5rem;
  position: relative;
  width: calc(100% - 2.5rem);
  z-index: 3;
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: flex-start;
}

header a#logo {
  background: url("../../images/pubblico/logo.svg") no-repeat;
  background-position: left center;
  background-size: 100% auto;
  padding: 0 0 0 0;
  margin: 1.25rem 0;
  border: 0;
  display: block;
  height: 4rem;
  width: 17.82269rem;
}

/* Smartphones ----------- */
/* ipad desktop ----------- */
/* Generale    ----------- */
nav {
  border: 0;
  margin: 0 auto 0;
  z-index: 10 !important;
  padding: 0 0 0 0;
  width: 100%;
  font-family: "Oswald", sans-serif;
}

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: 400;
  text-transform: uppercase;
}

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

nav li a {
  color: #232C33;
}

nav li a:hover {
  color: #FF3506;
}

nav ul li a.selected {
  color: #FF3506;
}

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 ul.base li.home {
  display: none;
}

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

/* Smartphones ----------- */
@media only screen and (max-width: 1200px) {
  nav li a {
    color: white;
  }

  nav li a:hover {
    color: white;
  }

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

  nav {
    width: 94%;
    position: absolute;
    right: -100%;
    top: 0rem;
    padding: 10.5rem 3% 1rem 3%;
    height: calc(100vh - 11.5rem);
    transition: all ease-in-out 400ms;
    z-index: 3000 !important;
    background: rgba(31, 32, 40, 0.95);
  }

  nav.estratto {
    right: 0;
  }

  nav ul {
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 0;
    float: right;
  }

  nav ul li {
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    border-top: 0.0625rem solid rgba(255, 255, 255, 0.2);
  }

  nav > ul > li:last-child {
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.2);
  }

  nav ul li a {
    padding: 0.5rem 0rem;
  }

  nav ul li ul li a {
    width: auto;
  }

  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;
    cursor: pointer;
  }

  body.homepage nav a.estrai_menu {
    background: url(../../images/pubblico/nav_white/menu_open.svg) no-repeat center center;
  }

  nav.estratto a.estrai_menu, body.homepage 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;
    cursor: pointer;
  }

  nav ul li ul li {
    border-top: none;
    background: url(../../images/pubblico/nav_white/menu_smartLi.svg) no-repeat;
    background-position: 0.5rem 0.8rem;
    padding: 0 0 0 1.3rem;
    background-size: auto 0.6rem;
  }

  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 li.aperto {
    background: #003272;
  }

  nav > ul > li.aperto > a:first-child {
    padding-left: 0.5rem;
  }
}
/* 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.625rem 0 0.625rem 0;
    position: relative;
    width: 100%;
    height: 7.25rem;
    align-self: center;
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: center;
    right: 0 !important;
  }

  nav ul.base {
    order: 2;
    width: calc(100% - 2.5rem);
    padding-left: 2.5rem;
  }

  nav li a {
    color: #232C33;
  }

  nav li a:hover {
    color: #84C318;
  }

  nav ul li a.selected {
    color: #84C318;
  }

  nav li a b {
    color: #84C318;
    font-weight: 400;
  }

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

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

  nav ul li ul li {
    overflow: hidden;
    max-height: 0;
    width: 100%;
    transition: all 300ms ease-in-out;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #F9F9F9;
  }

  nav ul li ul li:hover {
    background: white;
  }

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

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

  nav ul li.lingue {
    margin-left: 1.25rem;
  }

  nav ul li.lingue ul {
    width: 8rem;
  }

  nav ul li.tmc_service {
    width: 10rem;
    height: 5rem;
    background: url("../../images/pubblico/tmc_service.svg") no-repeat;
    background-position: center center;
    background-size: contain;
    font-size: 0 !important;
    position: absolute;
    top: -50%;
    right: 2.5rem;
  }

  nav ul li.tmc_service a {
    font-size: 0 !important;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
}
html {
  min-height: 100%;
  width: 100%;
  background: #003272;
}

div.condivisione {
  display: none;
}

body {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  background: #FFFFFF;
  overflow-x: hidden;
  width: 100%;
  position: relative;
  font-family: "Inter", sans-serif;
}

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

header {
  grid-area: head;
}

nav {
  grid-area: nav;
}

main {
  grid-area: main;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 0 0;
  clear: both;
}

aside {
  grid-area: aside;
}

article.mappa_homepage {
  grid-area: map;
}

footer {
  grid-area: footer;
}

#slideHead {
  grid-area: testata;
}

div#barra_social {
  grid-area: social;
}

#tutto.duecolonne main {
  border-left: 1px solid #DDD;
}

section.nonopiano {
  grid-area: nono;
}

article.mappa_homepage {
  grid-area: nono;
}

@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 auto 1fr auto auto;
    grid-template-areas: "head head head head" "testata testata testata testata" "main main main main" "aside aside aside aside" "map map map map" "nono nono nono nono" "footer footer footer footer";
    column-gap: calc(0rem / 4);
    row-gap: calc(0rem / 4);
  }
}
@media only screen and (min-width: 601px) and (max-width: 960px) {
  #tutto {
    padding: calc(0rem / 2) calc(0rem / 2);
    width: calc(100% - (2 * (0rem / 2)));
    column-gap: calc(0rem / 2);
    row-gap: calc(0rem / 2);
  }

  #tutto.duecolonne {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "main main main main main main main main" "aside aside aside aside aside aside aside aside" "nono nono nono nono nono nono nono nono" "footer footer footer footer footer footer footer footer";
  }

  #tutto.monocolonna {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "main main main main main main main main" "nono nono nono nono nono nono nono nono" "footer footer footer footer footer footer footer footer";
  }

  body.homepage #tutto.duecolonne {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "main main main main main main main main" "aside aside aside aside aside aside aside aside" "map map map map map map map map" "nono nono nono nono nono nono nono nono" "footer footer footer footer footer footer footer footer";
  }
}
@media only screen and (min-width: 961px) 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);
  }

  #tutto.duecolonne {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "aside aside main main main main main main" "nono nono nono nono nono nono nono nono" "footer footer footer footer footer footer footer footer";
  }

  #tutto.monocolonna {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "main main main main main main main main" "nono nono nono nono nono nono nono nono" "footer footer footer footer footer footer footer footer";
  }

  body.homepage #tutto.duecolonne {
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: 0 auto auto 1fr auto auto;
    grid-template-areas: "nav nav nav nav nav nav nav nav" "head head head head head head head head" "testata testata testata testata testata testata testata testata" "main main main main main main main main" "aside aside aside aside aside aside aside aside" "map map map map map map map map" "nono nono nono nono nono nono nono nono" "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;
  }

  #tutto.duecolonne {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "aside aside aside main main main main main main main main main" "footer footer footer footer footer footer footer footer footer footer footer footer";
  }

  #tutto.monocolonna {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "main main main main main main main main main main main main" "footer footer footer footer footer footer footer footer footer footer footer footer";
  }

  body.homepage #tutto.monocolonna {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto 1fr;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "testata testata testata testata testata testata testata testata testata testata testata testata" "main main main main main main main main main main main main" "nono nono nono nono nono nono footer footer footer footer footer footer";
  }

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

  #tutto.duecolonne {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "aside aside aside main main main main main main main main main" "footer footer footer footer footer footer footer footer footer footer footer footer";
  }

  #tutto.monocolonna {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "main main main main main main main main main main main main" "footer footer footer footer footer footer footer footer footer footer footer footer";
  }

  body.homepage #tutto.monocolonna {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto 1fr;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "testata testata testata testata testata testata testata testata testata testata testata testata" "main main main main main main main main main main main main" "nono nono nono nono nono nono footer footer footer footer footer footer";
  }

  body.homepage #tutto.duecolonne {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto 1fr auto;
    grid-template-areas: "head head head nav nav nav nav nav nav nav nav nav" "testata testata testata testata testata testata testata testata testata testata testata testata" "main main main main main main main main main main main main" "map map map map map map aside aside aside aside aside aside" "nono nono nono nono nono nono footer footer footer footer footer footer";
  }
}
main {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: flex-start;
  align-content: flex-start;
}

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

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

main.center {
  align-items: center;
}

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

main > div.col-xs-full, main > div.col-s-full, main > div.col-m-full, main > div.col-l-full, main > div.col-xl-full, main > div.col-xxl-full, main > div.col-max-full {
  margin: 2.5rem 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: calc(50% - (75rem / 2)) !important;
    padding-right: calc(50% - (75rem / 2)) !important;
  }
}
/* --- SOCIAL --- */
div#barra_social {
  position: relative;
  width: 100%;
  height: calc(100% - 3.125rem);
  margin: 0 auto;
  padding: 0.625rem 0 2.5rem 0rem;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-flow: row wrap;
  background: #003272;
  align-self: center;
}

div#barra_social a {
  margin: 0 0.125rem;
  width: 3rem;
  height: 3rem;
  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 {
    justify-content: center;
    width: 100%;
    padding: 2.5rem 0 !important;
  }

  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: center;
  }
}
/* --- 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 ----------- */
main p.percorso {
  text-transform: lowercase;
  text-align: left;
  background: #FFFFFF;
  border-bottom: 1px solid #DDD;
  font-size: 0.875rem;
  color: #232C33;
  font-weight: 400;
  margin: 0 0 0 0 !important;
  padding: 0.625rem 2.5rem;
  width: calc(100% - 5rem);
  background: #F9F9F9;
}

main p.percorso a {
  color: #232C33;
  text-decoration: none;
  font-weight: 400;
}

main p.percorso a:hover {
  color: #003272;
}

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

main h1 {
  padding: 0.3125rem 0;
  line-height: 135%;
  width: 100%;
  font-family: "Oswald", sans-serif;
  color: #003272;
  text-transform: uppercase;
}

main h2, main h3, main h4, main h5, main h6 {
  width: 100%;
  font-weight: 400;
  font-family: "Oswald", sans-serif;
}

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 p {
  text-align: justify;
}

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

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

main a:hover {
  color: #003272;
}

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

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

/* da rivedere */
main div.testo {
  transition: max-height linear 1000ms;
}

main div.testo .view_contenuto {
  height: 7rem;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  background-position: center bottom, top left !important;
  background-size: 32px 32px, 100% 100% !important;
  background-repeat: no-repeat, repeat !important;
  transition: background ease-in-out 1000ms;
}

main div.testo.chiuso .view_contenuto {
  background: url("../../images/pubblico/apri_nuovo.svg"), linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
}

main div.testo.aperto .view_contenuto {
  background: url("../../images/pubblico/chiudi_nuovo.svg"), linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8));
  height: 2rem;
}

main div.testo.chiuso {
  overflow: hidden;
  max-height: 7rem;
}

main div.testo.aperto {
  max-height: 200rem;
  padding: 0 0 2rem 0;
}

main div.testo div {
  padding: 0.625rem 0;
}

main div.testo {
  position: relative;
}

main a.calltoaction {
  text-align: left;
  padding: 1.25rem 1.25rem 1.25rem 4.3rem;
  background: linear-gradient(45deg, #003272, #318FFF);
  background-repeat: repeat;
  border-radius: 0.625rem;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  display: inline-block;
  text-decoration: none;
  color: #FFF;
  transition: all ease-in-out 300ms;
  font-size: 1.6rem;
  letter-spacing: 0.03125rem;
  background-color: #7CAA48;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  position: relative;
  margin: 1.25rem auto 0;
  /*white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;*/
}

main a.calltoaction span {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  background: url("../../images/pubblico/calltoaction.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 75% 75%;
  border-radius: 2.5rem;
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  transition: all ease-in-out 300ms;
  height: 100%;
  width: 4rem;
  transform: rotate(0deg);
}

main a.calltoaction:hover span {
  animation-name: ruota;
  animation-duration: 300ms;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

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

  main h2 {
    font-size: 1.8rem;
  }

  main h3 {
    font-size: 1.6rem;
  }

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

  main h3 {
    font-size: 1.6rem;
  }

  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: 1201px) {
  main h1 {
    font-size: calc(2.2rem * 1.125);
  }

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

  main h3 {
    font-size: calc(1.6rem * 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);
  }
}
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: 3000;
}

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

@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: center;
}

.allegato a {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100%;
  position: relative;
  text-decoration: none;
}

.allegato a span {
  margin: 0.625rem 0rem 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);
  }
}
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);
  }
}
.struttura div.contenitore {
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: row wrap;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

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

.struttura span {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0.3125rem 0.625rem;
  font-size: 1rem;
  width: calc(50% - 1.25rem);
  border-bottom: 1px solid #DDD;
}

.struttura span.dato {
  font-weight: 400;
}

.struttura span.intestazione {
  font-weight: 700;
}

div.ecommerce {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-flow: row wrap;
  position: relative;
}

div.ecommerce p.scegli_optional {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  color: #5B6670 !important;
}

div.ecommerce span.icona_sconto {
  position: absolute;
  z-index: 2;
  left: calc(100% - 4rem);
  top: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
  margin: 0 0 0 0;
  padding: 0 0 1rem 0;
  color: #FFF;
  background: #FF6B00;
  font-size: 1.2rem;
  font-weight: 700;
  width: 4rem;
  height: 3rem;
  text-align: center;
  background: url("../../../images/pubblico/sconto.svg") no-repeat;
  background-position: center center;
  background-size: auto 100%;
}

div.ecommerce span.icona_spedizione_gratuita {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 5%;
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-size: 0;
  text-transform: uppercase;
  width: 6rem;
  height: 6rem;
  text-align: left;
  background: url("../../../images/pubblico/spedizione_gratuita.svg") no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

div.ecommerce div.contenitoreGalleria {
  margin: 0 0 0 0;
  padding: 0 0 0.3125rem 0;
  position: relative;
  width: 100%;
  max-width: 36.25rem;
  height: auto;
}

div.ecommerce div.immagineGrande {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  cursor: pointer;
  width: 100% !important;
  max-height: 100vw !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

div.ecommerce div.contenitoreGalleria span.didascalia {
  position: relative;
  padding: 0 0 0 0;
  margin: 0.3125rem 0;
  width: 100%;
  text-align: center;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

div.ecommerce div.miniature {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100%;
  clear: left;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
}

div.ecommerce div.miniature a.miniatura {
  display: inline-block;
  padding: 0px;
  margin: 0px 3px;
  border: 1px solid #A2A9AD !important;
}

div.ecommerce div.miniature a.selected {
  border: 1px solid #FF6B00 !important;
}

#form_varianti {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: row wrap;
}

#form_varianti label {
  width: calc(50% - 0.625rem);
}

#dati_configurazione {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-flow: row wrap;
}

/* contenitore */
div.contenitore_ecommerce {
  border: 1px solid #A2A9AD;
  width: calc(100% - 2.5rem - 2px) !important;
  padding: 1.25rem;
  position: relative;
}

div.ecommerce label {
  width: 100%;
  padding: 0.3125rem 0;
  margin: 0 0 0 0;
  font-size: 0.75rem;
}

div.ecommerce label select {
  margin-top: 0.3125rem;
  width: 100%;
  font-size: 0.875rem;
}

div.ecommerce label#label_codice, div.ecommerce label#label_pezzi, div.ecommerce label#label_quantita {
  font-weight: 700;
  display: inline-block;
  width: 32%;
}

div.ecommerce label #span_codice, div.ecommerce label #span_disponibilita {
  font-weight: 700;
  display: block;
  width: 100%;
  margin: 0.3125rem 0;
  font-size: 1rem !important;
}

div.ecommerce label#label_prezzo {
  width: 100% !important;
  text-align: right !important;
  margin: 1.25rem 0 !important;
  padding: 0 0 0 0 !important;
  display: block;
}

div.ecommerce label #span_prezzo, div.ecommerce label #span_gratis {
  font-size: 1.6rem;
  margin-right: 0;
  font-weight: 700;
  width: 100% !important;
}

div.ecommerce label #span_prezzo_offerta {
  font-size: 1.8rem;
  margin-right: 10px;
  font-weight: 700;
  color: #003272 !important;
  width: 49%;
  float: right;
  text-align: right;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
}

div.ecommerce label #span_prezzo.barrato {
  font-size: 1.8rem;
  text-decoration: line-through;
  margin-right: 10px;
  font-weight: 400;
  width: 49% !important;
  float: left;
  text-align: left;
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
  color: #A2A9AD !important;
}

div.ecommerce span.iva {
  width: 100%;
  padding: 0.3125rem 0;
  margin: 0 0 0 0;
  font-size: 0.75rem;
  text-align: right;
  display: block;
  clear: both;
}

div.ecommerce a#pulsante_aggiunta_carrello {
  width: 100%;
  margin: 0.625rem 0;
  padding: 0 0 0 0;
  line-height: 2.5rem;
  display: inline-block;
  text-align: center;
  font-size: 1.4rem;
  text-transform: uppercase;
  background-size: 2.5rem 2.5rem;
  font-weight: 400 !important;
  cursor: pointer;
  color: #FFFFFF;
  background: url("../../images/pubblico/addcart_new.svg") no-repeat;
  background-position: 0.3125rem center;
  background-size: auto 60%;
  background-color: #003272;
}

div.ecommerce span.aggiornamento_dati_ecommerce {
  display: none;
  padding: 0.625rem 0;
  width: 100% !important;
  text-align: center !important;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background: rgba(255, 255, 255, 0.7);
  color: #A2A9AD;
  font-size: 0.875rem;
}

div.optionals {
  margin: 0.625rem 0;
  padding: 0 0 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-flow: row wrap;
}

div.optionals label {
  width: calc(100% - 0.625rem) !important;
  padding: 0 0.625rem 0 0;
  margin: 0.3125rem 0;
  font-size: 0.875rem;
}

div.optionals label input {
  float: left;
}

div.optionals label span.prezzo_optional {
  font-weight: 700;
  margin-left: 1rem;
}

div.optionals label span.descrizione_optional {
  font-size: 0.75rem;
  width: calc(100% - 1.5rem);
  padding: 0.25rem 0;
  margin: 0 0 0 1.5rem;
  display: block;
}

div.optionals label img.immagine_optional {
  margin: 0 0.625rem 0 0.3125rem;
  width: 3rem;
  height: auto;
}

/* ipad desktop ----------- */
@media only screen and (min-width: 1201px) {
  div.ecommerce div.contenitoreGalleria {
    margin: 0 1.25rem 0 0;
  }

  div.ecommerce div.immagineGrande {
    max-height: 31.25rem !important;
  }
}
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;
}

main 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: #FFFFFF;
  text-align: left;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3));
}

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

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

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

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

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

div.galleria_full div.contenitoreGalleria a.frecciaDx:hover {
  background: url(../../images/pubblico/dxW.svg) no-repeat center right;
  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: 3000;
  width: 0.625rem !important;
  height: 0.625rem !important;
  border-radius: 0.3125rem;
  border: 2px solid #FFF !important;
  transition: width ease-in-out 300ms;
}

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

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

.galleria_full.col-m-full {
  margin: 0 0 0 0 !important;
}

@media only screen and (max-width: 600px) {
  div.galleria_full div.contenitoreGalleria figcaption.didascalia {
    font-size: 1rem;
  }
}
@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;
  }
}
@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: 3vw;
  }
}
/* FINE CLASSI SCORRIMENTO */
div.box.galleria_espansa {
  height: auto;
  background: #F5F5F5;
  padding: 0 0 0 0;
}

div.box.galleria_espansa h2 {
  width: 100%;
  text-align: center;
}

div.galleria_espansa div.contenitore_galleria_espansa {
  margin: 0 0 0 0;
  padding: 1.25rem 2.5rem !important;
  width: calc(100% - 5rem);
  height: auto;
}

div.galleria_espansa figure.immagineGrande {
  margin: 0.15625rem;
  padding: 0.3125rem;
  width: auto;
  height: auto;
  position: relative;
  display: inline-block;
  background: #FFFFFF;
  cursor: pointer;
  border: 1px solid #FFF;
  font-size: 0;
}

div.galleria_espansa figure.immagineGrande img {
  width: 100%;
  height: auto;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  position: relative;
  display: inline-block;
}

div.galleria_espansa figcaption {
  width: 100%;
  height: auto;
  margin: 0 0 0 0;
  padding: 0.625rem 0 0.3125rem 0;
  position: relative;
  display: inline-block;
  color: #000000;
  transition: border ease-in-out 300ms;
  font-size: 1rem;
}

div.galleria_espansa figure.immagineGrande:hover figcaption {
  color: #CD1423;
}

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

@media only screen and (max-width: 600px) {
  div.galleria_espansa div.contenitore_galleria_espansa {
    margin: 0 0 0 0;
    padding: 0.3125rem 0.625rem !important;
    width: calc(100% - 1.25rem);
    height: auto;
  }

  div.galleria_espansa figure.immagineGrande {
    margin: 0.3125rem 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 1200px) {
  div.galleria_espansa figure.immagineGrande {
    margin: 0.625rem 0;
  }

  div.galleria_espansa.col-xxs div.contenitore_galleria_espansa, div.galleria_espansa.col-xs div.contenitore_galleria_espansa, div.galleria_espansa.col-col-s div.contenitore_galleria_espansa, div.galleria_espansa.col-m div.contenitore_galleria_espansa, div.galleria_espansa.col-xxs-full div.contenitore_galleria_espansa, div.galleria_espansa.col-xs-full div.contenitore_galleria_espansa, div.galleria_espansa.col-s-full div.contenitore_galleria_espansa, div.galleria_espansa.col-m-full div.contenitore_galleria_espansa {
    padding: 0.625rem 1.25rem !important;
    width: calc(100% - 2.5rem);
  }

  div.galleria_espansa.col-xl div.contenitore_galleria_espansa, div.galleria_espansa.col-max div.contenitore_galleria_espansa, div.galleria_espansa.col-l div.contenitore_galleria_espansa, div.galleria_espansa.col-xl-full div.contenitore_galleria_espansa, div.galleria_espansa.col-max-full div.contenitore_galleria_espansa, div.galleria_espansa.col-l-full div.contenitore_galleria_espansa {
    column-count: 2;
    column-gap: 1.25rem;
    padding: 0.625rem 1.25rem !important;
    width: calc(100% - 2.5rem);
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1600px) {
  div.galleria_espansa figure.immagineGrande {
    margin: 1.25rem 0;
  }

  div.galleria_espansa.col-xxs div.contenitore_galleria_espansa,
div.galleria_espansa.col-xs div.contenitore_galleria_espansa,
div.galleria_espansa.col-col-s div.contenitore_galleria_espansa,
div.galleria_espansa.col-xxs-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-xs-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-s-full div.contenitore_galleria_espansa {
    padding: 1.25rem 2.5rem !important;
    width: calc(100% - 5rem);
  }

  div.galleria_espansa.col-m div.contenitore_galleria_espansa,
div.galleria_espansa.col-m-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-l div.contenitore_galleria_espansa,
div.galleria_espansa.col-l-full div.contenitore_galleria_espansa {
    column-count: 2;
    column-gap: 2.5rem;
  }

  div.galleria_espansa.col-xl div.contenitore_galleria_espansa,
div.galleria_espansa.col-max div.contenitore_galleria_espansa,
div.galleria_espansa.col-xl-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-max-full div.contenitore_galleria_espansa,
div.galleria_espansa.maxwidth div.contenitore_galleria_espansa {
    column-count: 3;
    column-gap: 2.5rem;
  }
}
@media only screen and (min-width: 1601px) {
  div.galleria_espansa figure.immagineGrande {
    margin: 1.25rem 0;
  }

  div.galleria_espansa.col-xxs div.contenitore_galleria_espansa,
div.galleria_espansa.col-xs div.contenitore_galleria_espansa,
div.galleria_espansa.col-xxs-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-xs-full div.contenitore_galleria_espansa {
    padding: 1.25rem 2.5rem !important;
    width: calc(100% - 5rem);
  }

  div.galleria_espansa.col-m div.contenitore_galleria_espansa,
div.galleria_espansa.col-m-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-col-s div.contenitore_galleria_espansa,
div.galleria_espansa.col-s-full div.contenitore_galleria_espansa {
    column-count: 2;
    column-gap: 2.5rem;
  }

  div.galleria_espansa.col-xl-full div.contenitore_galleria_espansa,
div.galleria_espansa.col-xl div.contenitore_galleria_espansa,
div.galleria_espansa.col-l div.contenitore_galleria_espansa,
div.galleria_espansa.col-l-full div.contenitore_galleria_espansa,
div.galleria_espansa.maxwidth div.contenitore_galleria_espansa {
    column-count: 3;
    column-gap: 2.5rem;
  }

  div.galleria_espansa.col-max div.contenitore_galleria_espansa,
div.galleria_espansa.col-max-full div.contenitore_galleria_espansa {
    column-count: 4;
    column-gap: 2.5rem;
  }
}
/* ELENCO */
div.pre_elenco {
  margin: 0 0 0 0;
  padding: 1.25rem 0 0 0;
  text-align: center;
  background: #FFF;
  width: 100%;
}

div.pre_elenco h2 {
  font-size: 1.4rem;
  text-align: center;
  text-transform: uppercase;
  border: 0;
  font-weight: 700;
  color: #003272;
}

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

section.elenco_pagine {
  margin: 0rem 0;
  width: calc(100% - 5rem);
  padding: 2.5rem 2.5rem 0 2.5rem;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  position: relative;
  background: #FFFFFF;
}

#ordinamento {
  margin: 0 0;
  width: calc(100% - 5rem);
  padding: 0rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-flow: row wrap;
  position: relative;
  background: #FFFFFF;
}

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 1.25rem 0;
  margin: 0rem 1.25rem 2.5rem 0;
  position: relative;
  text-align: center;
}

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

section.elenco article a.img img {
  width: auto;
  max-width: 100%;
  height: auto;
  position: relative;
  margin: 0 auto -4px;
  padding: 0 0 0 0;
  max-height: 15rem;
}

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

section.elenco article h4 a {
  text-decoration: none;
  color: #232C33;
}

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

section.elenco article p {
  text-align: center;
  font-size: 0.875rem;
}

section.elenco article div.testo {
  padding: 0.3125rem 0;
  width: 100%;
}

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

section.elenco article div.commerce {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  align-content: flex-end;
  flex-flow: row wrap;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.3125rem 0;
}

section.elenco article div.commerce span.prezzo {
  font-weight: 700;
  margin-left: auto;
}

section.elenco article div.commerce span.prezzo_barrato {
  font-weight: 400;
  text-decoration: line-through;
  color: #4479AB;
}

section.elenco article div.commerce span.prezzo.sconto {
  font-weight: 700;
  color: #003272;
}

main.elenco_senza_titoli section.elenco article div.testo {
  display: none;
}

main.elenco_senza_titoli section.elenco article {
  padding: 0 0 0 0 !important;
  margin: 0 0 0 0;
}

main.elenco_senza_titoli section.elenco article a.img img {
  width: calc(100% - 6rem);
  margin: 3rem;
}

main.elenco_senza_titoli section.elenco_pagine {
  padding: 0rem 2.5rem 0 2.5rem !important;
  margin: 0 0 0 0;
}

@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: center;
  }

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

  main.elenco_prodotti section.elenco_pagine {
    margin: 0 0 0 0;
    width: 100%;
    padding: 0rem 0 0 0;
  }

  main.elenco_prodotti section.elenco article {
    width: 20%;
    margin: 0rem 0 0rem;
  }
}
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;
}

@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: 0.9rem;
  }
}
@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: 0.9rem;
  }
}
@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.1rem;
  }
}
/* Colori ----------- */
/* Formattazione generale ----------- */
footer {
  padding: 0.625rem 2.5rem;
  margin: 0 0 0 0;
  width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  position: relative;
  clear: both;
  background: #003272;
  z-index: 2;
  height: calc(100% - 1.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column wrap;
  justify-content: center;
}

body.homepage footer {
  min-height: 20vw;
}

footer a.mail, footer a.tel {
  text-decoration: none;
  color: #FFFFFF;
  font-size: 1rem;
  display: inline-block;
  padding: 0.625rem 0 0.625rem 2.5rem;
  background-position: 0.25rem center !important;
  background-repeat: no-repeat !important;
  background-size: 2rem auto !important;
}

footer a.mail:hover, footer a.tel:hover {
  color: #B6FF38;
}

footer a.mail {
  background: url("../../images/pubblico/_mail_new.svg");
  margin-right: 1.25rem;
}

footer a.tel {
  background: url("../../images/pubblico/_phone_new.svg");
}

footer a.logo {
  background: url("../../images/pubblico/logoW.svg") no-repeat;
  background-size: contain;
  width: 13.36702rem;
  height: 3rem;
  text-decoration: none;
  display: inline-block;
  margin: 0.625rem 2.5rem 0.625rem 0;
}

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

footer p span.nome {
  color: #FFFFFF;
  font-weight: 400;
  font-size: 1.8rem;
  font-family: "Oswald", sans-serif;
  margin-bottom: 1.25rem;
  display: inline-block;
}

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

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

footer span.tel, footer span.mail, footer span.whatsapp {
  padding: 0.15rem 0 0.15rem 1.6rem;
  margin: 0 0 0 1.25rem;
  display: inline-block;
}

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

footer span.sede {
  background: url(../../../images/pubblico/_sede.svg) no-repeat;
  background-size: auto 1.2rem;
  background-position: left 0.25rem;
  padding: 0.15rem 0 0.15rem 1.6rem;
  margin: 0 0 0 0;
  display: inline-block;
}

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

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

footer div.indirizzo {
  margin: 0.625rem auto;
  padding: 0 0 0 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  align-content: center;
  justify-content: center;
}

footer div.indirizzo p {
  width: auto;
  text-align: left !important;
}

footer div.contatti {
  margin: 0.625rem auto;
  padding: 0 0 0 0;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
}

a.linkedin {
  margin: 0 0 0 1.25rem;
  padding: 0 0 0 0;
  width: 2rem;
  height: 2rem;
  border: none;
  z-index: 3501;
  opacity: 1;
  transition: all ease-in-out 300ms;
  display: inline-block;
}

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

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

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

  footer p {
    font-size: 0.75rem !important;
  }

  footer span.tel, footer span.sede, footer span.mail, footer span.whatsapp {
    margin: 0 0 0 0rem;
  }

  footer div.indirizzo, footer div.contatti {
    flex-flow: column nowrap;
    align-items: flex-start;
  }

  footer a.mail, footer a.tel {
    width: calc(100% - 2.5rem);
    margin: 0 0 0 0;
    padding: 0.625rem 0 0.625rem 2.5rem;
  }

  a.linkedin {
    margin: 0.25rem 0 0 0.25rem;
    padding: 0 0 0 0;
  }
}
@media only screen and (min-width: 601px) and (max-width: 1200px) {
  footer p {
    font-size: calc(1rem * 1.125);
  }
}
@media only screen and (min-width: 1201px) {
  footer {
    width: calc(((100% / 12) * 12) - (2 * 2.5rem));
  }

  footer p {
    font-size: calc(1rem * 1.25);
  }
}
#subMenu {
  margin: 2.5rem 2.5rem;
  padding: 0 0 0 0;
  position: relative;
  z-index: 2;
  font-family: "Oswald", sans-serif;
}

#subMenu h3 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  color: #4479AB;
  font-weight: 400;
}

#subMenu ul {
  width: calc(100% - 0.875rem);
  margin: 0 0 0 0;
  padding: 0 0 0 0.875rem;
  list-style-position: outside;
  list-style-image: url("../../images/pubblico/bgLi.svg");
}

#subMenu ul li {
  margin: 0.425rem 0;
  line-height: 135%;
  font-size: 1.1rem;
}

#subMenu li.selected {
  list-style-image: url("../../images/pubblico/bgLiselected.svg");
}

#subMenu ul ul ul ul {
  margin-bottom: 1rem !important;
  max-height: 20.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  -ms-overflow-style: 7px;
  /* IE and Edge */
  scrollbar-width: 7px;
  /* Firefox */
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  scrollbar-color: #003272 #EEE;
  border-bottom: 1px solid #EEE;
}

#subMenu ul ul ul::-webkit-scrollbar {
  width: 7px;
  background: #EEE;
  color: #003272;
}

#subMenu ul ul ul::-webkit-scrollbar-thumb {
  width: 7px;
  background: #003272;
}

#subMenu li.selected a {
  color: #003272;
}

#subMenu li a {
  color: #232C33;
  text-decoration: none;
  font-weight: 500;
}

#subMenu li a:hover {
  color: #003272;
}

/* Smartphones ----------- */
@media only screen and (max-width: 600px) {
  #subMenu {
    display: none;
  }
}
/* ipad desktop ----------- */
@media only screen and (min-width: 601px) {
  #subMenu {
    display: block;
  }
}
section.nonopiano {
  margin: 0 0;
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  width: calc(100% - 5rem);
  position: relative;
  display: block;
  background: url("../../images/pubblico/logo.svg") no-repeat;
  background-position: 2.5rem 2.5rem;
  background-size: auto 4rem;
  border-top: 1px solid #DDD;
}

section.nonopiano .contenitore {
  width: 100%;
  padding: 0 0 0 0;
  position: relative;
}

section.nonopiano .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.nonopiano article {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
  width: auto;
  height: auto;
}

section.nonopiano article:nth-child(1) {
  margin: 5rem 0 0 0 !important;
}

section.nonopiano article h3 {
  font-size: 1.4rem;
  font-weight: 400;
  width: calc(100% - 0.625rem);
  margin: 0 0 0 0;
  padding: 0.625rem 0.625rem 0rem 0rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #4479AB !important;
  text-transform: uppercase;
}

section.nonopiano article h3 a {
  text-decoration: none;
  color: #4479AB !important;
}

section.nonopiano article h3 a:hover {
  color: #4479AB !important;
}

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

section.nonopiano article li {
  margin: 0 0 0 1.4rem;
  padding: 0.15rem 0;
}

section.nonopiano article li a {
  text-decoration: none;
  font-size: 1rem;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  color: #232C33;
}

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

section.nonopiano article li {
  margin: 0.25rem 0rem;
  list-style-position: outside;
  list-style-image: url("../../images/pubblico/bgLi_nono.png");
}

section.nonopiano article li a {
  color: #232C33 !important;
  font-weight: 400;
}

section.nonopiano article li a:hover {
  color: #FF3506 !important;
}

section.nonopiano article ul {
  padding: 0.3125rem 0 0.3125rem 0.875rem;
  margin: 0 0 0 0;
}

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

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

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

  section.nonopiano article {
    width: 100%;
  }
}
@media only screen and (min-width: 601px) and (max-width: 900px) {
  section.nonopiano article {
    width: calc(100% / 2);
  }

  section.nonopiano .contenuto {
    max-height: 30rem;
    align-items: flex-start;
    justify-content: flex-start;
    align-content: flex-start;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1200px) {
  section.nonopiano article {
    width: calc(100% / 3);
  }

  section.nonopiano .contenuto {
    max-height: 30rem;
    align-items: flex-end;
    justify-content: flex-end;
    align-content: flex-end;
  }
}
@media only screen and (min-width: 1201px) {
  section.nonopiano article {
    width: calc(100% / 2);
  }

  section.nonopiano .contenuto {
    max-height: 52rem;
    align-items: flex-end;
    justify-content: flex-end;
    align-content: flex-end;
  }
}
/* Colori ----------- */
/*
main #carrello table#elenco_ordini tr:nth-child(5n + 2), main #carrello table#elenco_ordini tr:nth-child(5n + 3) {
	background:#FFF;
}
main #carrello table#elenco_ordini tr:nth-child(5n + 4), main #carrello table#elenco_ordini tr:nth-child(5n + 5) {
	background:#F5F5F5;
}


/* Formattazione generale ----------- */
main #carrello {
  position: relative;
  width: calc(100% - 5rem);
  margin: 0.675rem 2.5rem;
  padding: 0 0 0 0;
}

main #carrello table {
  position: relative;
  width: 100%;
  margin: 0.675rem 0;
  padding: 0 0 0 0;
}

main #carrello table table {
  position: relative;
  width: 100%;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  border: 0;
}

main #carrello table tr:nth-child(even) {
  background-color: #F5F5F5;
}

main #carrello table td {
  margin: 0 0 0 0;
  padding: 0.3125rem 0;
  background: none;
  text-align: left;
}

main #carrello table table td {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  background: none;
  text-align: left;
}

main #carrello table th {
  margin: 0 0 0 0;
  padding: 0.3125rem;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  color: #FFFFFF !important;
  background: #5B6670 !important;
  font-weight: 400 !important;
  border-bottom: none !important;
}

main #carrello table tr.tr_sconto td input[type=text] {
  width: 80%;
}

main #carrello table tr.tr_sconto td input[type=submit] {
  margin-left: 10%;
}

main #carrello div.bottoni {
  width: 100%;
  text-align: center;
  margin: 0.675rem 0;
  padding: 0 0 0 0;
}

main #carrello div.bottoni a {
  border: none;
  border-radius: 0.3125rem;
  margin: 0.3125rem;
  padding: 0.625rem 1.25rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
  color: #FFFFFF;
  background: #4479AB;
}

main #carrello div.bottoni a:hover {
  background: #FF3506;
}

main #carrello table tr.totale td {
  text-align: right;
}

main #carrello table tr.totale td.importo {
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

main #carrello table.mezza td.testo {
  padding-left: 0.3125rem;
}

main #carrello textarea {
  width: 94%;
  padding: 1% 3%;
  height: 5rem;
  display: block;
}

main #carrello table#elenco_ordini td {
  padding: 0.3125rem;
  vertical-align: top;
}

main #carrello table td.stato {
  text-align: center;
}

/* --- BOTTONE ELIMINA, AGGIORNA QUANTITA' e SELEZIONA QUANTITA' --- */
main #carrello #elenco_prodotti table td input {
  border-radius: 0.3125rem;
  border: medium none;
  font-size: 0.75rem;
  line-height: 150%;
  margin: 0.3125rem 0.1rem;
  padding: 0.3125rem;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

main #carrello input.input_quantita {
  border: 0.0625rem solid #CCC !important;
  color: #777 !important;
  background: #F5F5F5 !important;
  line-height: 100% !important;
  cursor: auto !important;
}

/* --- LOADER CARRELLO --- */
#update_carrello {
  background: url("../../images/pubblico/ingrandimento/loader_ingrandimento.gif") no-repeat center center;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  z-index: 100000;
}

#sfondoIngrandimento_update_carrello {
  position: fixed;
  display: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: url("../../images/pubblico/ingrandimento/bgIngrandimento.png");
  opacity: 0.5;
}

td.centra, th.centra {
  text-align: center !important;
  white-space: nowrap;
}

main #carrello td a.rimuovi {
  font-weight: 400 !important;
  padding: 0.25rem 0.25rem 0.25rem 1.4rem;
  background: url(../../images/pubblico/rimuovi.svg) no-repeat;
  background-position: 0.25rem center;
  background-size: auto 1.2rem;
  color: #FFFFFF;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 2em;
  background-color: #4479AB;
  text-decoration: none;
  display: inline-block;
  border-radius: 0.25rem;
}

main #carrello td a.rimuovi:hover {
  background-color: #FF3506;
}

/* Smartphones ----------- */
@media only screen and (max-width: 960px) {
  main #carrello a.img {
    position: relative;
    width: 70px;
    height: 47px;
    float: left;
    margin: 0 0.3125rem 0.3125rem 0;
    padding: 0 0 0 0;
  }

  main #carrello table.mezza {
    width: 100%;
  }

  main #carrello table#elenco_ordini thead {
    display: none;
  }

  main #carrello table#elenco_ordini td.td_riga {
    display: block;
    padding: 0.6rem;
    font-size: 0.8rem !important;
  }

  main #carrello table#elenco_ordini .nascondi {
    display: none;
  }

  main #carrello table#elenco_ordini .mostra {
    display: block;
  }

  main #carrello table#elenco_ordini tbody tr td.mostra:last-child {
    margin-bottom: 1rem;
    padding: 0rem !important;
  }

  main #carrello table#elenco_ordini tbody tr td.mostra a {
    text-align: center;
    text-decoration: none !important;
    display: block;
    width: 100%;
    padding: 0.5rem 0rem;
  }

  main #carrello table#elenco_ordini tbody td.td_riga:before {
    content: attr(data-th);
    font-weight: bold;
    display: inline-block;
    width: 8rem;
  }

  main #carrello .mostra_desktop {
    display: none;
  }

  main #carrello .mostra_smartphone {
    display: visible;
  }

  main #carrello select.quantita_select_smartphone {
    margin-top: 0.3125rem;
    text-align: center;
  }

  main #carrello div.bottone_rimuovi {
    width: 100%;
    margin-top: 0.3125rem;
  }
}
/* iPAD Desktop ----------- */
@media only screen and (min-width: 961px) {
  main #carrello a.img {
    position: relative;
    width: 100px;
    height: 67px;
    float: left;
    margin: 0 0.3125rem 0.3125rem 0;
    padding: 0 0 0 0;
  }

  main #carrello table.mezza {
    width: 50%;
    float: left;
  }

  main #carrello .mostra_desktop {
    display: visible;
  }

  main #carrello .mostra_smartphone {
    display: none;
  }

  main #carrello table#elenco_ordini .mostra {
    display: none;
  }

  main #carrello table {
    table-layout: auto !important;
  }
}
/* REGISTRAZIONE */
#login {
  position: relative;
  z-index: 80;
  width: 100%;
  padding: 0 0 0 0;
  text-align: center;
}

#dati_accesso {
  position: relative;
  width: 100%;
  padding: 0.3125rem 0 0.3125rem 0;
}

#login label {
  margin: 5px 0px 5px 0px;
  width: 100%;
}

#login span {
  width: 100%;
  float: left;
}

#login input {
  padding: 0px 3px;
  -moz-box-sizing: content-box;
}

#login p {
  width: 90%;
  margin: 10px auto;
  text-align: center;
}

input[type=submit]::-moz-focus-inner {
  border: 0;
}

#login input[type=button] {
  width: 4rem;
}

#login input[type=text] {
  width: 7rem;
}

#login input[type=password] {
  width: 7rem;
}

/* --- SCHEDA UTENTE --- */
div.genera_password {
  text-align: right;
  margin: 5px 5%;
}

div.genera_password span {
  background: none;
  float: right;
  padding-top: 5px;
  padding-bottom: 5px;
  float: left;
}

#login a#pulsante_movimento, #login a#pulsante_registrati {
  display: none;
}

/* Smartphones ----------- */
@media only screen and (max-width: 960px) {
  #login a#pulsante_movimento {
    padding: 0rem 0.3125rem 0 0.3125rem;
    margin: 0 0 0 0;
    bottom: -2.5rem;
    right: 0.625rem;
  }

  #login a#pulsante_registrati {
    padding: 0rem 0.3125rem 0 0.3125rem;
    margin: 0 0 0 0;
    bottom: -2.5rem;
    right: 5.5rem;
  }
}
/* ipad desktop ----------- */
@media only screen and (min-width: 961px) {
  #login a#pulsante_movimento {
    padding: 0rem 0.625rem 0 0.625rem;
    margin: 0 -30rem 0 0;
    bottom: -2.5rem;
    right: 50%;
  }

  #login a#pulsante_registrati {
    padding: 0rem 0.625rem 0 1rem;
    margin: 0 -25.5rem 0 0;
    bottom: -2.5rem;
    right: 50%;
  }
}
/* Registrazione Colori ----------- */
/* Registrazione Generale ----------- */
#registrazione fieldset {
  position: relative;
  width: 100%;
  margin: 0.675rem 0;
  padding: 0.3125rem 0;
  border-left: none;
  border-right: none;
  border-bottom: none;
}

#registrazione legend {
  text-transform: uppercase;
  padding: 0 0.3125rem;
}

#registrazione ul {
  position: relative;
  width: 100%;
  margin: 0 0;
  padding: 0 0 0 0;
  height: 1.8rem;
  display: block;
}

#registrazione ul li {
  position: relative;
  margin: 0 0;
  padding: 0.3rem;
  display: inline-block;
  height: 1.1375rem;
}

#registrazione div.bottoni {
  width: 100%;
  text-align: center;
  margin: 0.675rem 0;
  padding: 0 0 0 0;
}

#registrazione div.bottoni a {
  border: none;
  border-radius: 0.3125rem;
  margin: 0.3125rem 0.1rem;
  padding: 0.3125rem;
  text-transform: uppercase;
  white-space: nowrap;
  display: inline-block;
}

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