@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk_RkaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4n.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4n.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0C4n.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1y4n.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4n.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1y4n.ttf) format('truetype');
}
.relauto {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}
.relhide {
  position: relative;
  overflow: hidden;
}
.absauto {
  position: absolute;
  overflow-x: hidden;
  overflow-y: auto;
}
.abshide {
  position: absolute;
  overflow: hidden;
}
.relvis {
  position: relative;
  overflow: visible;
}
.absvis {
  position: absolute;
  overflow: visible;
}
.fixhide {
  position: fixed;
  overflow: hidden;
}
.fixvis {
  position: fixed;
  overflow: visible;
}
.sticky {
  position: -webkit-sticky;
  position: sticky;
}
.margineg-sx {
  left: 50%;
  margin-left: calc(((1280px / 2) * -1));
}
@media only screen and (max-width: 1380px) {
  .margineg-sx {
    margin-left: 0;
    left: 3vw;
  }
}
.margineg-dx {
  right: 50%;
  margin-right: calc(((1280px / 2) * -1));
}
@media only screen and (max-width: 1380px) {
  .margineg-dx {
    margin-right: 0;
    right: 3vw;
  }
}
.mezzo {
  width: calc((100% - 20px) / 2) !important;
}
@media only screen and (max-width: 780px) {
  .mezzo {
    width: 100% !important;
  }
}
.unterzo {
  width: calc((100% - 20px) / 3) !important;
}
@media only screen and (max-width: 780px) {
  .unterzo {
    width: 100% !important;
  }
}
.unquarto {
  width: calc((100% - 20px) / 4) !important;
}
@media only screen and (max-width: 780px) {
  .unquarto {
    width: 100% !important;
  }
}
.unquinto {
  width: calc((100% - 20px) / 5) !important;
}
@media only screen and (max-width: 780px) {
  .unquinto {
    width: 100% !important;
  }
}
.unsesto {
  width: calc((100% - 20px) / 6) !important;
}
@media only screen and (max-width: 780px) {
  .unsesto {
    width: 100% !important;
  }
}
.dueterzi {
  width: calc(((100% - 20px) / 3) * 2 + (20px * 2)) !important;
}
@media only screen and (max-width: 780px) {
  .dueterzi {
    width: 100% !important;
  }
}
/*----------------------------------------------------------------*/
*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: 'Open Sans', sans-serif;
  height: 100%;
}
html {
  height: 100%;
}
*:first-child + html {
  overflow: auto;
}
body {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  background: #0c3c71;
  color: #292a2b;
  font-size: 15px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}
