/* --- HTML5 --- */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { 
	display: block;
}
audio, canvas, video { 
	display: inline-block; 
	*display: inline; 
	*zoom: 1;
}
audio:not([controls]) { 
	display: none;
}
[hidden] { 
	display: none;
}

/* --- Elementi base --- */

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}	
html { 
	overflow-y: scroll; 
	-webkit-text-size-adjust: 100%; 
	-ms-text-size-adjust: 100%;
}

::-moz-selection { 
	background: #fe57a1; 
	color: #fff; 
	text-shadow: none;
}
::selection { 
	background: #fe57a1; 
	color: #fff; 
	text-shadow: none;
}


/* --- Links --- */
a:focus { 
	outline: thin dotted;
}
a:hover, a:active { outline: 0; }


/* --- Elementi tipografici --- */
abbr[title] { 
	border-bottom: 1px dotted;
}
b, strong { 
	font-weight: bold;
}
blockquote { 
	margin: 1em 40px;
}
dfn { 
	font-style: italic;
}
hr { 
	display: block; 
	margin: 1em 0; 
	padding: 0;
	border: 0; 
	border-top: 1px solid #ccc; 
	height: 1px; 
}
ins { 
	background: #ccc; 
	color: #333; 
	text-decoration: none;
}

mark { 
	background: #ccc; 
	color: #333; 
	font-style: italic; 
	font-weight: bold;
}
pre, code, kbd, samp { 
	font-family: monospace, monospace; 
	_font-family: 'courier new', monospace; font-size: 1em;
}
pre { 
	white-space: pre; 
	white-space: pre-wrap; 
	word-wrap: break-word;
}
q { 
	quotes: none;
}
q:before, q:after { 
	content: ""; 
	content: none;
}
small { 
	font-size: 85%;
}
sub, sup { 
	font-size: 75%; 
	line-height: 0; 
	position: relative; 
	vertical-align: baseline;
}
sup { 
	top: -0.5em;
}
sub { 
	bottom: -0.25em;
}


/* --- Elementi liste --- */
dd { 
	margin: 0 0 0 40px;
}
nav ul, nav ol { 
	list-style-type: none; 
}

/* --- Immagini ed elementi SVG --- */
img { 
	-ms-interpolation-mode: bicubic; 
	vertical-align: middle;
}
svg:not(:root) { 
	overflow: hidden;
}
figure { 
	margin: 0;
}


/* --- Form --- */

label { 
	cursor: pointer;
}
legend { 
	*margin-left: -7px; 
}
button, input, select, textarea { 
	vertical-align: baseline; 
	*vertical-align: middle;
}
button, input { 
	line-height: normal; 
	*overflow: visible;
}
table button, table input { 
	*overflow: auto;
}
button, input[type="button"], input[type="reset"], input[type="submit"] { 
	cursor: pointer; 
	-webkit-appearance: button;
}
input[type="checkbox"], input[type="radio"] { 
	box-sizing: border-box;
}
input[type="search"] { 
	-webkit-appearance: textfield; 
	-moz-box-sizing: content-box; 
	-webkit-box-sizing: content-box; 
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { 
	-webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner { 
	border: 0; 
	padding: 0;
}
textarea { 
	overflow: auto; 
	vertical-align: top; 
	resize: vertical;
}
input:valid, textarea:valid {
}
input:invalid, textarea:invalid { 
	background-color: #f00;
}

/* -- Tabelle --- */
table { 
	border-collapse: collapse; 
	border-spacing: 0;
}
td { 
	vertical-align: top;
}
















