/* ==========================================================================
   STILI GENERICI
   ========================================================================== */
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}
textarea {
  resize: vertical;
}
/*questo sotto non somma il padding*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
/* ==========================================================================
   STILI SITO
   ========================================================================== */
* {
  margin: 0;
  padding: 0;
}
/*COLORI*/ :root {
  --giallo: #ffba00;
  --blu: #003c77;
  --verde: #93c83d;
  --azzurro: #00afd7;
  --grigio: #525252;
  --regIncompleta: #ff0000;
  --inAttesaDoc: #fa9b28;
  --inAttesaVal: #fa9b28;
  --inAttesa: #fcda35;
  --inChiamata: #00bf15;
  --inCarico: #2000e1;
  --inScarico: #7e00ca;
  --fineCarico: #a6a6a6;
  --fineScarico: #699999;
  --ddtConsegnato: #000000;
}

.regIncompleta-txt{
  color: var(--regIncompleta);
}
.regIncompleta-bg{
 background-color: var(--regIncompleta);
}
.regIncompleta-border{
 border-color: var(--regIncompleta);
}
.inAttesaDoc-txt{
  color: var(--inAttesaDoc);
}
.inAttesaDoc-bg{
 background-color: var(--inAttesaDoc);
}
.inAttesaDoc-border{
 border-color: var(--inAttesaDoc);
}
.inAttesaVal-txt{
  color: var(--inAttesaVal);
}
.inAttesaVal-bg{
 background-color: var(--inAttesaVal);
}
.inAttesaVal-border{
 border-color: var(--inAttesaVal);
}
.inAttesa-txt{
  color: var(--inAttesa);
}
.inAttesa-bg{
 background-color: var(--inAttesa);
}
.inAttesa-border{
 border-color: var(--inAttesa);
}
.inChiamata-txt{
  color: var(--inChiamata);
}
.inChiamata-bg{
 background-color: var(--inChiamata);
}
.inChiamata-border{
 border-color: var(--inChiamata);
}
.inCarico-txt{
  color: var(--inCarico);
}
.inCarico-bg{
 background-color: var(--inCarico);
}
.inCarico-border{
 border-color: var(--inCarico);
}
.inScarico-txt{
  color: var(--inScarico);
}
.inScarico-bg{
 background-color: var(--inScarico);
}
.inScarico-border{
 border-color: var(--inScarico);
}
.fineCarico-txt{
  color: var(--fineCarico);
}
.fineCarico-bg{
 background-color: var(--fineCarico);
}
.fineCarico-border{
 border-color: var(--fineCarico);
}
.fineScarico-txt{
  color: var(--fineScarico);
}
.fineScarico-bg{
 background-color: var(--fineScarico);
}
.fineScarico-border{
 border-color: var(--fineScarico);
}
.ddtConsegnato-txt{
  color: var(--ddtConsegnato);
}
.ddtConsegnato-bg{
 background-color: var(--ddtConsegnato);
}
.ddtConsegnato-border{
 border-color: var(--ddtConsegnato);
}
#lista-infoReg{
  background-color:#f8f8f8; 
  border-radius: 15px;
  padding: 20px 10px 10px 10px;
  font-size:16px
}
#lista-infoReg > .form-check {
  font-size:18px
}
/*REGISTRAZIONE AVVENUTA CON SUCCESSO
-----------------------------------------------------------------------------------*/
.reg-page .highlighted, .reg-page2 .highlighted {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #ff0000;
}
.reg-page .normal, .reg-page2 .normal {
  font-size: 14px;
}
.n-coda a {
  background-color: var(--blu);
  color: #fff;
  padding: 10px;
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
  width: 50%;
  margin: 30px 25% 0 25%;
}
.n-coda {
  padding: 25px;
  margin-top: 25px;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  background-color: #ededed;
  margin-bottom: 25px;
  color:black;
}
.reg-page .blu, .reg-page2 .blu {
  color: var(--blu);
}
.reg-page h1 {
  width: 100%;
  margin-bottom: 15px;
  border-bottom: solid 2px var(--blu);
  padding-bottom: 20px;
}
.reg-page {
  margin: auto;
  padding: 10px;
  /* width: 90vw; */
  position: relative;
  margin-top: 4vh;
  text-align: left;
}
.reg-page2 {
  margin: auto;
  padding: 10px;
  /* width: 90vw; */
  position: relative;
  text-align: left;
}
.reg-page2 .row{
  padding-left: calc(var(--bs-gutter-x)* .5);
}
/*INFO STATI PER UTENTE
-----------------------------------------------------------------------------------*/
.stateList li {
  list-style: square;
}
.stateList li::marker {
  font-size: 1.7em;
  line-height: 10px;
}
.stateList li.regIncompleta::marker {
  color: var(--regIncompleta);
}
.stateList li.inAttesaDoc::marker {
  color: var(--inAttesaDoc);
}
.stateList li.inAttesaVal::marker {
  color: var(--inAttesaVal);
}
.stateList li.inAttesa::marker {
  color: var(--inAttesa);
}
.stateList li.inChiamata::marker {
  color: var(--inChiamata);
}
.stateList li.inCarico::marker {
  color: var(--inCarico);
}
.stateList li.inScarico::marker {
  color: var(--inScarico);
}
.stateList li.fineCarico::marker {
  color: var(--fineCarico);
}
.stateList li.fineScarico::marker {
  color: var(--fineScarico);
}
.stateList li.ddtConsegnato::marker {
  color: var(--ddtConsegnato);
}
/*---------------------------------------------*/
#navbarToggler .navbar-nav .active {
  border-bottom: 1px solid #f0f0f0;
}
#navbarToggler .navbar-nav .active a {
  color: #f0f0f0;
}
#navbarToggler .navbar-nav .sub-active {
  border-bottom: 1px solid #f0f0f0;
  color: #f0f0f0;
}
.logo-nav {
  max-height: 50px;
}
.alert-custom, .card-custom .card-header {
  color: #212121;
  background-color: #edf0f3;
  border-color: #6987a5;
}
.card-custom .card-footer {
  background-color: #fff;
  border-color: #6987a5;
}
.card-custom {
  border-color: #6987a5;
}
.navbar-sm {
  font-size: 0.8rem;
}
#nav-pager .nav-item {
  border-right: 1px solid #eee;
}
#nav-pager .nav-item:last-child {
  border-right: 0;
}
#nav-pager .nav-item a:hover {
  background-color: #eee;
}
#nav-pager .active {
  font-weight: 600;
}
#nav-pager .disabled {
  font-weight: 600;
}
.ajx-sort {
  color: #aaa;
}
.ajx-sort-current {
  color: #6987a5;
}
.bg-custom {
  background-color: #212121;
}
.text-bg-hl {
  color: #000;
  background-color: #ffe75fa2;
}
.btn-dark {
  background-color: #212121;
}
.btn-xs {
  padding: .1rem .4rem;
  font-size: .8rem;
  border-radius: .2rem;
}
.btn-outline-secondary {
  color: #6c757d;
  border-color: #a5afb8;
}
.btn-outline-secondary:hover {
  background-color: #6c757d;
  border-color: #6c757d;
}
#p-rows .form-control-sm {
  padding: .15rem .25rem;
  min-height: calc(1.1em + .15rem + 2px);
  line-height: 1.1;
}
.box-todo .border-bottom {
  border-bottom-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}
