@import url(https://fonts.bunny.net/css?family=montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i);

:root {
  --color_1: #60B2B0;
  --color_2: #9CAB4E;
  --color_3: #CD9336;
}

[x-cloak] {
  display: none !important;
}
* {
  box-sizing: border-box;
  font-family: Montserrat;
}
body,
html {
  color: #333;
  background-color: #fafafa;
  padding: 10px;
}
@media (max-width: 500px) {
  body,
  html {
    padding: 1px;
  }
}

@media (max-width: 640px) {
  #banner {
     margin-top:-60px;
  }
 }

a {
  color: var(--color_2) !important;
}
strong {
  color: var(--color_1) !important;
  font-weight: 500;
}
small {
  font-size: 1.3rem;
}
button,
.button,
.button-primary {
  background-image: linear-gradient(90deg, #60B2B0, #CD9336);
  color: white;
}
button:hover,
.button:hover,
.button-primary:hover {
  color: white;
  border-color: transparent;
}
h4 {
  font-weight: 500;
  color: #444;
}
input[type=text] {
  background-color: white !important;
}
input[type=radio],
input[type=checkbox] {
  cursor: pointer;
}
input[type="radio"],
input[type="checkbox"] {
  width: 1.6em;
  height: 1.6rem;
  accent-color: #375962;
}
@media (max-width: 500px) {
  .area_p_top_link {
    padding: 8px;
    margin-bottom: -18px;
  }
  .area_p_top_link ion-icon {
    font-size: 24px !important;
  }
}
@media (max-width: 500px) {
  .area_p_top_link span {
    display: none;
  }
}
#footer {
  font-size: 13px;
}
#footer p {
  margin: 3px 0 0 0;
}
#footer a {
  text-decoration: none;
  font-weight: 500;
}

/********/
/* home */
/********/


#page-preloader {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #fafafa;
  z-index: 100500;
}
#page-preloader .spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  color: #999;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.slider_wrapper {
  width: 95%;
  max-width: 700px;
  height: 300px;
}
@media (max-width: 660px) {
  .slider_wrapper {
    max-width: 400px;
    height: 500px;
  }
}
.slide {
  /* cioè la singola slide */
  width: 100%;
}
.active {
  color: white;
  background-color: #444;
}
#claims,
#marchi {
  width: 95%;
  max-width: 680px;
}
@media (max-width: 660px) {
  #claims,
  #marchi {
    max-width: 400px;
  }
}
#top_slogan img {
  width: 100%;
  max-width: 316px;
}


/*********/
/* registrati, login e forms in generale */
/*********/


#reg_wrapper .flex-row {
  margin-top: 0;
}
.header_reg p {
  font-size: 1.4rem;
  line-height: 2rem;
}
.reg_label_group {
  font-size: 1.55rem;
  font-weight: 500;
  border-bottom: 0.5px solid #444;
  margin-bottom: 1.6rem;
}
.reg_field > p {
  margin-bottom: 0.2rem;
  margin-top: 0;
  padding-left: 3px;
  font-size: 1.45rem;
  font-weight: 400;
  color: #444;
  /*font-family: "Montserrat";*/
}
.reg_field > p > span {
  color: red;
}
.reg_field > input,
.reg_field > select {
  width: 100%;
  border-radius: 5px;
}
.reg_field > input[type="text"],
.reg_field > select {
  background-color: white;
  color: #777;
  font-weight: 300;
}
.reg_field > input[placeholder] {
  color: #333;
  font-weight: 400;
}
#reg_vantaggi p {
  max-width: 400px;
  padding-left: 2.5%;
  padding-right: 5%;
}
.reg_pw > span {
  cursor: pointer;
  float: right;
  margin: -42px 12px 0 0;
}
.consenso p {
  font-size: 1.4rem;
  line-height: 2rem;
  padding-left: 1rem;
}
@media (max-width: 500px) {
  .consenso .button {
    display: block;
  }
}
.reminder {
  border: 1px dotted #333;
  border-radius: 15px;
  padding: 18px 22px;
}
.reminder span {
  font-weight: 500;
  color: var(--color_1);
}
@media (max-width: 660px) {
  .reminder {
    text-align: center;
    padding: 12px;
  }
}
.login input {
  width: 100%;
  max-width: 450px;
}
.login_pw span {
  cursor: pointer;
  float: right;
  margin: -30px 12px 0 0;
}
.login_pw form {
  margin-bottom: 0;
}


