/*	IMPOSTAZIONI GLOBALI	*/
html {
	scroll-behavior: smooth;
}
html, body {
	position:relative;
	min-height:100%;
    height:100%;
	margin:0;
	padding:0;
	background-color:#FFF;
	font-family: 'gill', "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
}

form > div {
	padding: 1em;
	margin-bottom:2em;
}

h1, h2, h3 {
	margin:0;
	padding:0;	
	font-family: 'gill_light', "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
}h1 {
	font-weight:normal !important;
	font-size:2em;
	margin-bottom:1em;
}h2 {
	font-weight:normal!important;
	font-variant:small-caps;
	font-size:150%;
	margin-bottom:1em;
}

/* CHECKBOX GLOBALI */
input[type=checkbox] {
	display:none;
}
input[type=checkbox]+label {
	width:auto;
	display:inline-block;  
	cursor:pointer;
	position:relative;
	line-height:1.4em;
	padding-left:1.8em;
	min-height:1.2em;
	vertical-align: text-bottom;
}
input[type=checkbox]+label:before {
	content:"";  
	display:inline-block;  
	width:1.2em;
	height:1.2em;
	position:absolute;  
	left:0; 
	background-color:#FFF;
	color:hsla(197, 66%, 21%, 1.00);
	border-width:1px;
	border-style:solid;
	border-radius:0.1em;  
}
input[type=checkbox]:disabled+label:before {
	content:"";  
	display:inline-block;  
	width:1.2em;
	height:1.2em;
	position:absolute;  
	left:0; 
	background-color:hsla(207, 80%, 75%, 0.4);
	color:hsla(207, 80%, 75%, 0.4);
	border-width:1px;
	border-style:solid;
	border-radius:0.1em;  
}
input[type=checkbox]:checked+label {
	outline:0;
}
input[type=checkbox]:checked+label:before {
	content:'\2714';
	line-height:1.2em;
	text-align:center;
	color:hsla(5, 88%, 44%, 1.00);
	border-color:hsla(197, 66%, 21%, 1.00);
}
input[type=checkbox]:disabled+label {
	cursor:default;
}

/* CAMPI GLOBALI */
input[type="date"], input[type="datetime-local"] {
	padding:0.4em;
	width:15em;
	border-width:1px;
	border-style:solid;
	text-align:center;
	font-family: 'gill_semibold', "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
}
input[type="datetime-local"] {
	width:17em;
}

input[type="email"], input[type="tel"], input[type="text"], input[type="password"], input[type="number"] {
	padding:0.6em;
	border-width:0.1em;
	border-style:solid;
}
input[type="email"], input[type="text"], input[type="password"] {
	width:38em;
}
input[type="number"] {
	width:8em;
}

/* RADIO GLOBALI */
input[type=radio]{
	display:none;
}
input[type=radio]+label{
	display:inline-block;
	cursor:pointer;
	text-align:center;
	background-color:#647687;
	color:#FFF;
	padding:0.2em 0.6em;
}input[type=radio]:checked+label{
	background-color:hsla(206, 20%, 21%, 1.00);
}
input[type=radio]:checked+label{
	outline:0;
}

/* RANGE GLOBALI */
input[type=range]{
    vertical-align:middle;
    width:22em;	
}

/* SUBMIT GLOBALI */
input[type="submit"], input[type="reset"], input[type="button"] {
	border-width:0.1em;
	border-style:solid;
	display:inline-block;
	padding:0.57em 3.9em 0.39em 3.9em;
	font-size:0.9em;
	text-decoration:none;
	font-family: 'gill_semibold', "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
/* Bottone attivo = input:hover */
}input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
	background-color:hsla(48, 100%, 80%, 1.00);
	color:hsla(213, 18%, 12%, 1.00);
}input[type="submit"]:active:enabled, input[type="reset"]:active:enabled, input[type="button"]:active:enabled {
	position:relative;
	bottom:0.1em;
}.input_button_active {
	background-color:hsla(8, 66%, 68%, 1.00);
}

label {
	display:inline-block;
	width:8em;
	text-align:right;
	margin-right:0.8em;
}

/* SELECT GLOBALI */
select {
	padding:0.5em;
	border-width:1px;
	border-style:solid;
	max-width: 100%;
}
select + a img {
    width:2.2em;
    vertical-align:middle;
    margin-left:8px;
}

/* TEXTAREA GLOBALI */
textarea {
	padding:0.6em;
	width:70%;
	height:8em;
	border-width:0.1em;
	border-style:solid;
	font-family:Arial, Helvetica, sans-serif;
}

.clear {
	clear:both;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
}

.div_sub {
	max-width:1180px;
	margin:0 auto;
	padding-top:2.5em;
	padding-bottom:2.5em;
	overflow:hidden;
}

.error_bg_red {
	color:#FFF;
	padding:0.4em;
	background-color:hsla(5, 88%, 44%, 1.00) !important;
	text-align:center;
	display:none;
}
.error_red {
	text-align: center;
    color: hsla(5, 88%, 44%, 1.00) !important;
    width: 100%;
}

/* errore validazione form per campi */
.input_err {
	background-color:hsla(5, 88%, 44%, 1.00);	
}

/* ok validazione form */
.ok_bg_green {
	color:#FFF;
	padding:0.4em;
	background-color:hsla(145, 100%, 26%, 1.00) !important;
	text-align:center;
	display:none;
}

.main_titles {
    font-family: 'gara', serif;
    font-size:2em;
    letter-spacing:0.8em;
    line-height:normal;
    margin:-1.5em 0 3em 0;
    text-align:center;
    padding-bottom:0.4em;
}

.titles {
	font-family: 'gill_light', serif;
	font-size:1.8em;
	text-align:center;
    letter-spacing:0em;
	padding-bottom:0.75em !important;
	line-height:normal;
}
.sub_titles {
	font-family: 'gill_semibold', serif;	
	font-size:1.2em;
	padding-bottom:1.2em;
	line-height:normal;
	text-align:left;
}
.sub_titles a,
.main_titles a,
.titles a,
.write a,
.write_medium a {
	text-decoration:none;
	color:inherit;
}
.write a:hover,
.write_medium a:hover {
	text-decoration:underline;
}
.write {
	font-family: 'gill', "Gill Sans", "Gill Sans MT", "Myriad Pro", "DejaVu Sans Condensed", Helvetica, Arial, "sans-serif";
	font-size:1.1em;
	line-height:1.7;
	text-align:justify;
}
.write_medium {
	font-family: 'gill_medium', serif;	
	font-size:1.1em;
	line-height:1.7;
}
.write_color {
	color:hsla(359, 58%, 39%, 1.00);
}

.icons {
	display: block;
    max-width: 50px;
    margin: 0 auto 5% auto;
	filter: invert(79%) sepia(7%) saturate(1690%) hue-rotate(316deg) brightness(109%) contrast(90%);
}
.icons_2 {
	display: block;
    max-width: 50px;
    margin: 0 auto 5% auto;
	filter: invert(90%) sepia(20%) saturate(341%) hue-rotate(142deg) brightness(99%) contrast(89%);
}