/*-----------------------------------------------------------------------------
Regular non-element-type-specific classes for various purposes. Best used
in places where only one or a few elements need to appear differently from
siblings; where appearance is consistent, define new rules to avoid class
bloat in the HTML.
-----------------------------------------------------------------------------*/

/* Positioning */

.block { display: block; }
.inline-block { display: inline-block; }
.inline { display: inline; }

ul.inline-list li, ol.inline-list li
{
	display: inline;
	margin-right: 1em;
}

ul.inline-list li:last-child, ol.inline-list li:last-child
{
	margin-right: 0;
}

.left { float: left; }
.right { float: right; }
.center { margin: 0 auto; }

.cb { clear: both; }
.cl { clear: left; }
.cr { clear: right; }

.cf:before,
.cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.cf:after {
	clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
	*zoom: 1;
}

.mr1 {margin-right:0.1em;}
.mr2 {margin-right:0.2em;}
.mr3 {margin-right:0.5em;}
.mr4 {margin-right:1em;}
.mr5 {margin-right:2em;}

/* Simple overflow */

.of-hidden { overflow: hidden !important; }
.of-visible { overflow: visible !important; }

.hide, .no-display {display:none;}

/* Hide mobile- and print-only elements by default */

.mobile, .print-only { display: none; }

/* Dividing Line */

.separator
{
	width: 100%;
	height: 1px;
	margin-top: 1.2em;
	background-color: #FFF;
}

/* Heading underline */

.separator-small
{
	width: 5%;
	height: 1px;
	background-color: #FFF;
}

/* Fixed Heights */

.h40px {height:40px;}
.h45px {height:45px;}

/* Current selected link in a list */

.heading-line
{
	width: 100%;
	height: 2px;
	background-color: #FFF;
}

.cms-customer-service .heading-line
{
	height:auto;
	background-color:#fff;	
}

.clearfix:after {
    content: ".";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}