@media only screen and (max-width: 780px) {
  body {
    font-size: 3vh;
  }
}
#contenitore {
  width: 90%;
  max-width: 1280px;
  position: relative;
  overflow: hidden;
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  color: #292a2b;
  font-weight: 400;
  line-height: 1.4em;
  padding: 30px;
  background-color: #fefefe;
  color: #0c3c71;
  display: flex;
  flex-direction: column;
  margin: 40px auto 0;
}
#contenuti {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  /*background-color: @colore02;*/
}
#contenuti article:nth-of-type(odd) {
  background-color: #b0c4d4;
}
#contenuti article:nth-of-type(even) {
  background-color: #dae0e3;
}
#contenuti article {
  padding: 10px;
}
#contenuti article h3 {
  text-align: center;
  color: #0c3c71;
  border-bottom: 1px dotted #0c3c71;
  padding-bottom: 10px;
}
#contenuti article h3 span {
  color: #393c3f;
  font-size: 1.1em;
}
#contenuti article h4 {
  color: #0c3c71;
}
#contenuti article h4 span {
  color: #e14f4f;
  font-size: 1.1em;
}
.morecontent {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-color: #dae0e3;
  text-align: center;
}
.morecontent article {
  padding: 20px;
}
.morecontent article h3 {
  text-align: center;
  color: #0c3c71;
  border-bottom: 1px dotted #0c3c71;
  padding-bottom: 10px;
}
.morecontent article h3 span {
  color: #393c3f;
  font-size: 1.1em;
}
.morecontent article h4 {
  color: #0c3c71;
}
.morecontent article h4 span {
  color: #e14f4f;
  font-size: 1.1em;
}
#logohead {
  text-align: center;
  padding: 0 0 10px 0;
  border-bottom: 1px dotted #b0c4d4;
}
#logohead img {
  max-height: 60px;
}
.menugen {
  list-style: none;
  display: flex;
  gap: 10px;
  padding: 0;
}
.menugen li {
  flex: 1;
}
.menugen li a,
.menugen li button {
  width: 100%;
}
.main_menu {
  padding: 10px;
  background: #4b7da8;
  border: none;
  border-radius: 8px;
  color: #fefefe;
  font-weight: bold;
  font-size: 14px;
  cursor: pointer;
}
.main_menu.active {
  background-color: #e7c83a;
  color: #393c3f;
}
#navigatore {
  list-style-type: none;
  display: flex;
  padding: 0;
  margin: 0;
  gap: 10px;
}
#navigatore li {
  font-size: 0.9em;
  padding: 5px;
  background-color: #e7c83a;
}
#navigatore li.active {
  background-color: #b0c4d4;
}
#navigatore li a {
  color: #6a6d72;
  text-decoration: none;
  font-weight: bold;
  border-bottom: 1px dotted #393c3f;
  padding: 6px;
}
form.gen {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
@media only screen and (max-width: 480px) {
  form.gen {
    flex-direction: column;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
  }
}
form.gen legend {
  font-weight: 700;
  color: #0c3c71;
}
form.gen fieldset {
  width: 100%;
}
form.gen div {
  display: inline-flex;
  gap: 10px;
  width: 100%;
  padding: 2px;
  margin: 0;
}
form.gen div h3 {
  text-align: center;
  color: #0c3c71;
  border-bottom: 1px dotted #0c3c71;
  padding-bottom: 5px;
}
form.gen div.elTitle,
form.gen div.input-wrapper {
  margin: 0;
  padding: 0;
}
form.gen div.elTitle h4,
form.gen div.input-wrapper h4 {
  color: #e4f0ef;
  margin: 0;
}
form.gen div label {
  color: #0c3c71;
  /*IGOR BOF */
  min-width: 160px;
  text-align: right;
  /*IGOR EOF */
}
form.gen div label.lungo {
  min-width: 240px;
}
form.gen div label.corta {
  min-width: 100px;
}
form.gen div.btnWrapper {
  margin: 20px 0 0 0;
  text-align: right;
  margin-left: auto;
  width: auto;
}
input[type='file'] {
  padding: 10px 0;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 1px solid #939ba1;
  border-radius: 0;
}
input.radio {
  float: left;
  width: 20px;
  height: 20px;
  margin: 15px 10px 15px 0;
}
@media only screen and (max-width: 480px) {
  input.radio {
    margin: 5px 10px 5px 0;
  }
}
input[type='checkbox'] {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0;
  vertical-align: middle;
  outline: none;
  border: none;
  accent-color: #4fade5;
}
input,
select,
textarea {
  display: block;
  border: 1px solid #939ba1;
  /*border-radius: 6px;*/
  background: #fefefe;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  color: #0c3c71;
  font-weight: 400;
  line-height: 1em;
  width: 100%;
  padding: 1px;
  transition: 0.2s ease-in-out;
  outline: none !important;
  min-width: 220px;
}
input.corto,
select.corto,
textarea.corto {
  width: 220px;
}
input.corto,
select.corto,
textarea.corto {
  max-width: 150px;
}
input[type='submit'] {
  min-width: auto;
}
input:focus-visible {
  outline: none;
  border: 1px solid #4b7da8;
}
textarea {
  width: 100%;
  height: 150px;
  margin: 0;
  outline: none;
  font-size: 1rem;
  font-weight: 400;
}
textarea.tiny {
  height: auto;
}
label {
  font-weight: 400;
  font-size: 0.9rem;
  color: #939ba1;
}
.pointer {
  cursor: pointer;
}
.bottone {
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 10px !important;
  border: none !important;
  background-color: #0c3c71;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1rem !important;
  color: #fefefe !important;
  font-weight: 400 !important;
  line-height: 10px !important;
  border-radius: 6px;
  text-decoration: none;
  /*text-transform: capitalize;*/
  letter-spacing: 0.05em;
  transition: 0.2s ease-in-out;
  cursor: pointer;
  width: auto;
}
.bottone.mini {
  padding: 5px !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.8rem !important;
  color: #fefefe !important;
  font-weight: 400 !important;
  line-height: 12px !important;
}
.bottone.miniAlt {
  padding: 5px !important;
  background-color: #41640f;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.8rem !important;
  color: #fefefe !important;
  font-weight: 400 !important;
  line-height: 12px !important;
}
.bottone.miniNegativo {
  padding: 5px !important;
  background-color: #e14f4f;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 0.8rem !important;
  color: #fefefe !important;
  font-weight: 400 !important;
  line-height: 12px !important;
}
.bottone.elenchi {
  background-color: #41640f;
}
.bottone.elimina {
  background-color: #6a6d72;
}
.bottone.altro {
  background-color: #b78be8;
}
.bottone.errore {
  background-color: #e14f4f;
}
@media only screen and (max-width: 1280px) {
  .bottone {
    font-size: 0.8rem;
    text-transform: none;
  }
}
.bottone:hover {
  background: #4b7da8;
  color: #fefefe;
}
.bottone .material-icons {
  font-size: 1rem !important;
}
.smalltxt {
  font-size: 0.8em;
}
.info-modal,
.pdf-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  display: grid;
  z-index: 10;
  justify-items: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
}
.overlay {
  position: absolute;
  inset: 0;
  background: #00000040;
}
.modal {
  position: absolute;
  background: white;
  width: 1000px;
  height: 90%;
  padding: 20px;
  overflow: hidden;
  overflow-y: scroll;
}
.modal .gen {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.modal h2 {
  margin-block: 20px;
}
.modal .header {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.modal .numero-tessera {
  opacity: 0.4;
  font-weight: 500;
}
.close-modal {
  cursor: pointer;
}
.minitext {
  font-size: 0.8em;
  color: #6a6d72;
}
.modal-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 12;
  width: 50px;
  height: 50px;
}
.resultsItem {
  font-size: 0.9em;
  padding: 5px;
  border-bottom: 1px solid #393c3f;
  margin-bottom: 15px;
}
.resultsItem.odd {
  background: #e4f0ef;
}
.resultsItem.even {
  background: #fefefe;
}
div.ActionBtnWrapper {
  float: right;
  display: block;
  top: 10px;
  position: relative;
}
.filtri-veloci {
  margin-bottom: 1rem;
  display: flex;
  justify-content: end;
  gap: 20px;
}
.filtri-veloci a {
  min-width: 120px;
}