/*********/
/* condizioni/cookie template */
/*********/


.condizioni p,
.condizioni ul,
.condizioni li {
  text-align: left;
}
.condizioni ul {
  list-style-position: inside !important;
}
.condizioni h6 {
  font-weight: 500;
  margin: 3.2rem auto;
}


/*********/
/* pagina della pratica */
/*********/


#offusca-bg-vendi,
#offusca-bg-annulla {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #fafafa;
  z-index: 100500;
}
#offusca-bg-vendi .box-conferma,
#offusca-bg-annulla .box-conferma {
  position: absolute;
  left: 50%;
  top: 50%;
  color: #444;
  transform: translate(-50%, -50%);
  width: 350px;
}
.passo p {
  margin: 0 0.5% 24px 0.5%;
}
.passo p:first-of-type {
  border-bottom: 1px solid #999;
  font-weight: 500;
}
.passo button {
  min-width: 166px;
}
#address_iban input,
#address_iban select {
  width: 49.4%;
}
@media (max-width: 660px) {
  #address_iban input,
  #address_iban select {
    width: 99%;
  }
}
#address_iban div {
  height: 12px;
}
/*
#vendi {
  width: 100%;
  padding: 0;
  text-align: center;
}
*/
@media (min-width: 501px) {
  #vendi {
    max-width: 350px;
  }
}
#soldi_buono {
  border-top: 1px dotted #999; 
  border-bottom: 1px dotted #999;
  padding: 18px 0;
  font-size: 1.45rem;
}
#soldi_buono input[type="radio"] {
  margin-bottom: 1.4rem;
}
#soldi_buono button {
  margin-top: 12px;
}

/*********/
/* area personale */
/*********/


#area_p_wrapper .flex-row {
  margin-top: 0;
}
#area_p_wrapper small {
  font-size: 1.35rem;
  margin-left: 4px;
  display: block;
}
#area_p_wrapper ul {
  list-style: none;
  line-height: 2rem;
  font-weight: 500;
}
#area_p_wrapper li {
  margin-bottom: 16px;
}
#area_p_wrapper li > a {
  text-decoration: none;
  letter-spacing: 0.3px;
}
@media (max-width: 500px) {
  #area_p_wrapper li > a {
    font-size: 1.4rem;
    letter-spacing: 0.1px;
  }
}
@media (max-width: 660px) {
  #p_chiuse button {
    width: 100%;
  }
}

/*********/
/* faq */
/*********/

.faq_container > strong {
  margin: 24px 0 18px 0;
  letter-spacing: 0.6px;
  cursor: pointer;
  line-height: 1rem;
}
.faq_container > strong:hover {
  border-bottom: 1px solid var(--color_1);
}
.faq_container > strong > span {
  font-size: 20px;
}
.faq_answer {
  margin-bottom: 24px;
  font-size: 1.45rem;
}


/*********/
/* modal privacy policy */
/*********/

.modal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100%;
  padding-right: 2rem;
  padding-left: 1rem;
}
.model-inner {
  box-sizing: border-box;
  background-color: white;
  border-radius: 0.5em;
  padding: 2em;
  margin: auto;
  max-width: 750px;
  max-height: 600px;
  overflow: scroll;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid black;
}

.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: black;
  opacity: 0.75;
}

.foto { 
  background-size: contain; 
  min-height: 200px; 
  background-color: white;
}

.photo img {
  box-shadow: 0 0 8px #ccc;
  padding: 0 18px;
  background-color: white;
}

#quesiti button {
  background-color: white;
  background-image: none;
  color: #555;
}

#quesiti button:hover {
  border-color: #60B2B0;
  color: #60B2B0;
}

@media (max-width: 660px) {
  #quesiti .foto {
    width: 250px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 660px) {
  #quesiti .photo {
    width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

#quesiti .tip {
  background-color: #eee;
  padding: 8px 5px 8px 24px;
  margin: 32px;
  border-left: 4px solid #999;
  max-width: 300px;
}

.home_button {
  margin: 10px auto;
  padding: 8px 12px 8px 12px;
  border: 1px solid #999;
  background-color: white;
  line-height: 18px;
  width: 95%;
  font-size: 1.375rem;
}

.home_button:hover {
   border-color: #60B2B0;
  color: #60B2B0 !important;
}

.loghi > div {
  display: inline-block;
  margin: 15px;
}

.esempio {
  margin-bottom: 12px;
}

.esempio > strong {
  font-weight: 500; 
  font-size: 2rem;"
}