* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  height: 100%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "Roobert", sans-serif;
  min-height: 100%;
}
body.homepage {
  background-color: #152C73;
}
body.lot-page .m-header {
  border-bottom: 8px solid transparent;
  -o-border-image: linear-gradient(90deg, #1BAF2D 0%, rgba(27, 175, 45, 0) 50%) 1;
  border-image: -webkit-gradient(linear, left top, right top, from(#1BAF2D), color-stop(50%, rgba(27, 175, 45, 0))) 1;
  border-image: linear-gradient(90deg, #1BAF2D 0%, rgba(27, 175, 45, 0) 50%) 1;
}
body.fixed {
  overflow: hidden;
}

select:focus {
  outline: 0;
}

p {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: #000000;
}

.m-select {
  background-color: transparent;
  border: 1px solid #DAD8D6;
  border-radius: 4px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  font-size: 14px;
  line-height: 17.5px;
  background-size: 8px;
  padding: 8px 16px;
}
@media screen and (max-width: 767px) {
  .m-select {
    max-width: 100%;
  }
}

.m-selection {
  display: none;
  padding: 12px 0;
}

.m-label {
  display: block;
  font-size: 12px;
  line-height: 15px;
  font-weight: 400;
  text-transform: uppercase;
  color: #4D4D4D;
  margin-bottom: 12px;
}

.m-btn {
  border: 0;
  background-color: transparent;
  white-space: nowrap;
  padding: 0;
  text-decoration: none;
}
.m-btn--primary {
  background-color: #002EFF;
  border-radius: 32px;
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
  color: #fff;
  padding: 12px 40px;
}
.m-btn--primary:visited {
  color: #fff;
}
.m-btn--primary:hover {
  color: #fff;
}
.m-btn--primary:active {
  color: #fff;
}
.m-btn--primary.yellow {
  background-color: #FFC800;
  color: #000000;
}
.m-btn--primary.white {
  background-color: #fff;
  color: #002EFF;
  text-transform: uppercase;
}
.m-btn:disabled {
  background-color: #DAD8D6;
}

.m-header {
  background-color: #fff;
}
.m-header .logo {
  width: 116px;
}

.m-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 0;
}
.m-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.m-nav ul li {
  padding: 12px 40px;
}
.m-nav ul li.active {
  border-radius: 32px;
  background-color: #002EFF;
}
.m-nav ul li.active a {
  pointer-events: none;
  /* Disabilita il click */
  cursor: default;
  /* Cambia il cursore in uno standard (non cliccabile) */
  color: #fff;
}
.m-nav ul li.active a:visited {
  color: #fff;
}
.m-nav ul li.active a:hover {
  color: #fff;
}
.m-nav ul li.active a:active {
  color: #fff;
}
.m-nav ul li a {
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
  text-decoration: none;
  color: #152C73;
}
.m-nav ul li a:visited {
  color: #152C73;
}
.m-nav ul li a:hover {
  color: #152C73;
}
.m-nav ul li a:active {
  color: #152C73;
}
@media screen and (max-width: 767px) {
  .m-nav ul li {
    padding: 12px 20px;
  }
}

.m-section {
  padding: 48px 0;
}
.m-section__title {
  font-size: 32px;
  font-weight: 500;
  line-height: 40px;
  color: #002EFF;
  margin-bottom: 48px;
}
.m-section h3 {
  font-size: 24px;
  font-weight: 750;
  line-height: 30px;
  color: #000000;
  margin-bottom: 8px;
}
.m-section h4 {
  font-size: 18px;
  font-weight: 400;
  line-height: 22.5px;
  color: #000000;
  margin-bottom: 32px;
}
.m-section--blue {
  background-color: #152C73;
}
.m-section--blue .m-section__title {
  font-size: 64px;
  line-height: 64px;
  font-weight: 300;
  text-align: center;
  color: #fff;
  padding: 150px 0 80px;
}
@media screen and (max-width: 767px) {
  .m-section--blue .m-section__title {
    font-size: 40px;
    line-height: 1;
    padding: 0;
  }
}

.m-tools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
  margin-bottom: 246px;
}
@media screen and (max-width: 767px) {
  .m-tools {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 48px;
  }
}

.m-box {
  height: 322px;
  width: 322px;
  padding: 23.24px 23.24px 0 0;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0) 50%, var(--gradient-color, #ccc) 100%);
  border-radius: 12px;
  overflow: hidden;
}
.m-box__inner {
  position: relative;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.m-box__inner a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.m-box__inner img {
  position: absolute;
  top: 35%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 144px;
  height: 144px;
}
.m-box__inner h3 {
  position: absolute;
  bottom: 23px;
  left: 23px;
  font-size: 40px;
  font-weight: 500;
  line-height: 40px;
  color: #fff;
}

.m-results {
  padding: 20px 0 37px;
}
.m-results h3 {
  font-size: 18px;
  line-height: 22.5px;
  font-weight: 750;
  margin-bottom: 32px;
  padding: 0 16px;
}

.m-documents {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #DAD8D6;
  background-color: #fff;
}
.m-documents li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #DAD8D6;
  padding: 16px 24px;
}
.m-documents li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  font-size: 18px;
  font-weight: 400;
  line-height: 18px;
  color: #152C73;
  text-decoration: none;
}
.m-documents li a::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background-image: url("../icons/download.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.m-documents li a img {
  width: 32px;
  height: 32px;
}
.m-documents li a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
}

