:required {
    background: #FFFF00 !important;
}

.bg-color-required{
    background: #FFFF00 !important;
}

.form-check [type="radio"]:required:not(:checked) + label::after,
.form-check [type="radio"]:required:not(:checked) + label::before,
.form-check [type="checkbox"]:required:not(:checked) + label::after,
.form-check [type="checkbox"]:required:not(:checked) + label::before
{
    background-color: #FFFF00 !important;
}

input[type="file"]:required + .bootstrap-filestyle .form-control:disabled{
    background-color: #FFFF00 !important;
}

/*
.form-row > .col, .form-row > [class*="col-"]{
    padding-left:0px !important;
}*/

.form-control {box-shadow: none!important}
input[name^="campo_insegnante"] {
  margin-top:-10px!important;
}

.header-logo {
    height: auto !important;
    max-height: 150px;
}

.overflow-custom {
    height:150px;
    overflow-y: scroll;
    border: 1px solid;
    background-color: #f1f1f1;
    font-size: 0.8em;
}

.it-datepicker-wrapper .datepicker-calendar{
    width: auto !important;
}

.tabfam{
    margin-top: 40px;
}
.table td, .table th{
    padding: 0.2em !important;
}

.it-date-datepicker{
    min-width: 0px !important;
}

/*
.it-date-datepicker {
    font-size: 0.9em !important;
}

.it-date-datepicker::placeholder{
    font-size: 1em;
}

 */

/*
.it-datepicker-wrapper{
    position: absolute !important;
}*/

table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.it-datepicker-wrapper .input-group .datepicker-button .icon{
    width: 20px;
    height: 20px;
}

.remove-bottom-margin{
    margin-bottom : 0em !important;
}

.indent-1 {
    margin-left: 1.75rem;
}

.indent-2 {
    margin-left: 3.5rem;
}

.datepicker-calendar table.datepicker-grid td.month,
.datepicker-calendar table.datepicker-grid td.year {
    padding: 5px;
}

.custom-div-dichiarazione-sostitutiva{
    padding:16px 16px 6px 16px;
    background:#FFFFB3;
    margin-top:10px;
    border-radius:8px;
    border:1px solid #FEDF05;
    font-size:110%;
}

.custom-div-dichiarazione-sostitutiva i{
    color:#E37817;
    font-weight:bold;
}

.custom-div-dichiarazione-sostitutiva img {
    width: 100%;
    max-width: 400px;
}

.header-logo {
    margin-bottom: 15px;
    position: relative;
    background: transparent;
    text-align: center;
}
.header-logo::after {
    content: '';
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    background: transparent;
    z-index: 1;
}
.header-logo > img {
    padding: 15px;
    position: relative;
    z-index: 2;
}

.datepicker-calendar{
    top: auto !important;
}

.custom-div-generic .col-auto{ 
    margin-right:25px !important 
}

div.dropdown-menu.open{
     max-height: 314px !important;
     overflow: hidden;
}
ul.dropdown-menu.inner{
    max-height: 260px !important;
    overflow-y: auto;
}

.disable-pointer{
    pointer-events: none;
    cursor: not-allowed;
}


.labelnormal label{position:static; text-overflow:unset; white-space:unset;
font-size: unset;
    white-space: unset;
    transform: none !important;
    line-height: 1.2;
    font-size: unset;
    font-size: unset !important;
}

.bgrequired{
    background-color: #FFFF00 !important;
}



/* accessibile */

#form {
  width: 100%;
  max-width: 100%;
}

.loader{width:100%; height:100%; position:fixed; left:0; top:0; background:#FFF; z-index:1000; text-align:center; padding-top:48vh}
.load {
  width: 15px;
  aspect-ratio: 1;
  border-radius: 50%;
  animation: l5 1s infinite linear alternate;
  margin-left:auto;margin-right:auto;
}
@keyframes l5 {
    0%  {box-shadow: 20px 0 #000, -20px 0 #0002;background: #000 }
    33% {box-shadow: 20px 0 #000, -20px 0 #0002;background: #0002}
    66% {box-shadow: 20px 0 #0002,-20px 0 #000; background: #0002}
    100%{box-shadow: 20px 0 #0002,-20px 0 #000; background: #000 }
}

body {
    color: #000;
}
.badge {
    font-size: 100%;     white-space: normal;
}
.badge-warning{background-color: #FFFF00 !important; color:#000}
input[type=date], input[type=datetime-local], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], textarea {
    border: 1px solid #555 !important;

}
.form-group input, .form-group optgroup, .form-group textarea
 {
    color: #000;
}
label {
    color: #000;
}

.step-wrapper{display:none}

a {
    color: #0040b9;
}
.bootstrap-select-wrapper .dropdown.bootstrap-select .dropdown-menu li a {
    color: #0040b9;
}

.bootstrap-select>.dropdown-toggle.bs-placeholder, .bootstrap-select>.dropdown-toggle.bs-placeholder:active, .bootstrap-select>.dropdown-toggle.bs-placeholder:focus, .bootstrap-select>.dropdown-toggle.bs-placeholder:hover {
    color: #000000;
}

.block-header, .step-wrapper, .step-wrapper {
    max-width: 100%;
    width: 100%;
    display: flex;
    flex-direction: column; /* collassa sempre */
}

.btn:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

.form-check [type=checkbox]:focus+label, .form-check [type=radio]:focus+label, .toggles label input[type=checkbox]:focus+.lever, :focus:not(.focus--mouse):not([data-focus-mouse=true]) {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}


/**/



.form-check input[type="checkbox"][required] ~ label span::after {
    content: ' *';
    color: red; font-weight:bold; font-size:22px
}

/*
.form-check input[type="radio"][required] ~ label span::after {
    content: ' *';
    color: red; font-weight:bold; font-size:22px
}
*/




/*
input:required + label span::after, textarea:required + label span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}
*/

input:not([type="radio"]):required + label span::after, textarea:required + label span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}

.bootstrap-select-wrapper select:required ~ label span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}

.bootstrap-select-wrapper:has(select:required) label > span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}

/*
.form-group:has(:required) label > span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}
*/

.form-group:has(:required) label:not(.form-check-label) > span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}

.noaster + span::after {
  content: none !important;
}

.custom-div-allegati .label:has(+ div input:required) span.aster::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}

.form-row:has(input[type="radio"]:required) .label > span::after {
  content: " *";
  color: red; font-weight:bold; font-size:22px
}




.bootstrap-select-wrapper button .filter-option:after {
    display:none
}
.bootstrap-select-wrapper .dropdown.bootstrap-select .btn{border:1px solid #555}


.label{font-weight:600}
.asterisco{color: red;font-size:22px}

/*campi bianchi*/

.campibianchi :required {
    background: #FFFFFF !important;
}

.campibianchi .bg-color-required{
    background: #FFFFFF !important;
}

.campibianchi .form-check [type="radio"]:required:not(:checked) + label::after,
.campibianchi .form-check [type="radio"]:required:not(:checked) + label::before,
.campibianchi .form-check [type="checkbox"]:required:not(:checked) + label::after,
.campibianchi .form-check [type="checkbox"]:required:not(:checked) + label::before
{
    background-color: #FFFFFF !important;
}

.campibianchi  input[type="file"]:required + .bootstrap-filestyle .form-control:disabled{
    background-color: #FFFFFF !important;
}

.bgrequired{
    background-color: #FFFFFF !important;
}

.dropdown.bootstrap-select{background-color: #FFFFFF !important;}