/* form ux */
.fg {
  padding: 10px 20px;
  margin: 20px 0;
  border: 1px solid #eee;
  border-left: 5px solid #eee;
  border-radius: 3px;
}
.fg h4 {
  margin-top: 0px;
  margin-bottom: 10px;
}
.fg-v {
  padding: 6px 10px;
  margin: 10px 0;
}
.fg-v h4 {
  font-size: 15px;
  font-weight: bold;
}
.fg-01 {
  border-left-color: #31708F;
}
.fg-01 h4, .fg-01 .fg-txt {
  color: #31708F;
}
.fg-02 {
  border-left-color: #FFE75F;
}
.fg-02 h4 {
  color: #8A6D48;
}
.fg-03 {
  border-left-color: #5CB85C;
}
.fg-03 h4 {
  color: #3C763D;
}
.fg-04 {
  border-left-color: #F0AD4E;
}
.fg-04 h4, .fg-04 .fg-txt {
  color: #AA6708;
}
.fon, .fon-x {
  cursor: pointer;
}
.row-disabled {
  color: #999;
}
.row-disabled a {
  color: #999;
}
.info {
  cursor: help;
}
.text-sm {
  font-size: 0.8rem;
}
.form-control-xs {
  height: 1.4rem;
  padding: 0 .5rem;
  font-size: .75rem;
  line-height: 1.4rem;
  border-radius: .2rem;
}
.tbody-loading {
  opacity: 0.5;
}
.form-floating>.form-control, .form-floating>.form-control-plaintext, .form-floating>.form-select {
  height: calc(3.5rem + 5px);
  line-height: 1.3;
}
/* multiselect fix */
.multiselect-selected-text {
  font-size: 0.8em;
}
.multiselect-container, .multiselect {
  max-width: 640px;
}
.multiselect-container a {
  font-size: 0.8em;
  color: #333;
}
.multiselect-container .active * {
  font-weight: bold;
}
/* sortable */
.sortable-item:hover {
  background-color: #edf0f333;
}
.sortable-handle {
  cursor: grab;
}
.sortable-chosen {
  background-color: #edf0f3aa;
}
.sortable-chosen .btn {
  visibility: hidden;
}
/* summernote */
.note-editor .note-toolbar {
  background-color: #fff;
  padding: 0 0 2px 2px;
}
.note-editor .note-toolbar > .note-btn-group {
  margin-top: 2px;
}
.note-editor.note-frame .note-statusbar {
  background-color: #fff;
}
.note-btn-group .note-btn {
  border-color: #eee;
  font-size: 10px;
  padding: .1rem .45rem;
}
.note-editor .btn-light.active {
  background-color: #f0f0f0;
}
/* additional media query */
@media screen and (max-width:576px) {
  body, .btn {
    font-size: 0.9rem;
  }
  .h1, h1 {
    font-size: 1.8rem;
  }
  .h3, h3 {
    font-size: 1.5rem;
  }
  .h4, h4 {
    font-size: 1.1rem;
    font-weight: bold;
  }
  .h5, h5 {
    font-size: 1.0rem;
  }
  .h6, h6 {
    font-size: 0.75rem;
  }
  .fa-2x {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:768px) {
  .size-sm-1 {
    font-size: 0.7rem;
  }
}
body {
  font-size: 18px;
}
.pl-content {
  margin-top: 13vh;
}
.main-user-icon {
  font-size: 20px;
}
.defaultLink {
  color: black;
}
.logoLittle {
  width: 40px;
}
/* .container-fluid{
  height: 94vh;
} */
/* Footer */
.navbar-bottom-site {
  font-size: 9px;
  color: #bfc1c2;
  padding-top: 10px;
  background: var(--blu);
}
.navbar-bottom-site a {
  color: #fff;
}
/* Index page*/
.index-page {
  max-width: 370px;
  padding: 15px;
  margin: 0 auto;
  margin-top: 10vh;
}
.index-page .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}
.index-page .form-control:focus {
  z-index: 2;
}
.img-responsive {
  width: 90vw;
  margin-top: 5vh;
}
.btn-registration {
  background: var(--blu);
  color: white;
  width: 100%;
}
.index-link {
  font-size: 14px;
  margin-top: 7px;
}
.version{
  position: absolute;
  bottom: 6vh;
  right: 5px;
  text-align: right;
  font-size: 12px;
}
/*Form */
.form-content {
  padding: 6vw;
  padding-top: 12vh;
  padding-bottom: 7vh;
  overflow-y: scroll;
  overflow-x: hidden; 
}
.form {
  margin-top: 5vh;
}
.form-text {
  font-style: italic;
}
.btn-save {
  width: 100%;
  margin-bottom: 10px;
  background-color: var(--blu);
}
.btn-back {
  margin-bottom: 10px;
}
.bi-qr-code-scan {
  font-size: 20px;
  color: black;
}