.m-footer {
  background-color: #152C73;
  margin-top: auto;
  padding: 20px 0;
}
.m-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 80px;
}
.m-footer__inner p {
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  text-align: left;
  color: #fff;
  margin: 0;
}
.m-footer__inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.m-footer__inner ul li {
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  color: #fff;
  padding: 8px;
}
.m-footer__inner ul li a {
  color: #fff;
}
.m-footer__inner ul li a:visited {
  color: #fff;
}
.m-footer__inner ul li a:hover {
  color: #fff;
}
.m-footer__inner ul li a:active {
  color: #fff;
}
.m-footer__inner ul li select {
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 8px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("../icons/icon_angle-down-white.svg") no-repeat right 16px center;
  background-size: 8px;
  width: 180px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 400;
  color: #fff;
  background-color: #152C73;
  margin: 0 auto;
  padding: 8px 16px;
}
@media screen and (max-width: 991px) {
  .m-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 20px;
  }
}

.m-language {
  display: none;
  background-color: #152C73;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: 60%;
  background-position: center;
  background-repeat: no-repeat;
  padding: 198px 0;
  z-index: 999;
}
.m-language__nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  padding: 20px 0;
}
.m-language__title {
  font-size: 64px;
  line-height: 64px;
  font-weight: 300;
  color: #fff;
  text-align: center;
  margin-bottom: 32px;
}
.m-language__text {
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  text-align: center;
  color: #fff;
  margin-bottom: 80px;
}
.m-language select {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 8px;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("../icons/icon_angle-down-white.svg") no-repeat right 16px center;
  background-size: 8px;
  width: 312px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  color: #fff;
  margin: 0 auto;
  padding: 10px 16px;
}
.m-language select option {
  background: url("../icons/icon_angle-down-white.svg") no-repeat right 16px center;
}
@media screen and (max-width: 767px) {
  .m-language {
    background-size: 100%;
  }
  .m-language__title {
    font-size: 40px;
    line-height: 1;
    padding: 0;
  }
}

.m-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 991px) {
  .m-flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.m-step {
  -webkit-box-flex: 0.7;
  -ms-flex: 0.7;
  flex: 0.7;
  border-width: 1px 1px 1px 0;
  border-style: solid;
  border-color: #DAD8D6;
  padding: 16px 32px;
  opacity: 0;
}
.m-step:last-of-type {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #F6F4F2;
  padding: 0;
}

#update-language{
  opacity: 0;
}