form.user-invalid input.form-control {
   border: 3px solid red;
}
form.user-invalid input[type='radio'] {
   border: 3px solid red;
}

form.user-invalid select.form-control {
   border: 3px solid red;
}

form label {
   margin-top: 10px;
   margin-bottom: 0px;
}

.checkbox-custom,
.radio-custom {
   /* opacity: 0; */
   margin-top: 0px;
   /* position: absolute; */
   height: 24px;
   width: 24px;
}

.checkbox-custom,
.checkbox-custom-label,
.radio-custom,
.radio-custom-label {
   display: inline-block;
   vertical-align: middle;
   margin: 5px;
   cursor: pointer;
}

.checkbox-custom-label,
.radio-custom-label {
   position: relative;
}

.checkbox-custom + .checkbox-custom-label:before,
.radio-custom + .radio-custom-label:before {
}

.checkbox-custom:checked + .checkbox-custom-label:before {
   background: rebeccapurple;
   box-shadow: inset 0px 0px 0px 4px #fff;
}

.radio-custom + .radio-custom-label:before {
   border-radius: 50%;
}

.radio-custom:checked + .radio-custom-label:before {
   background: #ccc;
   box-shadow: inset 0px 0px 0px 4px #fff;
}

.checkbox-custom:focus + .checkbox-custom-label,
.radio-custom:focus + .radio-custom-label {
   outline: 1px solid #ddd; /* focus style */
}

label input[role='switch'] {
   opacity: 0;
}

label input[role='switch'] ~ .state {
   display: inline-block;
   user-select: none;
}

label input[role='switch'] ~ .state > .container {
   position: relative;
   display: inline-block;
   border: 2px solid black;
   width: 40px;
   height: 20px;
   border-radius: 11px;
}

label input[role='switch']:checked ~ .state > .container {
   background: rgba(0, 255, 0, 1);
}

label input[role='switch'] ~ .state > .container > .position {
   position: relative;
   display: inline-block;
   border: 2px solid black;
   border-radius: 9px;
   width: 14px;
   height: 14px;
   background: black;
   opacity: 0.6;
   left: -14px;
}

label input[role='switch']:not(:checked) ~ .state span.on {
   display: none;
}

label input[role='switch']:checked ~ .state > span.off {
   display: none;
}

label input[role='switch']:checked ~ .state > .container > .position {
   left: 6px;
   border-color: green;
   background: green;
   opacity: 1;
}

label.focus,
label:hover {
   border-width: 2px;
   outline: none;
   background-color: #def;
   cursor: pointer;
}

label.focus span.container,
label:hover span.container {
   background-color: white;
}

table.dataTable thead th.centering,
.centering {
   text-align: center;
}

/* Icons para menus */
.icon {
   display: inline-block;
   width: 16px;
   height: 16px;

   background-repeat: no-repeat;
   background-position: center;
   background-size: contain;

   vertical-align: middle; /* importante p/ alinhar com texto */
}

.icon-pop-menu {
   background-image: url('img/pop_float_menu.svg');
}
/* end Icons para menus */
