:root {
	--fields-size: 15px;
	--fields-border: 2px;
	--form-color: #90A9BB;
	--form-row-gap: 30px;
	--form-column-gap: 30px;
}

.gfield--type-fileupload, textarea {width: 100% !important;}

a[href="/privacy-policy/"] {text-decoration: underline !important;}

/* INPUTS */
	.gfield--type-hidden,
	.field_sublabel_hidden_label legend,
	.hidden_label label,
	.hidden_label legend,
	.field_sublabel_hidden_label label {
		display: none;
	}

	input::placeholder, select::placeholder {color: var(--ast-global-color-6);}
/* END INPUTS */

/* Upload file */
	.gfield--type-fileupload {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	/* Single file */
		input::file-selector-button {
			background-color: white;
			border: 0px !important;
			color: var(--ast-global-color-0);
			transition: all var(--fedisa-animation);
			padding: 5px 15px;
			margin-right: 15px !important;
			height: 100%;
		}
		input::file-selector-button:hover {background-color: var(--ast-global-color-3);}
		input#input_3_21 {
			border: 1px solid;
			height: 50px !important;
		}
		.ginput_container.ginput_container_fileupload {
			display: flex;
			flex-direction: column;
		}
	/* END Single file */

	/* Multiple file */
		.gform_drop_area {
			border-color: var(--ast-global-color-0) !important;
			border-style: dashed !important;
			border-radius: var(--fields-size) !important;
			height: 150px;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 10px;
		}
		span.gfield_fileupload_progress {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
			width: 50%;
		}
		.ginput_preview {
			display: flex;
			width: 100%;
			flex-direction: row;
			justify-content: space-between;
			flex-wrap: nowrap;
			gap: 10px;
		}
		button.gform_delete_file.gform-theme-button.gform-theme-button--simple {
			background-color: white;
			color: var(--ast-global-color-0);
			border: 1px solid var(--ast-global-color-0);
			padding: 0;
			height: 30px;
			width: auto;
			aspect-ratio: 1/1;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-left: 10px;
		}
		.ginput_preview_list {
			gap: 10px;
			display: flex;
			flex-direction: column;
		}
		span.gfield_fileupload_filename {margin-right: auto !important;}
		span.gfield_fileupload_filesize {padding-right: 5px;}
		/* Progress bar */
			.gform-theme--framework .gfield:where(.gfield--type-fileupload,.gfield--input-type-fileupload) .ginput_preview .gfield_fileupload_progressbar_progress {
				background-color: var(--ast-global-color-1);
				border-radius: 5px;
				height: 5px;
				display: block;
				transition: width 300ms ease-in-out;
			}
			span.gfield_fileupload_progressbar {
				width: 90%;
				background-color: var(--ast-global-color-6);
				border-radius: 5px;
			}
		/* END Progress bar */
	/* END Multiple file */
/* END Upload file */

/* Date-Picker */
	div#ui-datepicker-div {
		background-color: white;
		padding: 5px 10px 10px 10px;
		border: 1px solid var(--ast-global-color-0);
		position: fixed;
	}
	table.ui-datepicker-calendar {
		background-color: white;
		border: 2px solid var(--ast-global-color-0) !important;
		min-width: 300px !important;
		margin: 0px;
		border-radius: 0px 0px 15px 15px;
		overflow: hidden;
	}
	.ui-datepicker table th {
		background-color: var(--ast-global-color-0) !important;
		color: white !important;
		width: calc(100% / 7);
	}
	.ui-datepicker-calendar td {
		padding: 0px !important;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center !important;
		width: 100%;
		aspect-ratio: 1 / 1;
		height: 100%;
		box-sizing: content-box;
	}
	.ui-datepicker-calendar a, .ui-datepicker-calendar  span {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 15px;
	}
	.ui-datepicker-calendar tr {
		display: flex;
		width: 100% !important;
		flex-direction: row;
		justify-content: flex-end;
	}
	.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled span {color: var(--ast-global-color-6) !important;}
	.ui-datepicker-calendar a.ui-state-active {background-color: var(--ast-global-color-3);color: var(--ast-border-color);}
	.ui-datepicker-calendar a:hover {
		background-color: var(--ast-global-color-1);
		color: white;
	}

	td, th {border: 0px;}
	.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
		display: flex;
		justify-content: space-between;
	}
	a.ui-datepicker-prev.ui-corner-all {order: 1;} .ui-datepicker-title {order: 2;} a.ui-datepicker-next.ui-corner-all {order: 3;}
	.ui-datepicker-calendar td:not(:first-child) {border-left: 1px solid var(--ast-border-color);} .ui-datepicker-calendar tr:not(:first-child) {border-top: 1px solid var(--ast-border-color);}
