/**
 * Forms, ispired by Wufoo
 */
form.form {
    padding:0 0 20px 0;
}


/* - - - - - - - - - - - - - - - - - - - - -FORM- - - - - - - - - - - - - - - - - - - - - */
.form li {
    width: 96%;
}

.form ul {
    margin:0;
    padding:0;
    list-style-type:none;
    width:100%;
}

.form li {
    margin:0;
    padding:4px 5px 4px 9px;
    position:relative;
}

.form li:after, .buttons:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}

.form li, .buttons {
    display: inline-block;
}

* html form li, * html .buttons {
    height: 1%;
}

form li, .buttons {
    display: block;
}

* html form li div {
    display:inline-block;
}

form li div, form li span {
    margin:0 4px 0 0;
    padding:0 0 8px 0;
    color:#444;
}

form li span {
    float:left;
    padding: 0;
}

form li div.left {
    display:inline;
    float:left;
    width:48%;
}

form li div.right {
    display:inline;
    float:right;
    width:48%;
}

form li div.left .medium, form li div.right .medium {
    width:100%;
}

.clear {
    clear:both;
}

form li span label {
    margin:0;
    padding-top:3px;
    clear:both;
    line-height:9px;
    color:#444;
    display:block;
    font-weight: normal;
}

form li .datepicker {
    float:left;
    margin:.1em 5px 0 0;
    padding:0;
    width: 16px;
    height: 16px;
    cursor:pointer !important;
}

/* ----- INFO ----- */

.info {
    display:inline-block;
    clear:both;
    margin:0 0 1em 0;
    border-bottom:1px dotted #ccc;
}

.info[class] {
    display:block;
}

.info h2 {
    margin:0 0 3px 0;
    clear:left;
}

.info p {
    line-height:130%;
    margin:0 0 12px 0;
}

/* ------------- Field Hints ------------------- */
.hint {
    width: 264px;
    color: #333333;
    position: absolute;
    text-align: left;
}
.hintHead {
    background-image: url(../images/hintHead.png);
    height: 9px;
    font-size: 1px;
}

.hintBody {
    background-image: url(../images/hintBodyBottom.png);
    position: relative;
}

.hintBodyTop {
    background-image: url(../images/hintBodyTop.png);
    background-repeat: repeat-y;
    height: 22px;
    position: absolute;
    top: 0px;
    width: 100%;
}

.hintBodyBottom {
    position: relative;
    padding: 5px 15px 10px 15px;
}

.hintFoot {
    background-image: url(../images/hintFoot.png);
    height: 10px;
    font-size: 1px;
}

.hintTipTop {
    position: absolute;
    top: -24px;
    left: 30px;
    width: 25px;
    height: 25px;
    background-image: url(../images/hintTipTop.png)
}

.hintTipBottom {
    position: absolute;
    bottom: -18px;
    left: 30px;
    width: 25px;
    height: 25px;
    background-image: url(../images/hintTipBottom.png);
}


/* ----- SECTIONS ----- */

form hr {
    display:none;
}

form li.section {
    border-top:1px dotted #ccc;
    margin-top:9px;
    padding-top:13px;
    padding-bottom:0px;
    padding-left:9px;
    width:97% !important;
}

form ul li.first {
    border-top:none !important;
    margin-top:0px !important;
    padding-top:0px !important;
}

form .section h3 {
    font-weight:normal;
    font-size:110%;
    line-height:130%;
    margin:0 0 2px 0;
}

form .section p {
    font-size:85%;
    margin:0 0 10px 0;
}

/* ----- BUTTONS ----- */

input.btTxt {
    padding:0 7px;
    width:auto;
    overflow:visible;
}

.buttons {
    clear:both;
    margin-top:10px;
}

.buttons input {
    font-size:120%;
    margin-right: 5px;
}

button {
    cursor: pointer;
    background-color:#F5F5F5;
    border: 1px solid;
    border-color: #DEDEDE rgb(187, 187, 187) rgb(191, 191, 191) rgb(222, 222, 222);
    color: #333;
    font-size: 100%;
    font-weight: bold;
    line-height: 130%;
    margin: 0pt 7px 0pt 0pt;
    padding: 4px 10px 5px 7px;
    line-height: 18px;
}
button:hover {
    background-color:#E9EFD1;
    border:1px solid #AACF81;
    color:#529214;
}