input[required] + label:after, select[required] + label:after{
	content: ' *';
	color: red;
}
sup {
  color: red;
}
/* QR modal*/
.alertQR {
  font-size: 12px;
}
/* .bi-arrow-left-short  */
.bi-house{
  font-size: 25px;
  margin-right: 8px;
}
.qrH {
  padding: 0px;
  border-bottom: 0.5px solid lightgray;
}
#canvas {
  height: 100%;
  width: 100%;
}
.rowErr {
  position: absolute;
  bottom: 0;
  width: 98%;
}
#errorMessage {
  width: 100%;
}
/*Card*/
.card-footer {
  font-size: 16px;
}
.card-text {
  margin-bottom: 10px;
}

.privacy-label{
  /* font-size:12px;  */
  font-size: 18px;
  font-weight: bold;
}
.privacy-label::before{
  content: '* ';
  color: red;
}
input[required].form-check-input + label:after, input[required][type="radio"]  + label:after, .form-signin input[required] + label:after{
  content: '';
}
.form-check.parsley-error > .form-check-label{
  color: red;
  font-weight: bold;
}
.form-check.parsley-error > .form-check-input{
   border: 2px solid red;
}
 .privacy-check > .form-check-input{
  /* min-width: 1em; */
  min-width: 1.2em;
  min-height: 1.2em;
  border: 2px solid black;
}   
#parsley-id-multiple-PRIVACY, #parsley-id-multiple-REGOLE_CARICO, #parsley-id-multiple-SICUREZZA{
  display: none;
}

