
fieldset 
,.fieldset 
{
	max-width: 660px;
	margin: 60px auto 80px auto;
	position: relative;
}


.intro_form {
	margin: 0 0 38px 0;
	font-size: 15px;
}


/*
 * FORM
*/

	label {
		margin: 0 0 14px 0;
		display: block;
		position: relative;
		font-size: 15px;
		color: #9C9B9B;
		text-transform: uppercase;
	}

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

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

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

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

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

		.placeholder {
			line-height: 36px;
			display: none;
			position: absolute;
			left: 14px;
			top: 1px;
		}
		.no-inputplaceholder .placeholder { display: block; z-index: 5; }

		label.hasError { color: #DD0000; }

		.col_left { float: left; }
		.col_right { float: right; }


	input[type="text"]
	,input[type="email"]
	,input[type="tel"]
	{
		width: 295px;
		height: 38px;
		line-height: 38px;
		padding: 0 10px;
		border: 1px solid #D9D9D9;
		border-radius: 0;
		display: block;
		-webkit-box-sizing: content-box;
		   -moz-box-sizing: content-box;
		    -ms-box-sizing: content-box;
		     -o-box-sizing: content-box;
		        box-sizing: content-box; 
		font-size: 14px;
	}

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

	textarea
	{
		width: 295px;
		min-height: 126px;
		line-height: 18px;
		padding: 10px;
		border: 1px solid #D9D9D9;
		border-radius: 0;
		display: block;
		-webkit-box-sizing: content-box;
		   -moz-box-sizing: content-box;
			-ms-box-sizing: content-box;
			 -o-box-sizing: content-box;
				box-sizing: content-box; 
		font-size: 14px;
		resize: none;
	}

		input[type="text"].box_with_shadow
		,input[type="email"].box_with_shadow
		,input[type="tel"].box_with_shadow
		,textarea.box_with_shadow 
		,button.box_with_shadow 
		{
			-webkit-box-shadow: 0 3px 3px #D9D9D9;
			   -moz-box-shadow: 0 3px 3px #D9D9D9;
				-ms-box-shadow: 0 3px 3px #D9D9D9;
				 -o-box-shadow: 0 3px 3px #D9D9D9;
					box-shadow: 0 3px 3px #D9D9D9; 
		}

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

		label .placeholder { 
			opacity: 1;
			font-size: 14px; 
			color: #1D1D1B; 
		}
			.no-placeholder label .placeholder { display: block;}

		::-webkit-input-placeholder { color: #9C9B9B; font-size: 15px; text-transform: uppercase; opacity: 1;}
		:-moz-placeholder { color: #9C9B9B; font-size: 15px; text-transform: uppercase; opacity: 1;}
		::-moz-placeholder { color: #9C9B9B; font-size: 15px; text-transform: uppercase; opacity: 1;}
		:-ms-input-placeholder { color: #9C9B9B; font-size: 15px; text-transform: uppercase; opacity: 1;}


	.campi_obbligatori 
	,.privacy {
		line-height: 31px;
		margin: 21px 0 0 0;
		float: left;
		position: relative;
		font-size: 12px;
		color: #9C9B9B ;
	}

			.privacy { width: 317px; margin-right: 24px; }
			.privacy label {  font-size: 12px;}
			.privacy a { color: #9C9B9B;}

				.privacy .label_checkbox:before { top: 8px; }
				.privacy .label_checkbox:after { top: 11px; }

	.btn_submit {
		width: 120px;
		height: 35px;
		line-height: 31px;
		margin: 18px auto 0 auto;
		border: none;
		display: block;
		float: right;
		position: relative;
	    font-family: 'carrois_gothic', Arial, Helvetica, sans-serif;
	    font-size: 14px;
		color: #FFFFFF;
		background: #D4211C;
		cursor: pointer;
	}



/**
	GESTIONE ERRORI
*/


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

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

.tooltip_msg {
	width: 280px;
	margin: 0;
	padding: 20px 40px 20px 20px;
	position: absolute;
	right: 135px;
	bottom: 18px;
	z-index: 50;
	color: #FFFFFF;
	background: #06BF03;
}

	.tooltip_msg:before {
		content: '';
		border-top: 10px solid transparent;
		border-left: 10px solid #06BF03;
		display: block;
		position: absolute;
		bottom: 0;
		left: 100%;
	} 

	.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;
		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: '+';
			width: 30px;
			height: 30px;
			line-height: 30px;
			margin: 0 auto;
			border-radius: 50%;
			display: block;
			position: absolute;
			top: 0;
			z-index: 21;
			-webkit-transform: rotate(45deg);
			   -moz-transform: rotate(45deg);
			    -ms-transform: rotate(45deg);
			     -o-transform: rotate(45deg);
			        transform: rotate(45deg); 
			font-size: 20px;
			font-weight: bold;
			text-align: center;
			color: #FFFFFF;
		}
			.no-csstransforms .tooltip_msg .close:after { content: 'x'; }

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



/**
	MAPPA
*/

.map_container {
	overflow: hidden;
	position: relative;
}
	.map_container + .map_container {  border-top: 1px solid #D4211C; }

	.map_container address {
		width: 50%;
		padding: 5%;
		line-height: 1.16; 
		margin: 0;
		border-right: 1px solid #D4211C; 
		box-sizing: border-box;
		display: block;
		float: left;
		font-size: 18px; 
		font-style: normal; 
	}
		.map_container address + address {  
			margin-left: -1px;
			border-left: 1px solid #D4211C; 
		}


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



	fieldset
	,.fieldset
	{
		width: auto;
		margin: 40px 20px;
		float: none;
	}

	.intro_form { text-align: center;}

	.col_left
	,.col_right
	{
		float: none; 
	}

	input[type="text"]
	,input[type="email"]
	,input[type="tel"]
	,textarea
	{
		width: 100%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
			-ms-box-sizing: border-box;
			 -o-box-sizing: border-box;
				box-sizing: border-box; 
	}

	.campi_obbligatori
	, .privacy 
	{
	    margin: 0;
	    float: none;
	    text-align: center;
	}

	.privacy { width: auto; margin-top: 15px; }

	.btn_submit {
	    width: 100%;
	    float: none;
	}


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

		.tooltip_msg:before {
			margin-left: -6px;
		    border-left: 6px solid transparent;
		    border-right: 6px solid transparent;
		    border-top: 6px solid #06bf03;
		    bottom: auto;
		    top: 100%;
		    left: 50%;
		}
			.tooltip_msg.errors:before {
				border-left-color: transparent;
				border-right-color: transparent;
				border-top-color: #DD0000;
			}


	/**
		MAPPA
	*/


		.map_container address {
			width: auto;
			max-height: 1000000px;
			margin: 70px 0 40px 0;
			position: static;
			left: 0;
			top: 0;
			-webkit-transform: translate(0,0);
			   -moz-transform: translate(0,0);
			    -ms-transform: translate(0,0);
			     -o-transform: translate(0,0);
			        transform: translate(0,0); 
			text-align: center;
		}


		.map_container .map {
			width: auto;
			float: none; 
		}
}