/* disabled buttons (once a form has been submittied) */
button.disabled, button.disabled:hover {
	background-color:#F5F5F5;
    border: 1px solid #DEDEDE;
    color: #ccc;
}

/* -------- FILE UPLOADS -------- */

a.swfuploadbtn:link {
    padding: 0 0 0 20px;
    margin-right: 15px;
    line-height: 20px;
    border: none;
}

.browsebtn {
    background: url(../images/icons/add.png) no-repeat;
}

.uploadbtn {
    display: none;
    background: url(../images/icons/accept.png) no-repeat;
}

.cancelbtn {
    display: block;
    width: 16px;
    height: 16px;
    float: right;
    background: url(../images/icons/delete.png) no-repeat;
}

#cancelqueuebtn {
    display: block;
    display: none;
    background: url(../images/icons/delete.png) no-repeat;
    margin: 10px 0;
}

#SWFUploadFileListingFiles {
    list-style: none;
    margin-top: 10px;
}

#queueinfo {
	font-style: italic;
    padding: 5px 0;
}

.SWFUploadFileItem {
    display: block;
    background: #eaefea;
    margin: 0 10px 10px 0;
    padding: 5px;
}

.fileUploading {
    background: #fee727;
}

.uploadCompleted {
    background: #d2fa7c;
}

.uploadCancelled {
    background: #f77c7c;
}

.uploadCompleted .cancelbtn, .uploadCancelled .cancelbtn {
   /* display: none; */
}

.caption {
	text-align: center;
}

/* full width */
.progressBar {
    width:102px;
    height:7px;
    border:1px solid #ccc;
    padding:0;
    margin: 5px auto;
    position:relative;
    background-image:url(../images/progress_bar.gif);
    background-repeat:repeat-x;
}
		
.progressBar div {
    background-color:#fff;
}

/* ----- FIELDS AND LABELS ----- */

label {
    line-height:150%;
    padding:0 0 1px 0;
    border:none;
    color:#222;
    display:block;
    font-weight:bold;
}

span.symbol {
    font-size:115%;
    line-height:130%;
}

input.text, input.password, input.file, textarea.textarea, select.select, .editor_field {
    margin:0;
    color:#333;
}

textarea.editor_field {
	width: 100%;
}

span.text, span.select { /* accessible elements */
	display: block;
    float: none;
}

input.text, input.password, textarea.textarea, .firefox select.select, .editor_field {
    border-top:1px solid #7c7c7c;
    border-left:1px solid #c3c3c3;
    border-right:1px solid #c3c3c3;
    border-bottom:1px solid #ddd;
    background:#fff url(../images/input_bg.gif) no-repeat top left;
    vertical-align: middle;
}

input.text, input.password, input.file, .editor_field {
    padding:2px 0 2px 0;
}

input.currency {
    text-align:right;
}

input.checkbox, input.radio {
    display:block;
    line-height:1.4em;
    margin:6px 0 0 3px;
    width:13px;
    height:13px;
}

label.choice {
    display:block;
    margin:-1.55em 0 0 25px;
    padding:4px 0 5px 0;
    width:90%;
    font-weight: normal;
}

input.disabled {
	background-color: #d4d0c8;
}

textarea.textarea, textarea.editor_field {
    font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
    font-size: 1.2em;
}

select.select {
    margin:1px 0;
    padding:1px 0 0 0;
}

select.select[class] {
    margin:0;
    padding:1px 0 1px 0;
}

*:first-child+html select.select[class] {
    margin:1px 0;
}

.safari select.select {
    margin-bottom:1px;
    font-size:120% !important;
}

input.openid {
	background: #fff url(../images/openid_login_bg.gif) no-repeat scroll 0pt 50%; 
    padding-left: 18px;
}

/* ----- SIZES ----- */

.third {
    width:32% !important;
}

.half {
    width:48% !important;
}

.full {
    width:100% !important;
}

input.small, select.small {
    width:25%;
}

input.medium, select.medium {
    width:50%;
}

input.large, select.large, textarea.textarea {
    width:100%;
}

textarea.small {
    height:5.5em;
}