#div-motivo{
  display: grid;
}
#parsley-id-multiple-MOTIVO{
  order: 1;
} 
/*Card queue*/
.card-queue {
  width: 80vw;
  margin: auto;
  margin-top: 5vh;
  border-radius: 2em;
}
.queue-num {
  font-size: 25vw;
  font-weight: bold;
}
.queue-num2 {
  padding: 5px;
  font-size: 10vw;
  text-align: center;
  background-color: #ededed;
  font-weight: bold;
}
.gate-num {
  font-size: 20vw;
  font-weight: bold;
}
.refresh {
  font-size: 18px;
  color: black;
}
/*Card registration list*/
.cardReg {
  border-radius: 2em;
  margin: 5vh 4vw 0vh 4vw;
}
.cardReg .card-text {
  text-align: left;
  color: black;
}
.cardReg .card-footer {
  height: 40px;
  margin-bottom: 5px
}
.cardReg .card-subtitle {
  font-size: 14px
}
.divAlert {
  margin-top: 20px;
  padding: 3px;
  text-align: center;
  font-size: 14px;
}
.cardDetail .card-footer {
  height: 40px;
  margin-bottom: 15px
}
.cardDetail {
  width: 75vw;
  margin: auto;
  margin-top: 15px;
}
.cardDetail .card-footer > button {
  font-size: 18px;
}
/* HUB */
.navbarHub {
  border-bottom: 1px solid var(--blu);
  background: var(--blu);
}
.navbar-text {
  font-size: 14px;
}
.btn-refresh{
  border: 1px solid var(--blu);
  color: var(--blu);
  font-size: 14px;
}
.btn-refresh:hover{
  border: 1px solid var(--blu);
  color: var(--blu);
  font-weight: bold;
}


/*Gate list*/
.gateR .btnGate {
  margin: auto;
  margin-top: 5vh;
  font-size: 22px;
  font-weight: bold;
  border-radius: 1em;
  width: 25vw;
}
.gateC {
  width: 50%;
}
/*MONITOR LIST
------------------------------------------------------------------------*/


