/* CSS Document */
body {
	background: url(../images/common/bg_body.jpg) repeat-x 0 0;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 12px;
	padding: 0;
	margin: 0;
}

img { border: none; }

a { color: #9C0B6F; text-decoration: none; }
a:hover { text-decoration: underline; }

span.f14px { font-size: 14px;}

.cb { clear: both; }
.hide { visibility: hidden; }

/*****************/
/***** INDEX *****/
#container {
	background: url(../images/common/bg_container.jpg) no-repeat top right;
	width: 996px;
	text-align: center;
	margin: 0 auto;
	padding-top: 22px;
}

#container_orario {
	font-size:11px;
	margin-top: 20px;
	text-align: center;
	width: 100%;
}

#container_footer {
	background: url(../images/common/repeat_footer.jpg) repeat-x left top;
	width: 100%;
	text-align: center;
}

/*******************/
/***** HEADER *****/
#header {
/*	background: url(../images/common/bg_header.jpg) no-repeat 0 0; */
	width: 996px;
	height: 249px;
}

ul#mn_principale { margin: 0; padding: 0; display: inline; clear: both; }

ul#mn_principale li { float:left; list-style-type: none; }

ul#mn_principale li a { 
	display: block;
	height: 249px;
}

ul#mn_principale li a:hover { text-decoration: none; }

ul#mn_principale li a.li_home { background: url(../images/common/li_home.png) no-repeat 0 0; width: 158px; padding-right: 14px; }
ul#mn_principale li a.li_home:hover { background: url(../images/common/li_home.png) no-repeat 0 -249px; }

ul#mn_principale li a.li_servizi { background: url(../images/common/li_servizi.png) no-repeat 0 0; width: 154px; padding-right: 6px; }
ul#mn_principale li a.li_servizi:hover { background: url(../images/common/li_servizi.png) no-repeat 0 -249px; }

ul#mn_principale li a.li_offerte { background: url(../images/common/li_offerte.png) no-repeat 0 0; width: 151px; }
ul#mn_principale li a.li_offerte:hover { background: url(../images/common/li_offerte.png) no-repeat 0 -249px; }

ul#mn_principale li a.li_contatti { background: url(../images/common/li_contatti.png) no-repeat 0 0; width: 156px; }
ul#mn_principale li a.li_contatti:hover { background: url(../images/common/li_contatti.png) no-repeat 0 -249px; }


/*******************/
/***** CORPO ******/
#corpo {
	color: #5d5b67;
	text-align: left;
	line-height: 2em;
	padding: 20px 80px 15px 0;
	text-align: justify;
}

#corpo h1 {
	background: url(../images/common/bg_h1.jpg) no-repeat left center;
	color: #9c0b6f;
	font-size: 14px;
	font-weight: normal;
	padding-left: 30px;
	margin-bottom: 20px;
}

#corpo p { 
	padding-left: 30px;
	padding-bottom: 20px;
	margin: 0;
	font-style: italic;
}

/*********************/
/***** INDEX ******/
#corpo.index { padding-right: 0; }

#corpo.index #columnSx {
	width: 600px;
	float: left;
}

#corpo.index #columnDx {
	width: 300px;
	padding-left: 50px;
	float: left;
}

#fotoHP { 
	padding-top:35px;
	text-align: center; 
}

/*********************/
/***** SERVIZI ******/
#corpo.servizi { padding-right: 0; }

#corpo.servizi #columnSx {
	width: 600px;
	float: left;
	font-style: italic;
}

#corpo.servizi #columnDx {
	width: 300px;
	padding-left: 50px;
	float: left;
}

tr { border-bottom: 1px dotted #959595; }

/*********************/
/***** OFFERTE ******/
#corpo.offerte { padding-right: 0; }

#corpo.offerte #columnSx {
	width: 570px;
	float: left;
	padding-left: 30px;
}

#corpo.offerte #columnDx {
	width: 300px;
	padding-left: 50px;
	float: left;
}

.dot_offerta { 
	float: left;
	padding: 5px 10px 10px 0;
}
.desc_offerta { 
	float: left;
	padding-bottom: 30px;
}

/*********************/
/***** CONTATTI ******/
#corpo.contatti { padding-right: 0; }

#corpo.contatti #columnSx {
	width: 570px;
	float: left;
	padding-left: 30px;	
}

#corpo.contatti #columnDx {
	width: 300px;
	padding-left: 50px;
	float: left;
}

/*********************/
/***** PRIVACY ******/
#corpo.privacy #columnSx {
	width: 600px;
	float: left;
}

#corpo.privacy #columnDx {
	width: 300px;
	padding-left: 50px;
	float: left;
}

/*******************/
/***** FOOTER *****/
#footer {
	background: url(../images/common/bg_footer.jpg) no-repeat left top;
	width: 996px;
	margin: 0 auto;
	padding-top: 5px;
	padding-bottom: 20px;
	margin-top: 30px;
}

