/*VIDEOPAGE*/
/* Variabili - BLU DEFAULT #147*/
/*reset*/
a, a:visited, a:active, a:focus, a:hover {
  color: #147;
  text-decoration: none;
  outline: none; }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }

ol {
  margin: 0;
  padding: 0; }
  ol li {
    margin-bottom: 0.5em; }

em {
  color: inherit; }

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

body {
  font-family: "Lato", sans-serif;
  line-height: 120%; }

[class*="icon-"]:before {
  font-weight: 400 !important; }

.flex {
  display: flex; }

.flexcenter {
  display: flex;
  justify-content: center;
  align-items: center; }

.flexstretch {
  display: flex;
  justify-content: center;
  align-items: stretch; }

.flexend {
  justify-content: flex-end; }

.flexstart {
  justify-content: flex-start; }

.centrato {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.nascosto {
  display: none; }

.relative {
  position: relative; }

.riempi {
  object-fit: cover;
  height: 100%;
  width: 100%; }

.solomobile {
  display: none; }

.bg-colore1 {
  background-color: #147;
  color: #fff; }

.bg-colore2 {
  background-color: #037;
  color: #fff; }

.bg-colore3 {
  background-color: #e00;
  color: #fff; }

[class*="bg-colore"] {
  color: #fff; }
  [class*="bg-colore"] a, [class*="bg-colore"] a:visited, [class*="bg-colore"] a:active, [class*="bg-colore"] a:focus, [class*="bg-colore"] a:hover {
    color: #fff; }

.bg-blended {
  background-color: rgba(4, 48, 94, 0.1); }

.txt-grigio {
  color: #666; }

.txt-colore1 {
  color: #147; }

.ancora {
  position: relative;
  top: -220px; }

.corpo120 {
  font-size: 1.2em;
  line-height: 1.4em; }

.corpo150 {
  font-size: 1.5em;
  line-height: 1.4em; }

.corpo200 {
  font-size: 2em;
  line-height: 1.4em; }

.corpo300 {
  font-size: 3em;
  line-height: 1.4em; }

.corpo400 {
  font-size: 4em;
  line-height: 1.4em; }

.spaziati > * + * {
  margin-left: 0.5em; }

.separatore {
  border-top: 1px solid #999;
  margin: 1.5em 0;
  clear: both;
  display: block; }

.bg-acqua {
  background-image: url("img/sfondo-acqua.jpg");
  background-repeat: no-repeat;
  background-size: cover; }

.tex-acqua {
  background-image: url("img/texture-acqua.png");
  background-repeat: no-repeat;
  background-size: cover; }

.fascia {
  padding: 3.5rem 2rem 2rem; }

/*LAYOUT*/
* {
  box-sizing: border-box; }

#pagina {
  position: relative;
  padding: 0;
  background-color: #fff; }
  #pagina img {
    max-width: 100%; }

.container {
  max-width: 600px; }

.btn-primary { background-color: #f5333f; border: 0; }
.btn-primary:hover, .btn-primary:active, .btn-primary:focus{ background-color: #f44; }

/*MODULI*/
/*twist*/
.twist {
  display: flex;
  justify-content: center;
  align-items: stretch; }
  .twist > div {
    width: 50%;
    position: relative; }
  .twist .testo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5vw;
    font-size: 1.5em;
    line-height: 1.2;
    font-weight: 300; }
  .twist .immagine img {
    object-fit: cover;
    width: 100%;
    height: 200px;
    min-height: 100%; }

.box-tasti {
  display: flex;
  flex-wrap: wrap; }
  .box-tasti .tasto {
    display: block;
    width: calc(50% - 5px);
    margin: 2px;
    position: relative;
    white-space: inherit; }

/*elenchi*/
.elenco {
  margin-bottom: 2em;
  /*puntati*/
  /*spaziato*/ }
  .elenco li {
    position: relative; }
  .elenco.cerchi li, .elenco.quadrati li, .elenco.linee li {
    padding-left: 1.5em;
    margin-bottom: 0.5em; }
    .elenco.cerchi li:before, .elenco.quadrati li:before, .elenco.linee li:before {
      content: '';
      position: absolute;
      top: 0.5em;
      left: 0;
      background-color: #147;
      width: 0.3em;
      height: 0.3em; }
  .elenco.cerchi li:before {
    border-radius: 100%; }
  .elenco.linee li:before {
    height: 3px; }
  .elenco.spaziato li {
    padding: 0.75em 0;
    border-bottom: 1px solid #ccc; }
    .elenco.spaziato li [class*="icon-"]:first-child {
      margin-right: 1em;
      display: inline-block; }
  .elenco.alternato li {
    padding: 0.75em; }
    .elenco.alternato li:nth-child(2n-1) {
      background-color: rgba(0, 0, 0, 0.05); }
  .elenco.numero li {
    padding-left: 2.5em; }
    .elenco.numero li span.numero {
      position: absolute;
      left: 0;
      top: 0;
      color: #147;
      font-weight: 400; }
      .elenco.numero li span.numero:after {
        content: '.'; }

/*TASTO*/
.tasto {
  cursor: pointer;
  text-align: left;
  font-family: "Lato", sans-serif;
  background-color: #a00;
  color: #fff;
  padding: 1em 1em 0.85em;
  transition: all 0.2s ease-in-out;
  user-select: none;
  position: relative;
  font-size: 1rem;
  display: inline-block;
  line-height: 1em;
  border-radius: 0.5rem;
  white-space: nowrap; }
  .tasto:hover, .tasto:active, .tasto:focus {
    background-color: #c00;
    color: #fff; }
  .tasto:visited {
    color: #fff; }
  .bg-colore1 .tasto {
    border: 1px solid rgba(255, 255, 255, 0.5);
    background-color: #053c76; }
    .bg-colore1 .tasto:hover {
      background-color: #06498f; }
  p + .tasto {
    margin-top: 1em; }
  .tasto[class*="icon-"] {
    color: #fff; }
    .tasto[class*="icon-"]:hover {
      color: #fff; }
  .tasto.icona-fine {
    padding-right: 3em; }
    .tasto.icona-fine [class*="icon-"] {
      position: absolute;
      right: 0.8rem;
      top: 50%;
      transform: translateY(-50%);
      font-size: 1.5em; }
  .tasto.icona {
    padding-left: 4rem; }
    .tasto.icona [class*="icon-"] {
      font-size: 1.5em;
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      padding: 0.3em 0;
      border-right: 1px solid rgba(255, 255, 255, 0.5);
      text-align: center;
      width: 3rem; }
      .tasto.icona [class*="icon-"]:before {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    .tasto.icona.evidenza [class*="icon-"] {
      background-color: #0a7bf1 !important; }
    .tasto.icona.evidenza:hover [class*="icon-"] {
      background-color: #3795f7 !important; }
  .tasto.grigio {
    background-color: #222; }
    .tasto.grigio.icona [class*="icon-"] {
      background-color: #147; }
    .tasto.grigio:hover {
      background-color: #3c3c3c; }
      .tasto.grigio:hover.icona [class*="icon-"] {
        background-color: #06498f; }
  .tasto.bianco {
    background-color: #f2f2f2;
    color: #333; }
    .tasto.bianco.icona [class*="icon-"] {
      background-color: #147;
      color: #fff; }
    .tasto.bianco:hover {
      background-color: #d9d9d9; }
      .tasto.bianco:hover.icona [class*="icon-"] {
        background-color: #06498f; }
  .tasto.info {
    padding: 0.33em; }
  .tasto.comingsoon {
    background-color: #777; }
    .tasto.comingsoon.icona [class*="icon-"] {
      background-color: #147; }
    .tasto.comingsoon:hover {
      background-color: #777; }
      .tasto.comingsoon:hover.icona [class*="icon-"] {
        background-color: #06498f; }

.media {
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  margin-bottom: 30px;
  position: relative;
  margin-bottom: 2em; }
  .media .item {
    width: 100%;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0; }
  .media.foglio {
    padding-bottom: 145%; }
  .media.video {
    padding-bottom: 56.25%;
    margin-bottom: 0; }
  .media.immagine {
    padding-bottom: 66%; }
    .media.immagine img {
      object-fit: cover;
      object-position: center center; }

.pulsantiera {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .pulsantiera > * {
    width: 50%;
    padding: 0.5em 0.25em; }
  .pulsantiera .tasto {
    min-width: 100%;
    height: 4em; }
    .pulsantiera .tasto .testo {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 1em;
      width: calc(100% - 3.8em); }
  .pulsantiera .label {
    margin: 0.5em 1em 1em;
    text-align: left;
    line-height: 1.1em; }
  .pulsantiera .autore {
    display: flex; }
    .pulsantiera .autore img.foto {
      display: block;
      min-width: 80px;
      width: 80px;
      height: 80px;
      border: 3px solid #147;
      border-radius: 100%;
      box-shadow: 0 10px 6px -5px rgba(0, 0, 0, 0.5);
      margin-right: 1em; }
    .pulsantiera .autore .dati {
      display: flex;
      flex-direction: column;
      justify-content: center; }
    .pulsantiera .autore p {
      font-size: 0.9rem;
      margin-bottom: 1em; }
    .pulsantiera .autore .nome {
      font-size: 1rem;
      font-weight: 400;
      color: #000;
      margin: 0.25em 0 0; }
    .pulsantiera .autore .qualifica {
      color: #222;
      margin: 0; }
    .pulsantiera .autore .descrizione {
      font-size: 1rem;
      color: rgba;
      margin-bottom: 0;
      font-weight: 400; }
    .pulsantiera .autore:last-child {
      margin-bottom: 2em; }

.credits {
  font-style: italic;
  /*border-top:1px solid rgba($nero, 0.3); padding-top:3em;*/
  margin-top: 3em;
  display: flex; }
  .credits .autore {
    line-height: 1.2em;
    margin-bottom: 0;
    width: 50%;
    padding: 0 1.5em; }
    .credits .autore .nome {
      font-size: 1.5em;
      margin: 1em 0 0.25em;
      line-height: 1.2em; }
      .credits .autore .nome strong {
        color: #147; }
    .credits .autore .qualifica {
      font-size: 1.3em;
      line-height: 1.2em; }
    .credits .autore .foto {
      min-width: 130px;
      width: 130px;
      height: 130px;
      border: 3px solid #147;
      border-radius: 100%;
      box-shadow: 0 10px 6px -5px rgba(0, 0, 0, 0.5); }

.login, .pannello {
  padding: 2em;
  background-color: rgba(0, 0, 0, 0.1);
  text-align: center;
  margin: 0.25em auto;
  font-weight: 300; }
  .login a, .pannello a {
    font-weight: 600; }

.informativa {
  font-size: 0.8rem;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.3);
  height: 10em;
  overflow: auto;
  background: #fff;
  margin: 2em 0;
  line-height: 1.2em;
  font-family: arial, sans-serif; }
  .informativa ol {
    margin: 1em; }

.condizionale {
  transition: all 1s ease-in-out;
  opacity: 1;
  height: auto;
  overflow: hidden; }
  .condizionale.spento {
    opacity: 0;
    height: 0px;
    margin: 0; }

/*MODALI*/
.modal .modal-header {
  background-color: #f5333f;
  color: #fff;
  display: block;
  text-align: center;
  position: relative; }
  .modal .modal-header h2, .modal .modal-header h3, .modal .modal-header h4, .modal .modal-header h5 {
    color: #fff;
    line-height: 1em; }
.modal .modal-body {
  font-size: 1.1rem;
  line-height: 1.2em;
  padding: 2em 1em; }
  .modal .modal-body.no-padding {
    padding: 0; }
  .modal .modal-body h4 {
    margin-bottom: 0.5em; }
.modal img {
  max-width: 100%; }
.modal .icon-chiudi {
  position: absolute;
  top: -0.75em;
  right: -0.75em;
  color: #fff;
  padding: 0.5em;
  background-color: #333;
  border-radius: 100%; }
  .modal .icon-chiudi:hover {
    background-color: #000; }
.modal .contatti {
  display: flex;
  justify-content: space-around; }
  .modal .contatti li {
    padding: 0.33em 0;
    font-size: 1.3rem; }
  .modal .contatti [class*="icon"] {
    font-size: 1.5em;
    position: relative;
    top: 0.2em; }
    .modal .contatti [class*="icon"]:after {
      content: ' '; }

/*FOOTER*/
#footer {
  position: relative; }
  #footer .loghi {
    display: flex;
    padding: 3em 2em;
    justify-content: center; }
    #footer .loghi > * {
      margin: 0 0.75em; }
  #footer .copyright {
    text-align: center;
    padding: 1.5em 2em; }

/* TIPOGRAFIA */
body {
  color: #333;
  font-weight: 300; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Lato", sans-serif;
  color: #147;
  font-weight: 400;
  line-height: 1em;
  margin: 0 0 0.2em; }
  [class*='bg-colore'] h1, [class*='bg-colore'] h2, [class*='bg-colore'] h3, [class*='bg-colore'] h4, [class*='bg-colore'] h5, [class*='bg-colore'] h6 {
    color: #fff; }
  p + h1, p + h2, p + h3, p + h4, p + h5, p + h6 {
    margin-top: 2em; }

h1, h2, h3 {
  color: #147;
  font-weight: 900; }

h4, h5, h6 {
  color: #595959;
  font-weight: 400; }

h1 {
  font-size: 2.5em; }

h2 {
  font-size: 2em; }

h3 {
  font-size: 1.75em; }

h4 {
  font-size: 1.5em; }

h5 {
  font-size: 1.25em; }

h6 {
  font-size: 1.1em; }

strong {
  font-weight: 600; }

.sottotitolo {
  margin-top: -0.5em; }

.sopratitolo {
  color: #037;
  margin-bottom: 0.25em; }

.titolo {
  text-transform: uppercase; }

.testuale {
  font-size: 1.2em;
  line-height: 1.4em; }

.titoletto {
  font-weight: 600;
  color: #147; }

/*RESPONSIVE MIN*/
/*RESPONSIVE MAX*/
@media (max-width: 991px) {
  html {
    font-size: 15px; }

  .tasto {
    padding-right: 1em;
    padding-left: 1em; }

  .pulsantiera .item {
    width: 50%; }
    .pulsantiera .item .tasto .testo {
      font-size: 1em; }

  .modal-xl, .modal-lg {
    max-width: 95%;
    margin: 5% auto; }

  .twist .testo {
    font-size: 1.3em; } }
@media (max-width: 767px) {
  .no-mobile {
    display: none; }

  .solomobile {
    display: inherit; }

  .fascia {
    padding: 2.5em 1em; }

  .pulsantiera .item {
    width: 100%; }

  .twist {
    display: block; }
    .twist > div {
      width: 100%; }
    .twist .testo {
      padding: 2em;
      text-align: center; }

  .modal .modal-body {
    padding: 1em; }

  .tasti {
    flex-wrap: wrap; }
    .tasti .tasto {
      margin: 0.2em; }

  #footer .loghi {
    flex-wrap: wrap; }
    #footer .loghi > * {
      width: 100%;
      text-align: center;
      margin: 5px 0.75em; } }
@media (max-width: 575px) {
  .modal .icon-chiudi {
    top: -0.5em;
    right: -0.5em; }

  .modal .contatti {
    display: block;
    text-align: center;
    margin-bottom: 1em; } }
