.cont .footer,
.cont .head,
body {
  min-width: 320px;
}
body,
h2,
p {
  margin: 0;
}
#env-bottom,
#env-top {
  position: absolute;
  top: -999999px;
  left: -999999px;
}
@font-face {
  font-family: Lato;
  src: url(../font/Lato/Hairline/Lato-Hairline.eot);
  src: url(../font/Lato/Hairline/Lato-Hairline.eot?#iefix)
      format('embedded-opentype'),
    url(../font/Lato/Hairline/Lato-Hairline.woff2) format('woff2'),
    url(../font/Lato/Hairline/Lato-Hairline.woff) format('woff'),
    url(../font/Lato/Hairline/Lato-Hairline.ttf) format('truetype'),
    url(../font/Lato/Hairline/Lato-Hairline.svg#Lato-Hairline) format('svg');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lato;
  src: url(../font/Lato/Regular/Lato-Regular.eot);
  src: url(../font/Lato/Regular/Lato-Regular.eot?#iefix)
      format('embedded-opentype'),
    url(../font/Lato/Regular/Lato-Regular.woff2) format('woff2'),
    url(../font/Lato/Regular/Lato-Regular.woff) format('woff'),
    url(../font/Lato/Regular/Lato-Regular.ttf) format('truetype'),
    url(../font/Lato/Regular/Lato-Regular.svg#Lato-Regular) format('svg');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lato;
  src: url(../font/Lato/Hairline/Lato-Hairline_ext.eot);
  src: url(../font/Lato/Hairline/Lato-Hairline_ext.eot?#iefix)
      format('embedded-opentype'),
    url(../font/Lato/Hairline/Lato-Hairline_ext.woff2) format('woff2'),
    url(../font/Lato/Hairline/Lato-Hairline_ext.woff) format('woff'),
    url(../font/Lato/Hairline/Lato-Hairline_ext.ttf) format('truetype'),
    url(../font/Lato/Hairline/Lato-Hairline_ext.svg#Lato-Hairline) format('svg');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lato;
  src: url(../font/Lato/Regular/Lato-Regular_ext.eot);
  src: url(../font/Lato/Regular/Lato-Regular_ext.eot?#iefix)
      format('embedded-opentype'),
    url(../font/Lato/Regular/Lato-Regular_ext.woff2) format('woff2'),
    url(../font/Lato/Regular/Lato-Regular_ext.woff) format('woff'),
    url(../font/Lato/Regular/Lato-Regular_ext.ttf) format('truetype'),
    url(../font/Lato/Regular/Lato-Regular_ext.svg#Lato-Regular) format('svg');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
:focus {
  outline: 0;
}
body {
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -webkit-user-select: none;
  user-select: none;
  background-color: #fff !important;
  font-family: Lato;
  font-size: 17px;
  width: 100%;
  height: 100vh;
  padding: 0;
  padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0)
    env(safe-area-inset-bottom, 0);
  overflow-x: hidden;
  cursor: pointer;
  color: #1b1b1b;
}
body > div:not(.ui-page) {
  display: none;
}
h2 {
  font-style: italic;
  padding-bottom: 0.5em;
}
a {
  color: #00853d;
}
#env-top {
  width: env(safe-area-inset-top, 38px);
}
#env-bottom {
  width: env(safe-area-inset-bottom, 15px);
}
input[type='date'],
input[type='file'],
select {
  all: unset;
}
.date,
.file,
input,
select,
textarea {
  width: 94%;
  padding: 0.5em 3%;
  font-size: 16px !important;
  font-family: Frutiger;
  color: #000;
  border: 2px solid #6b7e80;
  box-shadow: 0 0 2px -1px;
  background-color: #fff;
  display: block;
  margin: 0 auto;
  border-radius: 0.5em;
}
input.search {
  border: none;
  background-color: #d3dfdd;
  color: #6b7e80;
  border-radius: 5px;
  width: 75%;
  padding: 0.8em 10%;
  margin: 2.5%;
}
input.search::placeholder {
  color: #6b7e80;
  opacity: 1;
}
input.search:-ms-input-placeholder {
  color: #6b7e80;
}
input.search::-ms-input-placeholder {
  color: #6b7e80;
}
input[type='file'] {
  background-color: transparent;
  width: 100%;
}
input[type='date'] {
  text-align: left;
}
.file {
  padding-bottom: 0.9em;
}
textarea {
  resize: none;
  height: 20vh;
  line-height: 1.2em;
}
.search-container {
  position: relative;
}
.search-container img {
  max-height: 60%;
  position: absolute;
  top: 20%;
}
.search-container img.cerca {
  left: 4%;
}
.search-container img.filtri {
  right: 4%;
}
#home .search-container input.search {
  width: 80%;
  margin: 2.5% 0;
}
#home .search-container img.cerca {
  left: 2%;
}
#home .search-container img.filtri {
  max-height: 50%;
  top: 25%;
  right: 2%;
}
.filtri-container .filter {
  align-items: center;
  width: 100%;
  padding: 0.5em 2.5%;
}
.filtri-container .filter:not(.hide) {
  display: flex;
}
.filtri-container .filter img {
  margin: 0;
  width: 2.5em;
  max-height: 2.5em;
  object-fit: contain;
  padding: 0 0.5em;
}
.filtri-container .filtri-categoria {
  padding: 3% 3% 5%;
  position: fixed;
  background: #fff;
  width: 94%;
  bottom: 0;
  z-index: 2;
  border-radius: 0.8em 0.8em 0 0;
}
.cont pages,
.cont pages .inner.back,
.cont pages .viewPsw,
.list .element {
  position: relative;
}
.cont .footer,
.cont .head {
  z-index: 1;
  background-image: url(../img/fondo.jpg);
  background-size: cover;
}
.filtri-container .filtri-categoria .filter-categories {
  max-height: 60vh;
  overflow-y: auto;
}
.filtri-container .filtri-categoria .filter-categories .categoria {
  padding-top: 0.3em;
  border-bottom: 1px solid #d3dfdd;
  padding-bottom: 0.3em;
  margin-top: 0.2em;
}
.btns {
  display: flex;
  align-items: center;
}
.btns:not(.left) {
  justify-content: center;
}
.btns.right {
  justify-content: flex-end;
}
.btns.between {
  justify-content: space-between;
}
.btns .btn {
  padding: 0.6em 1em 0.4em;
  display: block;
  text-align: center;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 0.8em;
  border: 2px solid #213669;
  margin: 0 3px;
  background-color: #fff;
  color: #213669;
}
.btns .btn:hover {
  color: #fff;
  background-color: #1f70b8;
}
img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
img.bord {
  border-radius: 1.5em;
}
.color.verde {
  color: #00853d;
}
.color.verde_testi {
  color: #76b82a;
}
.color.verde_chiaro {
  color: #94c221;
}
.color.blu {
  color: #213669;
}
.color.blu_chiaro {
  color: #1f70b8;
}
.color.grigio {
  color: #6b7e80;
}
.color.grigio_chiaro {
  color: #d3dfdd;
}
.color.bianco {
  color: #fff;
}
.punti {
  padding: 0.7em 0.3em;
  text-align: right;
  line-height: 0.8em;
  font-size: 0.8em;
}
.punti.green {
  color: #00853d;
  border-color: #00853d;
}
.punti.blu {
  color: #213669;
  border-color: #213669;
}
.punti b {
  font-size: 1.8em;
  line-height: 1em;
}
.list .element {
  border-top: 2px solid #dcdcdc;
  padding: 0.5em 0;
  display: flex;
  align-items: center;
}
.list .element img {
  margin: 0;
}
.list .element img.icona {
  max-height: 2.5em;
  margin-right: 1em;
}
.list .element img.social {
  max-height: 1.3em;
  margin-left: 0.5em;
}
.list .element:after {
  content: '>';
  color: #213669;
  position: absolute;
  bottom: 0.65em;
  right: -2px;
  font-size: 1.5em;
  font-family: monospace;
}
.list.negozi {
  padding-top: 1em;
}
.list.negozi .element {
  justify-content: space-around;
}
.cont .footer .pages,
.list.sponsor .element {
  justify-content: center;
}
.list.negozi .element .punti-container,
.list.negozi .element img {
  max-width: 20%;
  padding: 0 2.5%;
}
.list.negozi .element h2 {
  width: 75%;
}
.list.negozi .element h2 .small {
  color: #6b7e80;
  font-size: 0.75em;
}
.list.negozi .element .punti {
  float: right;
}
.list.negozi .element:after {
  content: '';
}
.list.sponsor .element:after {
  right: 5px;
}
.list.sponsor .element .cont {
  width: 90%;
}
.list.dropdown .element {
  flex-wrap: wrap;
}
.list.dropdown .element:after {
  bottom: auto;
  top: 0.5em;
  color: #76b82a;
}
.list.dropdown p {
  width: 100%;
  padding: 0.4em 0;
}
.list.dropdown img {
  max-height: 8em;
  margin: 0 auto;
}
.form-center h2,
.form-center p {
  text-align: center;
}
::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.hide,
.onlyDesktop,
.ui-loader {
  display: none;
}
.punti_totali {
  font-size: 1.8em;
}
.mob-hover {
  transition: none !important;
}
.locandina img {
  max-height: 45vh;
}
.cont {
  width: 100%;
  height: 100%;
}
.cont .loading {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: #00000085;
}
.cont .loading.active {
  display: flex;
}
.cont .loading img {
  max-width: 60px;
}
.cont .head {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background-position: top center;
  box-shadow: 0 2px 8px -4px;
  padding-top: env(safe-area-inset-bottom, 15px);
  padding-bottom: 0.5em;
  min-height: 50px;
}
.cont .head img {
  max-height: 3em;
  display: block;
  margin: 0 auto;
  width: auto;
  float: right;
  padding-top: 0.5em;
  padding-right: 0.4em;
}
.cont .head h2 {
  padding-top: 0.5em;
  padding-bottom: 0.2em;
  padding-left: 0.5em;
  color: #fff;
  font-size: 1.24em;
}
.cont .head > div {
  display: none;
  max-width: 80%;
  float: left;
}
.cont .head > div.active {
  display: block;
}
.cont .footer {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: #fff;
  background-position: bottom center;
  box-shadow: 0 2px 8px -4px;
  padding-bottom: env(safe-area-inset-bottom, 15px);
  padding-top: 0.3em;
}
.cont .footer .pages {
  display: flex;
}
.cont .footer .pages .page {
  width: 20vw;
}
.cont .footer .pages .page img {
  display: block;
  height: 6vh;
  width: auto;
}
.cont .footer .pages .page p {
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.cont pages {
  display: none;
  width: 100%;
  margin-top: env(safe-area-inset-top, 0);
  margin-bottom: env(safe-area-inset-bottom, 0);
}
.cont pages.active {
  display: block;
}
.cont pages .inner {
  margin: 0 auto;
  display: block;
}
.cont pages .inner.back {
  padding-top: 0.8em;
}
.cont pages .inner.back span.back {
  color: #00853d;
  position: absolute;
  top: 0;
  left: -5px;
  font-size: 2.6em;
  font-family: monospace;
}
.cont pages#storia .inner h2,
.cont pages#storia .inner p {
  color: #76b82a;
}
.cont pages#storia .inner h2 {
  padding-top: 0.5em;
}
.cont pages#inserzione .container,
.cont pages#negozio .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: flex-end;
  padding-top: 1em;
}
.cont pages#inserzione .container .first,
.cont pages#negozio .container .first {
  width: 25%;
}
.cont pages#inserzione .container .first .punti,
.cont pages#negozio .container .first .punti {
  float: left;
  font-size: 1.2em;
}
.cont pages#inserzione .container .second,
.cont pages#negozio .container .second {
  width: 100%;
}
.cont pages#inserzione .container .second .name,
.cont pages#negozio .container .second .name {
  font-size: 1.2em;
  color: #00853d;
}
.cont pages#inserzione .container .second .btn,
.cont pages#negozio .container .second .btn {
  font-size: 1em;
  padding: 0.5em 1em;
}
.cont pages#registrazione .hide {
  display: none;
}
.cont pages#notifiche .element h2 {
  width: 75%;
}
.cont pages .viewPsw img {
  height: 2em;
  position: absolute;
  right: 6%;
  top: 50%;
  margin-top: -1em;
}
.map {
  position: relative;
  overflow: hidden;
  height: 30vh;
  width: 100%;
}
.rounded {
  border-radius: 8px;
  border: 2px solid transparent;
  overflow: hidden;
  color: #fff;
}
.rounded.green {
  border-color: #00853d;
  background-image: url(../img/fondo_verde.jpg);
}
.rounded.blu {
  border-color: #213669;
  background-image: url(../img/fondo_blu.jpg);
}
.rounded img {
  max-height: 5em;
  margin: 0;
}
.rounded h2 {
  width: 70%;
  padding-top: 1em;
}
.rounded p {
  padding: 1em;
}
.rounded.square {
  margin-top: 1em;
  width: 30%;
}
.rounded.square img {
  max-height: 100%;
}
.background {
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.flex-wrap {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.flex-wrap.between {
  justify-content: space-between;
}
.modal,
.modal-confirm {
  opacity: 0;
  position: fixed;
  z-index: -99999;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-confirm.active,
.modal.active {
  opacity: 1;
  z-index: 99999;
}
.modal .modal-content,
.modal-confirm .modal-content {
  margin-top: -9%;
  background-color: #fefefe;
  padding: 2em 5%;
  border: 3px solid #94c221;
  width: 75%;
  text-align: center;
}
@media (min-width: 650px) {
  .cont pages .inner {
    max-width: 600px;
  }
  .cont pages .inner.back span.back {
    left: -5%;
  }
  .onlyDesktop {
    display: initial;
  }
}
@media (max-width: 650px) {
  .cont pages .inner {
    max-width: 90%;
  }
  .cont pages .inner.back {
    padding-left: 6%;
  }
  .cont .footer .pages .page p {
    font-size: 0.75em;
    overflow: hidden;
  }
}
@media (max-width: 450px) {
  .cont pages#inserzione .container .first .punti,
  .cont pages#negozio .container .first .punti,
  .list.negozi .element h2 {
    font-size: 1em;
  }
  .cont pages .inner {
    max-width: 94%;
  }
  .cont pages .inner.back {
    max-width: 90%;
  }
  .list .element img.icona {
    max-height: 1.5em;
    margin-right: 0.5em;
  }
  .list .element img.social {
    display: none;
  }
}