#indirizzo {
	font-size: 12px;
	padding-bottom: 40px;
	width: 550px;
	float: left;
}

#w3c {
	width: 225px;
	margin: 0 auto;
	float: left;
	padding-top: 12px;
}

#w3c a { padding-bottom: 5px;}

#privacy { 
	text-align: left;
	padding-left: 87px;
	padding-bottom: 22px;
}

#privacy a {
	color: #9C0B6F;
	font-weight: bold;
}

#mobile_privacy {
	display: none;
}

#map_container {
	border: 1px solid #959595;
	padding: 5px;
	width: 538px;
}

#mn_principale_mobile,
#header_mobile {
	display: none;
}

/*FORM*/
form {
	margin: 0 0 2.5rem 0;
}

form .field {
	margin: 0 0 1.5rem 0;
	padding: 0 10px;
}

form .field.half {
	width: 50%;
	float: left;
	padding: 0 0 0 0.75rem;
}

form .field.half.first {
	padding: 0 0.75rem 0 0;
}

form > .actions {
	margin: 1.875rem 0 0 0 !important;
}

@media screen and (max-width: 736px) {
	form .field {
		margin: 0 0 1.125rem 0;
	}

	form .field.half {
		padding: 0 0 0 0.5625rem;
	}

	form .field.half.first {
		padding: 0 0.5625rem 0 0;
	}

	form > .actions {
		margin: 1.5rem 0 0 0 !important;
	}
}

@media screen and (max-width: 480px) {
	form .field.half {
		width: 100%;
		float: none;
		padding: 0;
	}

	form .field.half.first {
		padding: 0;
	}
}

label {
	color: #9c0b6f;
	display: block;
	font-size: 0.8rem;
	font-weight: 300;
	letter-spacing: 0.2rem;
	line-height: 1.5;
	margin: 0 0 1rem 0;
	text-transform: uppercase;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
select,
textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	-moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	-webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	-ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	background: transparent;
	border-radius: 4px;
	border: solid 1px #9A9A9A;
	color: inherit;
	display: block;
	outline: 0;
	padding: 0 1rem;
	text-decoration: none;
	width: 100%;
	box-sizing: border-box;
}

input[type="text"]:invalid,
input[type="password"]:invalid,
input[type="email"]:invalid,
input[type="tel"]:invalid,
select:invalid,
textarea:invalid {
	box-shadow: none;
}

input[type="text"]:hover,
input[type="password"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
select:hover,
textarea:hover {
	border-color: #9c0b6f;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
	background: rgba(105, 105, 105, 0.075);
	border-color: #9c0b6f;
	box-shadow: 0 0 0 1px #9c0b6f;
}

textarea {
	height: 150px;
}

select option {
	background: #1b1f22;
	color: #ffffff;
}

.select-wrapper {
	text-decoration: none;
	display: block;
	position: relative;
}

.select-wrapper:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-transform: none !important;
}

.select-wrapper:before {
	color: #ffffff;
	content: '\f107';
	display: block;
	height: 2.75rem;
	line-height: calc(2.75rem + 0em);
	pointer-events: none;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: 2.75rem;
}

.select-wrapper select::-ms-expand {
	display: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
select {
	height: 2.75rem;
}

textarea {
	padding: 0.75rem 1rem;
}

input[type="checkbox"],
input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	display: block;
	float: left;
	margin-right: -2rem;
	opacity: 0;
	width: 1rem;
	z-index: -1;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
	text-decoration: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	color: #ffffff;
	cursor: pointer;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 300;
	margin: 0 0 0.5rem 0;
	padding-left: 2.65rem;
	padding-right: 0.75rem;
	position: relative;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-transform: none !important;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
	-moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	-webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	-ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
	border-radius: 4px;
	border: solid 1px #ffffff;
	content: '';
	display: inline-block;
	height: 1.65rem;
	left: 0;
	line-height: calc(1.58125rem + 0em);
	position: absolute;
	text-align: center;
	top: -0.125rem;
	width: 1.65rem;
}

input[type="checkbox"]:checked + label:before,
input[type="radio"]:checked + label:before {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #1b1f22;
	content: '\f00c';
}

input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
	background: rgba(255, 255, 255, 0.075);
	border-color: #ffffff;
	box-shadow: 0 0 0 1px #ffffff;
}

input[type="checkbox"] + label:before {
	border-radius: 4px;
}

input[type="radio"] + label:before {
	border-radius: 100%;
}

::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
	opacity: 1.0;
}

:-moz-placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
	opacity: 1.0;
}

::-moz-placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
	opacity: 1.0;
}

:-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
	opacity: 1.0;
}

.formerize-placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
	opacity: 1.0;
}

