/* ================= FORM ================= */

/* @group form */
.input-group{
	align-items: center;
}
.form-group, .form-check{
	position: relative;
}
.form-control,
.form-select,
.form-check-input,
.form-control-static {
  border-radius: var(--border-radius);
  border: 2px solid var(--theme-secondary, #9f704f);
  background-color: var(--theme-color1-bg, #ffffff);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--theme-primary-dark, #b8883a);
  box-shadow: 0 0 0 0.22rem rgba(204, 161, 69, 0.32);
}

.form-control:hover,
.form-select:hover,
.form-check-input:hover {
  border-color: var(--theme-secondary-dark, #7a5238);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
  border-color: var(--border-color-dark, #d4b9a8);
  background-color: var(--bg-light, #f8f0ea);
}

.form-control.is-valid,
.was-validated .form-control:valid,
.form-select.is-valid,
.was-validated .form-select:valid {
  border-color: var(--theme-success, #5a9e6f);
}

.form-control.is-invalid,
.was-validated .form-control:invalid,
.form-select.is-invalid,
.was-validated .form-select:invalid {
  border-color: var(--theme-danger, #c2706a);
}

.form-check-input{
	margin-top: 0;
}
.form-privacy.form-check{
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	padding-left: 0;
	margin-bottom: 1rem;
}
.form-privacy .form-check-input{
	flex: 0 0 auto;
	width: 1.2em;
	height: 1.2em;
	float: none;
	margin: .2rem 0 0;
	border-color: var(--theme-secondary, #9f704f);
	background-color: var(--theme-color1-bg, #ffffff);
}
.form-privacy .form-check-input:checked{
	background-color: var(--theme-primary, #cca145);
	border-color: var(--theme-primary-dark, #b8883a);
}
.form-privacy .form-check-input:focus{
	border-color: var(--theme-primary-dark, #b8883a);
	box-shadow: 0 0 0 .22rem rgba(204, 161, 69, .32);
}
.form-privacy .form-check-label{
	line-height: 1.45;
	margin: 0;
}
.form-control::placeholder{
	color: var(--body-color-light);
}
label, .form-label{
	font-weight: 400;
	position: relative;
}
.label-danger a:link,
.label-danger a:visited{
	color: var(--alder-txt);
}
.fullrow{
	clear: both;
	margin-bottom: 0.5rem;
	position: relative;
	text-align: left;
	width: 100%;
	padding: 2px 0;
}
.fullrow label,
.fullrow .campo{
	min-height: 34px;
	line-height: 34px;
	padding-top: .4rem;
	padding-bottom: .4rem;
}
fieldset.border,
.form-sezioni fieldset{
	margin: 1.5rem 0 1rem 0;
	padding: var(--padding-base);
	border: 1px solid var(--border-color);
}
legend{
	border-bottom: none;
	color: var(--text-light);
	font-weight: 300;
	font-size: .85rem;
	padding: 2px 20px;
	text-transform: uppercase;
	background-color: var(--body-bg);
	margin: -1.8rem 1rem 0.5rem;
	width: auto;
}
textarea{
	min-height: 60px;
}
.checkbox, .radio{
	display: inline-block;
   margin-right: 50px;
}
.listcheck{
	line-height: 1.4;
	margin-left: 20px;
}
.form-default .control-label{
	padding-right: 45px;
   text-align: right;
}
.help-message{
	font-size: 1rem;
	margin-right: 1.2rem;
	float: right;
	color: #0057aa;
}
.help-message em,
.required-message em{
	border-radius: 3px;
	color: black;
	font: 11px/normal Arial,sans-serif;
	left: -9999px;
	padding: 4px;
	position: absolute;
	text-transform: none;
	z-index: 10;
}
.help-message em{
	background: #d8e5f5;
	border: 1px solid #0057aa;
}
.required-message em{
	background: var(--bg-medium);
	color: var(--theme-evidence-bg);
}
.help-message:hover em,
.required-message:hover em{
	left: 30px;
	top: -5px;
}
.no-required,
.required-message{
	position: absolute;
	height: 24px;
	width: 24px;
	right: 0;
	top: 5px;
}
.icon-help, .icon-required{
	cursor: help;
}
.icon-help{
	color: #0057aa;
}
.img-icon{
	margin-right: 5px;
	max-width: 60px;
}
.required-message{
	display: block;
	font-size: 0.85rem;
	color: var(--theme-evidence-bg);
}
.required-message:hover em{
	white-space: nowrap;
}
.captcha-cont{
	display: inline-block;
}
.input-group-text{
	padding: 10px;
	border: 2px solid var(--theme-secondary, #9f704f);
	background-color: var(--bg-light, #f8f0ea);
	color: var(--body-color, #1a1a1a);
}
input[type=number]{
	-moz-appearance: textfield;
	appearance: textfield;
}
.field-icon{	/* occhio campo password  */
	position: absolute;
	right: .65rem;
	z-index: 2;
	top: .5rem;
}
.form-control-plaintext{
	color: var(--body-color);
}
.grecaptcha-badge{
	visibility: hidden;
}
/* @end */

/* @group CHECKBOX */
 /* Customize the label (the container) */
.checkbox-cont{
   display: block;
   position: relative;
   padding-left: 2.5rem;
   margin-bottom: .5rem;
   line-height: 1.2;
   user-select: none;
}
/* Hide the browser's default checkbox */
.checkbox-cont input{
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
/* Create a custom checkbox */
.checkmark{
   position: absolute;
   left: 0;
   height: 25px;
   width: 25px;
   background-color: var(--bg-light);
   border: 1px solid var(--border-color-dark);
   border-radius: 0;
}
.checkmark-radio{
   border-radius: 50%;
}
/* On mouse-over, add a grey background color */
.checkbox-cont:hover input ~ .checkmark{
   background-color: var(--theme-primary);
}
/* When the checkbox is checked, add a blue background */
.checkbox-cont input:checked ~ .checkmark{
	background-color: var(--theme-primary);
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after{
	content: "";
   position: absolute;
   display: none;
}
/* Show the checkmark when checked */
.checkbox-cont input:checked ~ .checkmark:after{
   display: inline-block;
}
/* Style the checkmark/indicator */
.checkbox-cont .checkmark:after{
	left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
} 
/* @end */
/* BREAKPOINT SMARTPHONE (extrasmall <576)  + small <768) - sm */
    @media (max-width: 767px){
    #commenti-form .form-floating > label {
    white-space: break-spaces;
    }
}