.monitor-title {
  background: var(--blu);
	padding: 20px 0;
	text-align: center;
	height:15vh;
}
.monitor-title img{
	max-height: 10vh;
}
.monitor-list .row.indicazioni{
	color:#fff;
	text-align: center;
	text-transform: uppercase;
	background: #00488f !important;
	font-size: 24px;
	padding: 8px 0;
}


.monitor-list > .row > .numCoda {
  /*border-right: 1px solid black;*/
  font-size: 7vw;
  font-weight: bold;
  color: var(--azzurro);
}
.monitor-list > .row > .testo {
	display: flex;
	align-items: center;
	justify-content: center;
  font-size: 4vw;
  font-weight: bold;
  color: #fff;
}
.monitor-list > .row > .testo.gate {
  font-size: 7vw;
	color: var(--giallo);
}
.monitor-list .row:nth-child(even) {
  background-color: #464646;
}
.monitor-list .row:nth-child(odd) {
  background-color: #000;
}
.gate .bi-caret-right::before {
  color: var(--verde);
  font-size: 5vw;
}
.gate span {
  color: var(--giallo);
  padding-left: 2vw;
  font-size: 7vw;
}
.monitor-list > .row > .testo.targa {
  display: flex;
  align-items: center;
  padding-left: 2vw;
  color: var(--grigio);
  color: #fff;
}
/*
.monitor-list > .row {
  border-bottom: 1px solid #fff;
}*/
.monitor-list {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
}

/*MONITOR ONE
---------------------------------------------------------------*/
.monitor-one{
	--bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
	background-color: #000000;
	color: #fff;
}
.monitor-one .row .numCoda {
	background-color: var(--azzurro) !important;
color: #fff;
	text-align: center;
	justify-content: center;
}
.monitor-one .row .numCoda h1{
	font-size: 15vw;
	font-weight: bold;
	color: #fff;
	margin: 0;
	padding: 0;
	line-height: 22vw;
	height: 38vh;
	overflow: hidden;
	
}
.monitor-one .row .numCoda label{
	font-size: 1.4vw !important;
	font-weight: normal;
	text-transform: uppercase;
	display: inline-block;
	height: 12vh;
}
.monitor-one > .row > .testo {
  font-size: 15vw;
  font-weight: bold;
  text-align: center;
}
.monitor-one .targa{
	text-align: center;
	justify-content: center;
}
.monitor-one .targa h1{
	font-size: 8vw;
	font-weight: bold;
	color: #fff;
	margin: 0;
	padding: 0;
	line-height: 16vw;
	height: 25vh;
	overflow: hidden;

}
.monitor-one .targa label{
	font-size: 1.4vw !important;
	font-weight: normal;
	text-transform: uppercase;
	display: inline-block;
	height: 10vh;
}
.monitor-one .gate {
	color: var(--giallo);
}

/*BACKOFFICE*/
.dashMenu {
  padding-bottom: 10px;
  border-bottom: 1px solid lightgray;
}
.dashCard {
  margin: 15vh 3vh 3vh 3vh;
  border-radius: 2em;
}
.avgTime {
  font-size: 80px;
  font-weight: bold;
}
@media only screen and (max-width: 295px) {
  .card-queue {
    width: 70vw;
    margin: auto;
    margin-top: 5vh;
    border-radius: 2em;
  }
  .queue-num{
    font-size: 22vw;
    font-weight: bold;
  }
  .queue-num2 {
    font-size: 8vw;
  }
  .gate-num {
    font-size: 16vw;
    font-weight: bold;
  }
  .refresh {
    font-size: 16px;
    color: black;
  }
  .navbar-brand {
    font-size: 18px;
  }
  .version{
    bottom: 14vh;
  }
}
@media only screen and (max-width: 410px) {
  .index-link {
    font-size: 11px;
  }
  .gateR .btnGate {
    font-size: 18px;
  }
  .form-text {
    font-size: 12px;
  }
  .version{
    bottom: 14vh;
  }
 
}