ul.actions {
	cursor: default;
	list-style: none;
	padding-left: 0;
}

ul.actions li {
	display: inline-block;
	padding: 0 1rem 0 0;
	vertical-align: middle;
}

ul.actions li:last-child {
	padding-right: 0;
}

ul.actions.small li {
	padding: 0 0.5rem 0 0;
}

ul.actions.vertical li {
	display: block;
	padding: 1rem 0 0 0;
}

ul.actions.vertical li:first-child {
	padding-top: 0;
}

ul.actions.vertical li > * {
	margin-bottom: 0;
}

ul.actions.vertical.small li {
	padding: 0.5rem 0 0 0;
}

ul.actions.vertical.small li:first-child {
	padding-top: 0;
}

ul.actions.fit {
	display: table;
	margin-left: -1rem;
	padding: 0;
	table-layout: fixed;
	width: calc(100% + 1rem);
}

ul.actions.fit li {
	display: table-cell;
	padding: 0 0 0 1rem;
}

ul.actions.fit li > * {
	margin-bottom: 0;
}

ul.actions.fit.small {
	margin-left: -0.5rem;
	width: calc(100% + 0.5rem);
}

ul.actions.fit.small li {
	padding: 0 0 0 0.5rem;
}

@media screen and (max-width: 480px) {
	ul.actions {
		margin: 0 0 2rem 0;
	}

	ul.actions li {
		padding: 1rem 0 0 0;
		display: block;
		text-align: center;
		width: 100%;
	}

	ul.actions li:first-child {
		padding-top: 0;
	}

	ul.actions li > * {
		width: 100%;
		margin: 0 !important;
	}

	ul.actions li > *.icon:before {
		margin-left: -2em;
	}

	ul.actions.small li {
		padding: 0.5rem 0 0 0;
	}

	ul.actions.small li:first-child {
		padding-top: 0;
	}
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	background-color: transparent;
	border-radius: 4px;
	border: 0;
	box-shadow: inset 0 0 0 1px #9c0b6f;
	color: #000 !important;
	cursor: pointer;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 300;
	height: 2.75rem;
	letter-spacing: 0.2rem;
	line-height: 2.75rem;
	outline: 0;
	padding: 0 1.25rem 0 1.35rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
	background-color: rgba(201, 201, 201, 0.35);
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
	background-color: rgba(255, 255, 255, 0.175);
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
	margin-right: 0.5em;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
	display: block;
	margin: 0 0 1rem 0;
	width: 100%;
}

input[type="submit"].special,
input[type="reset"].special,
input[type="button"].special,
button.special,
.button.special {
	background-color: #ffffff;
	color: #1b1f22 !important;
	font-weight: 600;
}

input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
	-moz-pointer-events: none;
	-webkit-pointer-events: none;
	-ms-pointer-events: none;
	pointer-events: none;
	cursor: default;
	opacity: 0.25;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
	line-height: calc(2.75rem - 2px);
}

#csubmit {
	background-color: #9c0b6f;
	color: #fff !important;
	-webkit-box-shadow: 0px 2px 5px 0px rgba(156, 11, 111, 0);
	-moz-box-shadow:    0px 2px 5px 0px rgba(156, 11, 111, 0);
	box-shadow:         0px 2px 5px 0px rgba(156, 11, 111, 0);
	transition: box-shadow 0.3s;
}

#csubmit:hover,
#csubmit:focus {
	-webkit-box-shadow: 0px 2px 5px 0px rgba(156, 11, 111, 0.75);
	-moz-box-shadow:    0px 2px 5px 0px rgba(156, 11, 111, 0.75);
	box-shadow:         0px 2px 5px 0px rgba(156, 11, 111, 0.75);
}

#cerrors div {
	display: none;
	margin: 10px 0px;
	padding: 12px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	position: relative;
}

span.closeMsg {
	position: absolute;
	top: 0px;
	right: 8px;
	cursor: pointer;
	color: #333;
	font-weight: bold;
}

span.closeMsg:hover,
span.closeMsg:focus {
	color: #000;
}

#cerrors div img {
	vertical-align: middle;
}

#cerrors div#csuccess {
    color: #4F8A10;
	background-color: #DFF2BF;
    background-color: rgba(223, 242, 191, 0.85);	/*#DFF2BF*/
}

#cerrors div#cerrorserver {
    color: #9F6000;
	background-color: #FEEFB3;
    background-color: rgba(254, 239, 179, 0.85);	/*#FEEFB3*/
}

#cerrors div#cerror {
    color: #D8000C;
	background-color: #FFD2D2;
    background-color: rgba(255, 210, 210, 0.85);	/*#FFD2D2*/
}
		
.cloader {
	display: none;
}

#g-recaptcha iframe {
	border: 1px solid #fff;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

