/* Helper classes to accomplish common tasks */

/* Image replacement:
 * Note: You need to set explicit dimensions & background-image on the 
 * actual element.
 */
.ir {
	display: block;
	overflow: hidden;

	border: none;

	background-color: transparent;
	background-repeat: no-repeat;

	text-indent: 100%;
	white-space: nowrap;
}
.ir br {
	display: none;
}

/* Hide visually and from screenreaders:
 */
.hidden {
	display: none !important;
	visibility: hidden;
}

/* Hide only visually, but preserve for screenreaders:
 */
.visuallyhidden {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;

	border: none;
}

/* If something .visuallyhidden can be keyboard-focusable, add the 
 * .focusable class:
 */
.visuallyhidden.focusable:focus, .visuallyhidden.focusable:active {
	position: static;
	overflow: visible;
	clip: auto;
	height: auto;
	width: auto;
	margin: 0;
}

/* Hide visually and from screenreaders, while maintaining layout:
 */
.invisible {
	visibility: hidden;
}

/* Contain floats (if applicable, consider setting { overflow: hidden; } 
 * instead):
 */
.clearfix:before, .clearfix:after {
	display: table;

	content: "";
}
.clearfix:after {
	clear: both;
}
.ie6 .clearfix, .ie7 .clearfix {
	zoom: 1;
}

.printonly {
	position: absolute;
	left: -999em;
	height: 0;
	overflow: hidden;
	width: 0;
	visibility: hidden;
}

/* Use for inline icons. Solves a ton of problems, especially related to 
 * sprites. Feel free to extend with additional .ico-* classes, which would 
 * define height, width, and background-position.
 * Usage in HTML: <li><i class="ico ico-subtype"></i> COPY GOES HERE</li>
 */
.ico {
	display: inline-block;
/*	  background-image: url(../img/icon-sprite.png);*/
	background-repeat: no-repeat;
	line-height: 0;
	vertical-align: bottom;
}
/* Note: if you want to use a default block-level element with this, be sure 
 * to uncomment the following declaration:
 */
/*.ie6 .ico, .ie7 .ico {
	zoom: 1;
	display: inline;
}*/
