/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Image replacement
 */
.invisible {
    visibility: hidden;
}
/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
    display: none !important;
    visibility: hidden;
}
/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.visuallyhidden.focusable {
    /*
           * Extends the .visuallyhidden class to allow the element to be focusable
           * when navigated to via the keyboard: h5bp.com/p
           */
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
form {
    padding: 20px;
    *zoom: 1;
    background: #E6E6E6;
    position: relative;
    min-width: 200px;
    display: inline-block;
}
form ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
form:before,
form:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}
form:after {
    clear: both;
}
fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    text-align: center;
    *zoom: 1;
}
fieldset:before,
fieldset:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}
fieldset:after {
    clear: both;
}
#content form {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -o-border-radius: 6px;
    -ms-border-radius: 6px;
    border-radius: 6px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    background-clip: padding-box;
    -webkit-box-shadow: 0 3px 10px #333;
    -moz-box-shadow: 0 3px 10px #333;
    box-shadow: 0 3px 10px #333;
}
#content .tableContainer form {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
td form {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    background-clip: padding-box;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    padding: 0;
    background: none;
    min-width: 0;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"] {
    background: #FFF;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #FEFEFE), color-stop(1, #DBDBDB));
    background: -ms-linear-gradient(bottom, #FEFEFE, #DBDBDB);
    background: -moz-linear-gradient(center bottom, #FEFEFE 0%, #DBDBDB 100%);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #AFADAD;
    height: 23px;
    width: 200px;
    padding-top: 1px;
    padding-left: 9px;
}
input[type="text"][disabled],
input[type="password"][disabled],
input[type="email"][disabled],
input[type="date"][disabled] {
    background: #D4D0C8;
}
textarea {
    background: #FFF;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #FEFEFE), color-stop(1, #DBDBDB));
    background: -ms-linear-gradient(bottom, #FEFEFE, #DBDBDB);
    background: -moz-linear-gradient(center bottom, #FEFEFE 0%, #DBDBDB 100%);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
    border-radius: 3px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #AFADAD;
    width: 400px;
    padding-top: 1px;
}
input:focus,
textarea:focus {
    background: #FEFEFE;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #FEFEFE), color-stop(1, #FEFEFE));
    background: -ms-linear-gradient(bottom, #FEFEFE, #FEFEFE);
    background: -moz-linear-gradient(center bottom, #FEFEFE 0%, #FEFEFE 100%);
}
button,
input[type="button"],
input[type="submit"] {
    height: 27px;
    min-width: 94px;
    vertical-align: top;
    white-space: nowrap;
    border: 1px solid #b3b3b3;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    /* border radius */
    background-clip: padding-box;
    /* prevents bg color from leaking outside the border */
    background-color: #e7e7e7;
    /* layer fill content */
    background: #c3c3c3;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #c3c3c3), color-stop(1, #fefefe));
    background: -ms-linear-gradient(bottom, #c3c3c3, #fefefe);
    background: -moz-linear-gradient(center bottom, #c3c3c3 0%, #fefefe 100%);
    color: #616164;
    line-height: 25px;
}
button:before,
input[type="button"]:before,
input[type="submit"]:before {
    font-size: 20px;
}
button:hover:before,
input[type="button"]:hover:before,
input[type="submit"]:hover:before {
    color: #204080;
}
button:active,
input[type="button"]:active,
input[type="submit"]:active {
    background: #fefefe;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fefefe), color-stop(1, #c3c3c3));
    background: -ms-linear-gradient(bottom, #fefefe, #c3c3c3);
    background: -moz-linear-gradient(center bottom, #fefefe 0%, #c3c3c3 100%);
}
select {
    border: 1px solid #CCCCCC;
    border-radius: 2px 2px 2px 2px;
    padding: 4px;
    width: 210px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    -o-background-clip: padding-box;
    -ms-background-clip: padding-box;
    background-clip: padding-box;
    /* border radius */
}
label[for].checked,
label[for].unchecked {
    display: inline-block;
    background-repeat: no-repeat;
    vertical-align: middle;
    padding-left: 26px;
    height: 22px;
    line-height: 22px;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
label[for].checked {
    background-image: url('../img/checkbox-checked.png');
}
label[for].unchecked {
    background-image: url('../img/checkbox-unchecked.png');
}
label {
    cursor: pointer;
}
.inputContainer {
    *zoom: 1;
    padding: 5px 0;
}
.inputContainer:before,
.inputContainer:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}
.inputContainer:after {
    clear: both;
}
.formLabel,
.input-checkbox .formInput {
    float: left;
    clear: left;
    min-width: 120px;
    min-height: 10px;
    text-align: right;
    margin: 0;
    line-height: 22px;
    padding-right: 20px;
}
.formInput,
.input-checkbox .formLabel {
    float: left;
    clear: none;
    min-width: 202px;
    text-align: left;
}
.input-checkbox .formLabel {
    min-width: 150px;
}
.input-multi .formInput {
    max-height: 160px;
    overflow: auto;
}
.input-multi .formInput label {
    margin-bottom: 5px;
    white-space: nowrap;
    display: block;
}
.input-multi .formInput label input[type="checkbox"] {
    margin-right: 8px;
}
.input-button .formInput {
    text-align: right;
    float: none;
}
.group-buttons .inputContainer {
    float: right;
    width: 100px;
}
.group-buttons .formInput {
    text-align: right;
    min-width: 40px;
}
legend {
    padding: 0 0 10px 0;
    font-size: 18px;
    color: #204080;
    text-align: left;
}
.displayGroup {
    margin-bottom: 20px;
}