#g-recaptcha.errorField iframe {
	border: 1px solid #a21c47;
}

input[type="text"].errorField,
input[type="password"].errorField,
input[type="email"].errorField,
input[type="tel"].errorField,
select.errorField,
textarea.errorField {
	border-color: #a21c47;
}

input[type="text"].errorField:focus,
input[type="password"].errorField:focus,
input[type="email"].errorField:focus,
input[type="tel"].errorField:focus,
select.errorField:focus,
textarea.errorField:focus {
	-webkit-box-shadow: 0 0 0 1px #a21c47;
	-moz-box-shadow: 0 0 0 1px #a21c47;
	box-shadow: 0 0 0 1px #a21c47;
}

/*MOBILE RESPONSIVE*/
@media screen and (max-width: 529px) {
	#footer {
		width: 100%;
		background: none;
		padding-top: 20px;
	}
}

@media screen and (max-width: 995px) {
	body {
		background-image: none;
	}
	
	#header,
	#container {
		width: 100%;
		background: none;
	}
	
	#corpo {
		padding: 20px 0;
	}
	
	#header {
		height: auto;
	}
	
	#mn_principale_mobile,
	#header_mobile {
		display: block;
	}
	
	#mn_principale_mobile {
		text-align: center;
		margin-top: 10px;
	}
	
	#header_mobile img {
		max-width: 100%;
	}
	
	#mn_principale_mobile a {
		display: inline-block;
		font-family: 'IM Fell Double Pica', serif;
		font-weight: bold;
		width: 25%;
		font-size: 1.8em;
		font-style: italic;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		opacity: 0.65;
		transition-property: opacity;
		transition-duration: 0.75s;
	}
	
	.mli_servizi {
		border: 5px solid #88B911;
		color: #88B911;
		background-image: url("../images/mli_servizi.jpeg");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: contain;
	}
	
	.mli_offerte {
		border: 5px solid #84614D;
		color: #84614D;
		background-image: url("../images/mli_offerte.png");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: contain;
	}
	
	.mli_contatti {
		border: 5px solid #815674;
		color: #815674;
		background-image: url("../images/mli_contatti.png");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: contain;
	}
	
	#mn_principale_mobile a span {
		display: inline-block;
	}
	
	#mn_principale_mobile a.mli_servizi span.mob_menu_title {
		text-decoration: underline;
		height: 150px;
	}
	
	#mn_principale_mobile a.mli_offerte span.mob_menu_title {
		text-decoration: underline;
		height: 150px;
	}
	
	#mn_principale_mobile a.mli_contatti span.mob_menu_title {
		text-decoration: underline;
		height: 150px;
	}
	
	#mn_principale_mobile a span.mob_bg_menu {
		display: none;
	}
	
	#mn_principale_mobile a:hover,
	#mn_principale_mobile a:focus	{
		opacity: 1;
	}
	
	#corpo.index #columnSx,
	#corpo.servizi #columnSx,
	#corpo.offerte #columnSx,
	#corpo.contatti #columnSx,
	#corpo.privacy #columnSx,
	#columnDx,
	#columnSx {
		width: 100%;
		float: none;
		padding: 0;
	}
	
	#corpo.servizi #columnDx,
	#corpo.offerte #columnDx,
	#corpo.index #columnDx {
		width: 100%;
		text-align: center;
		margin-top: 20px;
		padding-left: 0px;
		padding-right: 0px;
	}
	
	#corpo.servizi #columnSx table {
		width: 100%;
	}
	
	#columnDx img {
		max-width: 100%;
	}
	
	#corpo h1 {
		margin-left: 5px;
	}
	
	.desc_offerta {
		float: none;
		padding-right: 10px;
		padding-left: 10px;
	}
	
	#corpo.contatti #columnSx p,
	#corpo.index #columnSx p {
		padding-right: 5px;
	}
	
	#legale_txt {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	#map_container {
		width: 100%;
		border: 0 none;
		padding: 0;
	}
	
	#footer {
		width: 100%;
		background: none;
		padding-top: 22px;
	}
	
	#indirizzo {
		width: 100%;
	}
	
	ul#mn_principale,
	#corpo.contatti #columnDx,
	#privacy,
	#w3c {
		display: none;
	}
	
	#mobile_privacy {
		display: block;
	}
	
	#mn_principale_mobile a.mli_servizi,
	#mn_principale_mobile a.mli_offerte,
	#mn_principale_mobile a.mli_contatti {
		margin-bottom: 0px;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 546px) {
	#mn_principale_mobile a {
		display: block;
		width: 100%;
	}
	
	#mn_principale_mobile a.mli_servizi,
	#mn_principale_mobile a.mli_offerte,
	#mn_principale_mobile a.mli_contatti {
		height: 60px;
		margin-bottom: 5px;
	}
}