/* END Date-Picker */

/* Choice input */
	fieldset.gfield--input-type-radio {
		display: flex;
		align-items: center;
	}
	input[type='radio']:after {
		width: 100%;
		height: auto;
		border-radius: 15px;
		background-color: var(--ast-global-color-0);
		content: '';
		border: 1px solid var(--ast-global-color-6);
		box-sizing: content-box;
		aspect-ratio: 1 / 1;
		position: relative;
	}
	input[type='radio']:checked:after {background-color: var(--ast-global-color-3);}
	.gfield_radio label {
		display: block;
		color: var(--ast-global-color-6) !important;
	}
	.gchoice {
		position: relative;
		display: flex;
		flex-direction: row;
		gap: 8px;
	}
	input.gfield-choice-input {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18px;
	}
/* END Choice input */

/* Error validation */
	div#gform_2_validation_container {
		margin-bottom: 30px !important;
		background-color: var(--gf-form-validation-color);
		width: fit-content;
		margin: auto;
	}
	h2.gform_submission_error.hide_summary, .validation_message {
		color: var(--fedisa-error_validation_color) !important;
		margin: 0px !important;
	}
	span.gform-icon.gform-icon--circle-error::before {
		color: var(--fedisa-error_validation_color);
		border: 1px solid var(--fedisa-error_validation_color);
		border-radius: 50px;
	}
/* END Error validation */

/* Remove unwanted default ugly css-style */
	legend {
		padding: 0 !important;
		margin: 0 !important;
	}

	fieldset {
		border: 0px !important;
		padding: 0px !important;
		margin: 0px !important;
	}
/* END Remove unwanted default ugly css-style */

/* Form Richiedi disponibilità */
	.sezione-scarica-modulo:not(:has( .btn-download-modulo a[href])) {display: none;}
	.fedisa-form-richiedi-disponibilità *, .fedisa-form-domanda-lavoro * {
		background-color: transparent !important;
		color: white !important;
		border-color: var(--form-color) !important;
		border-radius: 50px !important;
	}
	/* Title, txt, separator */
		.fedisa-form-richiedi-disponibilità .form-title {
			width: 100% !important;
			color: white !important;
			text-align: center !important;
			font-size: 20px !important;
			font-weight: 700 !important;
		}
		.fedisa-form-richiedi-disponibilità .form-separatore {
			width: 100% !important;
			height: 0px !important;
			padding: 0px !important;
			margin: 30px 0px;
		}
	/* END Title, txt, separator */
	/* Inputs */
		.fedisa-form-richiedi-disponibilità .gform_fields, .fedisa-form-domanda-lavoro .gform_fields {
			display: flex !important;
			flex-wrap: wrap !important;
			column-gap: var(--form-column-gap) !important;
			row-gap: var(--form-row-gap) !important;
			justify-content: space-between !important;
		}
		@media (min-width: 768px) {
			.fedisa-form-richiedi-disponibilità .gfield:not(.form-title, .form-separatore, :has( .gfield_consent_description)), .fedisa-form-domanda-lavoro .gfield:not(:has( .gfield_consent_description)) {
				width: calc(50% - var(--form-column-gap))
			}
		}
		@media (max-width: 767px) {
			.fedisa-form-richiedi-disponibilità .gfield:not(.form-title, .form-separatore), .fedisa-form-domanda-lavoro .gfield {width: 100%;}
		}
		.fedisa-form-domanda-lavoro .gfield:has( [type="file"]) {
			width: 100%;
			display: flex;
			gap: 10px;
			flex-direction: column;
		}
		.fedisa-form-richiedi-disponibilità input[type="text"], .fedisa-form-domanda-lavoro input[type="text"],
		.fedisa-form-richiedi-disponibilità input[type="tel"], .fedisa-form-domanda-lavoro input[type="tel"],
		.fedisa-form-richiedi-disponibilità input[type="email"], .fedisa-form-domanda-lavoro input[type="email"],
		.fedisa-form-richiedi-disponibilità select {
			width: 100% !important;
			padding: 15px 25px !important;
			line-height: 1.4em !important;
			font-size: 16px !important;
			/* color: white !important; */
		}
		.fedisa-form-richiedi-disponibilità div.gfield_radio {
			display: flex;
			gap: 40px;
		}
		.fedisa-form-richiedi-disponibilità select {width: -webkit-fill-available;}
		.fedisa-form-richiedi-disponibilità option {background-color: var(--ast-global-color-1) !important;}
		.fedisa-form-richiedi-disponibilità label.gfield_label.gform-field-label {padding-left: 25px;}
	/* END Inputs */

	/* BTN send */
		form.fedisa-form-richiedi-disponibilità {
			display: flex;
			flex-direction: column;
			align-items: center;
		}
		.fedisa-form-richiedi-disponibilità .gform_footer.top_label, .fedisa-form-domanda-lavoro .gform_footer.top_label {
			display: flex;
			justify-content: center;
			margin-top: 75px;
		}
		.fedisa-form-richiedi-disponibilità input[type="submit"], .fedisa-form-domanda-lavoro input[type="submit"] {
			background-color: var(--ast-global-color-1) !important;
			color: white !important;
			border: none !important;
			font-weight: 700 !important;
			line-height: 1.5em;
			transition: all var(--fedisa-animation);
		}
		.fedisa-form-richiedi-disponibilità input[type="submit"]:hover, .fedisa-form-domanda-lavoro input[type="submit"]:hover {
			background-color: white !important;
			color: var(--ast-global-color-0) !important;
		}
	/* END BTN send */
	fieldset:has( .gfield_consent_description) {
		display: flex;
		gap: 10px;
		margin-left: 24px !important;
		margin-top: 10px !important;
	}