@media only screen and (min-width: 360px) {
  .queue-num{
    font-size: 18vw;
  }
  .gate-num {
    font-size: 13vw;
  }
  .queue-num2 {
    font-size: 7vw;
  }
  .version{
    bottom: 12vh;
  }
}
@media only screen and (min-width: 641px) {
  .img-responsive {
    width: 40vw;
    margin-top: 3vh;
    margin-bottom: 5vh;
  }
  .card-queue {
    width: 60vw;
  }
  .queue-num{
    font-size: 15vw;
  }
  .queue-num2 {
    font-size: 4vw;
  }
  .gate-num {
    font-size: 9vw;
  }
  .card-footer {
    font-size: 20px;
  }
  .refresh {
    font-size: 26px;
  }
  .btn-save {
    width: 120px
  }
  .form-content {
    overflow: hidden;
  } 
  .index-page {
    max-width: 370px;
    padding: 15px;
    margin: 0 auto;
    margin-top: 5vh;
  }
  .version{
    bottom: 10vh;
  }
  /* .privacy-label{
    font-size:16px; 
  } */
  /* .privacy-check > .form-check-input{
    width: 1em;
  }   */
}
@media only screen and (min-width: 1000px) {
  .card-queue {
    width: 600px;
  }
  .queue-num{
    font-size: 10vw;
  }
 .gate-num {
    font-size: 5vw;
  }
  .queue-num2 {
    font-size: 3vw;
  }
  .gateR .btnGate {
    width: 10vw;
  }
  .version{
    bottom: 8vh;
  }
}
/* Gestisce il footer e il form nella versione mobile in caso di zoom del browser*/
@media only screen and (min-height: 430px) {

  .navbar-bottom-site{
      position: fixed;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1030;
  }

}
@media only screen and (max-height: 320px) {

  .form-content{
    padding-top: 16vh;
  }

}

/*Destinatario multiplo - tooltip*/
.multiDest{
  white-space: pre-line;
  text-decoration: underline;
}
.tooltip-inner {
  background-color: var(--blu);
  box-shadow: 0px 0px 2px var(--blu);
  opacity: 1 !important;
  min-width: 250px;
  color: white;
  text-align: left;
}

.tooltip.bs-tooltip-right .tooltip-arrow::before {
  border-right-color: var(--blu) !important;
}
.tooltip.bs-tooltip-left .tooltip-arrow::before {
  border-left-color: var(--blu) !important;
}
.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: var(--blu) !important;

}
.tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: var(--blu) !important;
}

/*Colori per i diversi stati
 la variabile $queueState in common-values.php contiene l'associazione stato - colore 
.border-red, .text-red {
  border-color: #e60000;
  color: #e60000;
}
.bg-red {
  background-color: #e60000;
}
.border-orange, .text-orange {
  border-color: #ff9900;
  color: #ff9900;
}
.bg-orange {
  background-color: #ff9900;
}
.border-yellow, .text-yellow {
  border-color: #ffdc07;
  color: #ffdc07;
}
.bg-yellow {
  background-color: #ffdc07;
}
.border-green, .text-green {
  border-color: #008000;
  color: #008000;
}
.bg-green {
  background-color: #008000;
}
.border-blue, .text-blue {
  border-color: #0000e6;
  color: #0000e6;
}
.bg-blue {
  background-color: #0000e6;
}
.border-purple, .text-purple {
  border-color: #8f00b3;
  color: #8f00b3;
}
.bg-purple {
  background-color: #8f00b3;
}
.border-greyblue, .text-greyblue {
  border-color: #669999;
  color: #669999;
}
.bg-greyblue {
  background-color: #669999;
}
.border-grey, .text-grey {
  border-color: #a6a6a6;
  color: #a6a6a6;
}
.bg-grey {
  background-color: #a6a6a6;
}
.border-black, .text-black {
  border-color: #000000;
  color: #000000;
}
.bg-black {
  background-color: #000000;
}*/

.select2-container--bootstrap-5 .select2--small.select2-selection--single {
  height: calc(3.5rem + 5px);
  line-height: 1.3;
}
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
  padding-top: 25px;
  font-size: 1rem;
  font-weight: normal;
  font-family: inherit;
}