
fieldset 
,.fieldset 
{
	position: relative;
}


/*
 * FORM
*/

	label {
		margin: 0 0 14px 0;
		display: block;
		float: left;
		position: relative;
		font-size: 14px;
		font-weight: normal;
		color: #000000;
	}
		label.float_right {
			margin-left: 51%;
			margin-left: calc(50% + 6px);
			float: none;
		} 
		label.w100 { width: 100%; }

		.label_checkbox 
		,.label_radio 
		{
			padding-left: 20px;
			margin: 0;
			display: inline-block;
			float: none;
			font-weight: normal;
		}

			.label_checkbox:before 
			,.label_radio:before 
			{
				content: '';
				width: 12px;
				height: 12px;
				border: 1px solid #CCCFD2;
				display: block;
				position: absolute;
				left: 0;
				top: 0;
			} 

			.label_checkbox:after 
			,.label_radio:after 
			{
				content: '';
				width: 8px;
				height: 8px;
				display: none;
				position: absolute;
				top: 3px;
				left: 3px;
				background: #CCCFD2;
			}

			.label_radio:before 
			,.label_radio:after 
			{ border-radius: 50%; }

			.no-opacity .label_checkbox:before 
			,.no-opacity .label_checkbox:after 
			,.no-opacity .label_radio:before 
			,.no-opacity .label_radio:after 
			{ display: none; } 

			input[type="checkbox"]:checked + .label_checkbox:after 
			,input[type="radio"]:checked + .label_radio:after 
			{ display: block; }



		.placeholder {
			line-height: 22px;
			display: block;
		}

			label .placeholder { opacity: 1; }
			.js .placeholder { 
				line-height: 32px;
				position: absolute;
				left: 12px;
				top: 0;				
				z-index: 5; 
			}

			.js .label_select .placeholder { display: none; }



	input[type="checkbox"] 
	,input[type="radio"] 
	{
		width: 15px;
		height: 15px;
		margin-right: -18px;
		display: inline-block;
		position: relative;
		top: 3px;
		opacity: 0;
	}

		.js textarea { min-height: 65px; }

	.campi_obbligatori 
	,.privacy {
		margin: 0;
		float: left;
		position: relative;
		font-size: 11px;
	}

			.privacy_box { margin-bottom: 14px; clear: both; }
				.privacy_box .label_checkbox 
				,.privacy_box a 
				{ 
					font-size: 11px; 
					font-weight: 300; 
					text-decoration: none; 
					color: #000000;
				}

.tooltip_msg {
	margin: 0 20px 20px 0;
	padding: 20px 40px 20px 20px;
	z-index: 50;
	color: #FFFFFF;
	background: #06BF03;
}

	.js .tooltip_msg {
		width: 280px;
		margin: 0;
		position: absolute;
		left: 95px;
		bottom: 43px;
	}

	.js .tooltip_msg:before {
		content: '';
		border-bottom: 10px solid transparent;
		border-left: 10px solid #06BF03;
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		-webkit-transform: scale(.9999);
		   -moz-transform: scale(.9999);
		    -ms-transform: scale(.9999);
		     -o-transform: scale(.9999);
		        transform: scale(.9999); 
	} 

	.tooltip_msg .close {
		min-width: 30px;
		height: 30px;
		padding: 0;
		border: none;
		border-radius: 0;
		display: none;
		position: absolute;
		right: 0;
		top: 0;
		font-size: 11px;
		text-decoration: none;
		background: #DD0000;
		cursor: pointer;
	}
		.js .tooltip_msg .close { display: block; }
		.tooltip_msg .close:before {
			content: '';
			width: 100%;
			height: 100%;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 20;
			background: #DD0000;
		}

		.tooltip_msg .close:after {
			content: '\00d7';
			width: 30px;
			height: 30px;
			line-height: 36px;
			margin: 0 auto;
			border-radius: 50%;
			display: block;
			position: absolute;
			top: 0;
			z-index: 21;
			font-size: 20px;
			font-weight: bold;
			text-align: center;
			color: #FFFFFF;
		}


/**
	GESTIONE ERRORI
*/

label.hasError { color: #DD0000; }

input[type="text"].has_error 
,input[type="email"].has_error 
,input[type="tel"].has_error 
,input[type="number"].has_error 
,textarea.has_error 
,select.has_error 
{ 
	border-color: #DD0000;
	-webkit-box-shadow: 0 0 4px #DD0000;
	   -moz-box-shadow: 0 0 4px #DD0000;
			box-shadow: 0 0 4px #DD0000;
}




input[type="checkbox"].has_error + label
,input[type="radio"].has_error + label
{ 
	color: #DD0000;
}

	.tooltip_msg.errors { background: #DD0000;} 
	.js .tooltip_msg.errors:before { border-left-color: #DD0000;} 



@media only screen and (max-width: 520px){

	label 
	,label.float_right
	{ 
		margin-left: 0;
		float: none; 
	}

	.js .tooltip_msg {
	    bottom: 48px;
	    right: 12px;
	    left: 12px;
	    width: auto;
	    z-index: 50;
	}

}