/* END Form Richiedi disponibilità */

/* Newsletter */
	.sezione-newsletter {min-height: var(--fedisa-bkg-logo-img-calculator) !important;}
	.sezione-newsletter:before {
		content: "";
		background-size: auto calc(100% / var(--fedisa-bkg-logo-img-row-n_repeat, var(--fedisa-bkg-logo-img-row-n_repeat-default))) !important;
		background-image: var(--fedisa-bkg-logo-img) !important;
		opacity: 10%;
	}
	.sezione-newsletter form#gform_1 {
		display: flex;
		flex-direction: column;
		gap: 35px;
		align-items: center;
		align-content: center;
	}
	.sezione-newsletter .gform_footer.before {
		margin: 0;
		display: flex;
		justify-content: center;
	}
	.sezione-newsletter .ginput_container.ginput_container_email {text-align: center;}
	.sezione-newsletter input#input_1_1, .sezione-newsletter input#input_1_1:focus {
		max-width: 700px;
		width: -webkit-fill-available;
		background-color: transparent;
		border: 1px solid white !important;
		color: white;
		border-radius: 50px;
	}
	.sezione-newsletter input#gform_submit_button_1 {
		background-color: var(--ast-global-color-0) !important;
		border-radius: 50px;
		font-weight: 700;
		line-height: 1em !important;
		padding: 10px 20px;
		font-size: 16px;
		border: 1px solid var(--ast-global-color-0);
		transition: all var(--fedisa-animation);
	}
	.sezione-newsletter input#gform_submit_button_1:hover {border-color: white;}
	.sezione-newsletter input#gform_submit_button_1:hover {
		background-color: var(--ast-global-color-1) !important;
		border-color: white;
	}
	.sezione-newsletter .gfield_consent_description {
		margin: 0px !important;
		padding: 0px !important;
		border: 0px !important;
		color: white !important;
	}
	.sezione-newsletter .gfield--type-consent {
		display: flex !important;
		flex-direction: row;
		align-items: center;
		gap: 10px;
		width: fit-content;
		margin: auto;
		max-width: 1000px;
	}
	.sezione-newsletter label.gfield_consent_label {display: none !important;}
	.sezione-newsletter a {color: inherit;}
/* END Newsletter */

.gform_validation_container {display: none !important;}