textarea.medium {
    height:10em;
}

textarea.large {
    height:20em;
}

/* ----- ERRORS ----- */

#errorLi {
    width:99%;
    background:#fff;
    border:1px dotted red;
    margin-bottom:1em;
    text-align:center;
    padding-top:4px;
    padding-left:0px;
    padding-right:0px;
}

#errorMsgLbl {
    margin:7px 0 5px 0;
    padding:0;
    font-size:125%;
    color:#DF0000;
}

#errorMsg {
    margin:0 0 .8em 0;
    color:#000;
    font-size:100%;
}

#errorMsg strong {
    background-color: #FFDFDF;
    padding:2px 3px;
    color:red;
}

form li.error {
    background-color: #FFDFDF !important;
    border-bottom:1px solid #EACBCC;
    border-right:1px solid #EACBCC;
    margin:3px 0;
}

form li.error label {
    color:#DF0000 !important;
}

form p.error {
    color:red;
    font-weight:bold;
    font-size:10px;
    margin:0 0 5px 0;
    clear:both;
}

/* ----- REQUIRED ----- */

form .req {
    float:none;
    color:red;
    font-weight:bold;
}

/* ----- INSTRUCTIONS ----- */

form li.focused {
    background-color:#fff7c0;
}

form .instruct {
    position:absolute;
    top:0;
    left:100%;
    z-index:1000;
    width:42%;
    margin:0 0 0 8px;
    padding:8px 10px 9px 10px;
    border:1px solid #e6e6e6;
    background:#f5f5f5;
    line-height:130%;
    font-size:80%;
    color:#444;
    visibility:hidden;
}

form .instruct small {
    font-size:105%;
}

form li.focused .instruct, form li:hover .instruct {
    visibility:visible;
}

.noI .instruct {
    display:none !important;
}

.noI form li {
    width:96%;
}

.noI .leftLabel li, .noI .rightLabel li, .noI li.leftLabel, .noI li.rightLabel {
    width:66%;
    padding-left:30%;
}

.noI li.section {
    padding-left:9px;
}

.noI .leftLabel label.desc, .noI .rightLabel label.desc {
    width:27%;
}

* html .noI .leftLabel label.desc, * html .noI .rightLabel label.desc {
    width:40%;
}

.leftLabel li, .rightLabel li, li.leftLabel, li.rightLabel {
    padding-left:22%;
    padding-top:9px;
    width:55% !important;
}

.leftLabel p.instruct, .rightLabel p.instruct {
    width:26%;
    margin-left:2px;
}

* html .leftLabel p.instruct, * html .rightLabel p.instruct {
    width:37%;
}

.leftLabel label.desc, .rightLabel label.desc {
    position:absolute;
    left:0;
    width:24%;
    margin-left:9px;
    margin-top:2px;
}

* html .leftLabel label.desc, * html .rightLabel label.desc {
    width:34%;
}

.rightLabel label.desc {
    text-align:right;
}

.leftLabel li.buttons, .rightLabel li.buttons {
    padding-left:9px;
}

/**
 * Auto complete
 */
div.auto_complete {
    position: absolute;
    width: 250px;
    border-bottom: 1px solid #888;
    background-color: #fff;
}
div.auto_complete li {
	padding: 2px;
    border: 1px solid #888;
    border-bottom: none;
    cursor: pointer;
}
div.auto_complete li.selected { 
	background-color: #ffb; 
}

/* ----- Unique Checks ---- */
.available {
	color: #0f0;
    font-weight: bold;
}
.taken {
	color: #f00;
}

/* ----- Password ----- */

ul.protected {
    list-style:none;
    margin:60px 0;
}

.protected li {
    text-align:center;
    padding:10px 0;
}

.protected h2 {
    font-weight:bold;
    color:#DF0000;
    margin:0 auto 10px auto;
}

.protected label {
    font-size:120% !important;
    padding-top:10px;
    display:block;
}

.protected input.text {
    font-size:170% !important;
    width:380px;
    text-align:center;
}

.protected .buttons {
    margin:0;
}

.protected #saveForm {
    font-size:120% !important;
}

/* The main calendar widget.  DIV containing a table. */

div.calendar {
    position: relative;
}

