/* Clearfix -- Use on element that contains multiple floating elements */
.clearfix:after,
#content .header:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}	.ie #content .header:after{display: none;}

.clearfix,
#content .header {
	display: block;
}	.ie .clearfix,
	.ie #content .header {
		display: block;
		height: 1%;
	}



/* Float classes */
.fl { float: left } .ie body div#content .fl { display: inline; zoom: 1; }
.fr { float: right } .ie body div#content .fr { display: inline; zoom: 1; }
.cb { clear: both; height: 0; visibility: hidden; }
.clear { clear: both; }



/* Text image replacement */
.txtR {
	display: block;
	height: inherit;
	text-indent: -9999px;
}

/* Block image replacement */
.blkR { overflow: hidden; }
.blkR > * { display: block; margin-left: -9999px; }
.ie6 .blkR > * { position: relative; zoom: 1; }



/* Vertical align -- You must specifiy height on "valign" element */
.valign {
	display:table;
	position:static;
}	.ie .valign {
		display: block;
		position: relative;
		zoom: 1;
	}


.valign .vertical {
	display:table-cell;
	vertical-align:middle;
	position:static;
}	.ie .valign .vertical {
		display: block;
		position:absolute;
		top:50%;
	}

.valign .center {
	position:static;
	padding: 10px;
}	.ie .valign .center {
		position:relative;
		top:-50%;
		zoom: 1;
	}


.caps {
	text-transform: uppercase;
}

.vcard img,
.vcard .type,
.vcard .geo,
.vcard .email,
.vcard .extra {
	display: none;
}

.vcard i, #footer div i {
	font-family: TheSans-Expert, 'HelveticaNeue-Regular', 'Helvetica Neue Regular', Helvetica, 'Lucida Sans Unicode', 'Lucida Grande', 'Trebuchet MS', Verdana, 'Liberation Sans', FreeSans, Arial, sans-serif;
	font-style: normal;
}

.vcard .upper {
	text-transform: uppercase;
}

#footer .vcard a,
#footer .vcard a:hover {
	color: #86644a;
	font-weight: normal;
	cursor: text;
}

html body.mobile {
	background: #fff;
}
