/*#region Positioning */

.floatClear {clear: both; display: block;}
.fillSpace {display: block;}
.tdAlignRight {text-align: right;}
.centerInsideParent {margin: 0 auto;
    text-align: center;
}
.inline {display: inline;}

/* To-Do - The next two are exactly the
same CSS class. I need to consolidate all
aligns instead of having one for tables
and one for text. */
.tdAlignCenter {text-align: center;}
.tdAlignTop {vertical-align: top;}
.alignCenter {text-align: center;}
.alignRight {text-align: right;}
.alignLeft {text-align: left;}
.alignTop {vertical-align: top;}
.alignBottom {vertical-align: bottom;}
.alignMiddle {vertical-align: middle;}
.rFloat {float: right;}
.lFloat {float: left;}
.relative {position: relative;}
.absolute {position : absolute;}

/*#endregion*/

/*#region Aesthetics */

.shadow {box-shadow: 10px 10px 5px #888;}
.smallShadow {box-shadow: 4px 4px 4px #888;}

.roundedDiv {
	border-radius: 8px; 
	-moz-border-radius: 8px; 
	-webkit-border-radius: 8px; 
}

.roundedDivSmall {
	border-radius: 4px; 
	-moz-border-radius: 4px; 
	-webkit-border-radius: 4px; 
}

.roundedDivTop {
    border-radius: 8px 8px 0px 0px; 
    -moz-border-radius: 8px 8px 0px 0px; 
    -webkit-border-radius: 8px 8px 0px 0px;
}

.roundedDivBottom {
    border-radius: 0px 0px 8px 8px; 
    -moz-border-radius: 0px 0px 8px 8px; 
    -webkit-border-radius: 0px 0px 8px 8px; 
}

div.smallShadow {background-color: #fff;}

.textShadow {text-shadow: 4px 4px 3px #cccccc;}

/*#endregion*/

/*#region Background Colors */

.gray {background-color: #f7f7f7;}
.darkGray {background-color: #e5e5e5;}
.white {background-color: #fff;}
.lightGray {background-color: #eee;}

/*#endregion*/

/*#region Text Colors */

.headerTextBrown {color: #522f15;}
.headerTextBlue {color: #002277;}
.headerTextRed {color: #880000;}

.textRed {color: Red;}

/*#endregion*/

/*#region Text Stuff */

.sectionHeader1 {font-size: 2em;}
.sectionHeader2 {font-size: 1.8em;}
.sectionHeader3 {font-size: 1.6em;}
.sectionHeader4 {font-size: 1.4em;}
.sectionHeader5 {font-size: 1.2em;}
.sectionHeader6 {font-size: 1.1em;}
.smallText2 {font-size: 12px;}
.smallText {font-size: 10px;}
.largeText {font-size: 16px;}
.superSmallText {font-size: 9px;}
.boldText {font-weight: bold;}
.textJustify {text-align: justify;}
.navyText {color: Navy; font-weight: bold;}
.blackText {color: Black;}

.justify-all-lines {
    /* This element will need layout for the text-justify
     * to take effect in IE7 (and possibly previous versions);
     * this will force it, for more info Google "hasLayout in IE"
     */
    overflow: hidden;
    text-align: justify;

    /* For IE6 to IE7 since they don't support :after */
    -ms-text-justify: distribute-all-lines; /* IE8+ */
    text-justify: distribute-all-lines; /* IE5+ */
}

.justify-all-lines:after {
    /*
     * We don't need IE6 and IE7 inline-block hack support here
     * since they don't support :after anyways (the text-justify
     * properties for them are above)... IE8 and above have native
     * inline-block support so for IE8+, both the text-justify and
     * :after will take effect but it doesn't have any negative
     * effects since this element is invisible
     */
    display: inline-block;
    width: 100%;
    content: '.';
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

/*#endregion*/

/*#region Padding */

/*#region All Sides */

.Pad1 {padding: 1px;}
.pad2 {padding: 2px;}
.pad3 {padding: 3px;}
.pad4 {padding: 4px;}
.pad5 {padding: 5px;}
.pad10 {padding: 10px;}
.pad20 {padding: 20px;}
.pad30 {padding: 30px;}
.pad40 {padding: 40px;}

/*#endregion*/

/*#region Top */

.topPad1 {padding-top: 1px;}
.topPad2 {padding-top: 2px;}
.topPad3 {padding-top: 3px;}
.topPad4 {padding-top: 4px;}
.topPad5 {padding-top: 5px;}
.topPad10 {padding-top: 10px;}
.topPad20 {padding-top: 20px;}
.topPad30 {padding-top: 30px;}
.topPad40 {padding-top: 40px;}
.topPad86 {padding-top: 86px;}

/*#endregion*/

/*#region Bottom */

.bottomPad1 {padding-bottom: 1px;}
.bottomPad2 {padding-bottom: 2px;}
.bottomPad3 {padding-bottom: 3px;}
.bottomPad4 {padding-bottom: 4px;}
.bottomPad5 {padding-bottom: 5px;}
.bottomPad10 {padding-bottom: 10px;}
.bottomPad20 {padding-bottom: 20px;}
.bottomPad30 {padding-bottom: 30px;}
.bottomPad40 {padding-bottom: 40px;}

/*#endregion*/

/*#region Left */

.leftPad1 {padding-left: 1px;}
.leftPad2 {padding-left: 2px;}
.leftPad3 {padding-left: 3px;}
.leftPad4 {padding-left: 4px;}
.leftPad5 {padding-left: 5px;}
.leftPad10 {padding-left: 10px;}
.leftPad20 {padding-left: 20px;}
.leftPad30 {padding-left: 30px;}
.leftPad40 {padding-left: 40px;}
.leftPad80 {padding-left: 80px;}

/*#endregion*/

/*#region Right */

.rightPad1 {padding-right: 1px;}
.rightPad2 {padding-right: 2px;}
.rightPad3 {padding-right: 3px;}
.rightPad4 {padding-right: 4px;}
.rightPad5 {padding-right: 5px;}
.rightPad8 {padding-right: 8px;}
.rightPad10 {padding-right: 10px;}
.rightPad20 {padding-right: 20px;}
.rightPad30 {padding-right: 30px;}
.rightPad40 {padding-right: 40px;}

/*#endregion*/

/*#endregion*/

/*#region Margins */

/*#region All Sides */

.margin5 {margin: 5px;}
.margin10 {margin: 10px;}
.margin20 {margin: 20px;}
.margin30 {margin: 30px;}
.margin40 {margin: 40px;}

/*#endregion*/

/*#region Top */

.topMargin5 {margin-top: 5px;}
.topMargin10 {margin-top: 10px;}
.topMargin15 {margin-top: 15px;}
.topMargin20 {margin-top: 20px;}
.topMargin30 {margin-top: 30px;}
.topMargin40 {margin-top: 40px;}
.topMargin100 {margin-top: 100px;}

/*#endregion*/

/*#region Bottom */

.bottomMargin5 {margin-bottom: 5px;}
.bottomMargin10 {margin-bottom: 10px;}
.bottomMargin20 {margin-bottom: 20px;}
.bottomMargin30 {margin-bottom: 30px;}
.bottomMargin40 {margin-bottom: 40px;}

/*#endregion*/

/*#region Left */

.leftMargin5 {margin-left: 5px;}
.leftMargin10 {margin-left: 10px;}
.leftMargin15 {margin-left: 15px;}
.leftMargin20 {margin-left: 20px;}
.leftMargin25 {margin-left: 25px;}
.leftMargin30 {margin-left: 30px;}
.leftMargin40 {margin-left: 40px;}
.leftMargin50 {margin-left: 50px;}
.leftMargin60 {margin-left: 60px;}
.leftMargin150 {margin-left: 150px;}

/*#endregion*/

/*#region Right */

.rightMargin5 {margin-right: 5px;}
.rightMargin10 {margin-right: 10px;}
.rightMargin20 {margin-right: 20px;}
.rightMargin30 {margin-right: 30px;}
.rightMargin40 {margin-right: 40px;}

/*#endregion*/

/*#endregion*/


.fullWidth {
    width: 100%;
}

.tableCollapse {
    border-collapse: collapse;
    border-spacing: 0;
	padding: 0;
}

.spacerRow {height: 10px;}

.checkbox, .radio {
	width: 19px;
	height: 25px;
	padding: 0;
	background: url(../images/icons/checkboxSprite.png) no-repeat;
}

.checkbox-off {background-position: 0 0px;}
.checkbox-off-active {background-position: 0 -25px;}
.checkbox-on {background-position: 0 -50px;}
.checkbox-on-active {background-position: 0 -75px;}

/*  Custom  */
.noDisplay {display:none;}

.errorText
{
	font-size:14pt; 
	font-weight:normal; 
}

.anchorBottom {
    width:  100%;
    position: absolute; 
    bottom: 0px;
    left: 0px;
    text-align: center;    
}