.calendar table {
    cursor:pointer;
    border:1px solid #ccc;
    font-size: 11px;
    color: #000;
    background: #fff;
    font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
}

/* Header part -- contains navigation buttons and day names. */

.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
    text-align: center;    /* They are the navigation buttons */
    padding: 2px;          /* Make the buttons seem like they're pressing */
}

.calendar .nav {
    background:#f5f5f5;
}

.calendar thead .title { /* This holds the current "month, year" */
    font-weight: bold;      /* Pressing it will take you to the current date */
    text-align: center;
    background: #dedede;
    color: #000;
    padding: 2px 0 3px 0;
}

.calendar thead .headrow { /* Row <TR> containing navigation buttons */
    background: #f5f5f5;
    color: #444;
    font-weight:bold;
}

.calendar thead .daynames { /* Row <TR> containing the day names */
    background: #fff;
    color:#333;
    font-weight:bold;
}

.calendar thead .name { /* Cells <TD> containing the day names */
    border-bottom: 1px dotted #ccc;
    padding: 2px;
    text-align: center;
    color: #000;
}

.calendar thead .weekend { /* How a weekend day name shows in header */
    color: #666;
}

.calendar thead .hilite { /* How do the buttons in header appear when hover */
    background-color: #444;
    color: #fff;
    padding: 1px;
}

.calendar thead .active { /* Active (pressed) buttons in header */
    background-color: #d12f19;
    color:#fff;
    padding: 2px 0px 0px 2px;
}/* The body part -- contains all the days in month. */

.calendar tbody .day { /* Cells <TD> containing month days dates */
    width:1.8em;
    color: #222;
    text-align: right;
    padding: 2px 2px 2px 2px;
}

.calendar tbody .day.othermonth {
    font-size: 80%;
    color: #bbb;
}

.calendar tbody .day.othermonth.oweekend {
    color: #fbb;
}

.calendar table .wn {
    padding: 2px 2px 2px 2px;
    border-right: 1px solid #000;
    background: #666;
}

.calendar tbody .rowhilite td {
    background: #FFF1AF;
}

.calendar tbody .rowhilite td.wn {
    background: #FFF1AF;
}

.calendar tbody td.hilite { /* Hovered cells <TD> */
    padding: 1px 1px 1px 1px;
    background:#444 !important;
    color:#fff !important;
}

.calendar tbody td.active { /* Active (pressed) cells <TD> */
    color:#fff;
    background: #529214 !important;
    padding: 2px 2px 0px 2px;
}

.calendar tbody td.selected { /* Cell showing selected date */
    font-weight: bold;
    border: 1px solid #888;
    padding: 1px 1px 1px 1px;
    background: #f5f5f5 !important;
    color: #222 !important;
}

.calendar tbody td.weekend { /* Cells showing weekend days */
    color: #666;
}

.calendar tbody td.today { /* Cell showing today date */
    font-weight: bold;
    color: #529214;
    background:#D9EFC2;
}

.calendar tbody .disabled {
    color: #999;
}

.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
    visibility: hidden;
}

.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
    display: none;
}/* The footer part -- status bar and "Close" button */

.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
    text-align: center;
    background: #556;
    color: #fff;
}

.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
    background: #222;
    color: #fff;
    font-size:10px;
    border-top: 1px solid #dedede;
    padding: 3px;
}

.calendar tfoot .hilite { /* Hover style for buttons in footer */
    background: #aaf;
    border: 1px solid #04f;
    color: #000;
    padding: 1px;
}

.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
    background: #77c;
    padding: 2px 0px 0px 2px;
}

/* Combo boxes (menus that display months/years for direct selection) */
.calendar .combo {
    position: absolute;
    display: none;
    top: 0px;
    left: 0px;
    width: 4em;
    border: 1px solid #ccc;
    background: #f5f5f5;
    color: #222;
    font-size: 90%;
    z-index: 100;
}

.calendar .combo .label, .calendar .combo .label-IEfix {
    text-align: center;
    padding: 1px;
}

.calendar .combo .label-IEfix {
    width: 4em;
}

.calendar .combo .hilite {
    background: #444;
    color:#fff;
}

.calendar .combo .active {
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #dedede;
    font-weight: bold;
}
