/*
*************************************************
andCulture Form Styles - Custom
Version:	0.50 | September 18, 2009
Author:		andCulture, info@andCulture.com
Notes:		Wherever you see "REQUIRED" it means that the property and
			value must exist (for layout purposes). You may adjust it's
			value. All other properties are optional.
*************************************************
*/


/*-------------------------------------------
	SHARED STYLES (BLOCK & INLINE LABELS)
-------------------------------------------*/

/* REQUIRED FIELDS */
.ac-form div.required label {
	font-weight: bold;
}
.ac-form div.required input, .ac-form div.required textarea {
	border-width: 2px;
}

/* MULTIPLE FIELDS ON SAME LINE */
.ac-form fieldset.multi input,
.ac-form fieldset.multi select { margin: 0 15px 0 0; }

/* BUTTONS */
.ac-form div.buttons {
	font-size: 12px;
}

/* RADIO & CHECKBOX SETS */
fieldset.switches input {
	vertical-align: inherit;
}


/*-------------------------------------------
	BLOCK LABELS
-------------------------------------------*/

/* LABELS */
.block-labels label,
.block-labels .label {
	margin-bottom: 3px;
}

/* NOTES */
.block-labels p.note {
	margin: 0;
}

/* RADIO & CHECKBOX SETS */
fieldset.switches.block-labels label {
	margin: 0 0 5px 0;
}


/*-------------------------------------------
	INLINE LABELS
-------------------------------------------*/

/* LABELS */
.inline-labels label,
.inline-labels .label {
	margin-top: 6px;
	margin-right: 5px;
	width: 120px; /* REQUIRED */
}

/* NOTES */
.inline-labels p.note {
	margin-left: 125px; /* REQUIRED */
	margin-top: 0;
	margin-bottom: 0;
}

/* LINE OF TEXT WITH A CHECKBOX */
.inline-labels div label.line {
	margin-left: 125px; /* REQUIRED */
}

/* BUTTONS */
.inline-labels div.buttons {
	margin-left: 125px; /* REQUIRED */
}

/* RADIO & CHECKBOX SETS */
.inline-labels fieldset.switches label {
	margin: 2px 2em 0 0;
}

/* MULTIPLE FIELDS ON SAME LINE */
.inline-labels div fieldset.multi label {
	width: auto;
}
.inline-labels div fieldset.multi select {
	margin-top: 2px;
	margin-right: 15px;
}
.inline-labels div fieldset.multi input {
	margin-right: 15px;
}
.inline-labels div fieldset.multi div:first-child label {
	margin-top: 6px;
	margin-right: 5px;
	width: 120px; /* REQUIRED */
}


/*-------------------------------------------
	INLINE LABELS (RIGHT ALIGNED)
-------------------------------------------*/

/* NOTES */
.inline-labels.right p.note {
	margin-left: 113px; /* REQUIRED */
}

/* BUTTONS */
.inline-labels.right div.buttons {
	margin-left: 115px; /* REQUIRED */
}

/* LINE OF TEXT WITH A CHECKBOX */
.inline-labels.right div label.line {
	margin-left: 113px; /* REQUIRED */
}

/* REQUIRED FIELDS */
.inline-labels.right div label,
.inline-labels.right div .label {
	padding-right: 8px;
	width: 100px; /* REQUIRED */
}
.inline-labels.right div em {
	right: 0; /* REQUIRED */
}

/* MULTIPLE FIELDS ON SAME LINE */
.inline-labels.right div fieldset.multi div:first-child label {
	width: 100px; /* REQUIRED */
}


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

.ac-form label.error {
	margin: 0;
	padding: 5px 0 5px 30px;
	width: 110px;
	min-height: 10px;
	display: block;
	float: none;
	position: absolute;
	top: 1.1em;
	left: 370px;
	background: url(../images/icons/alert.png) 0 50% no-repeat;
	color: #c40001;
	font-size: 12px;
	font-weight: normal !important;
}
.ac-form label.error.valid {
	background-image: url(../images/icons/check.png);
	top: 1.6em;
	color: #019f23;
}
.ac-form fieldset.multi label.error {
	margin-right: 0;
}
.inline-labels label.error {
	margin-left: 125px;
}
.inline-labels fieldset.multi label.error {
	margin-left: 0;
}
.ac-form input.error,
.ac-form textarea.error {
	border-color: #c40001;
}


/*-------------------------------------------
	STATUS MESSAGES (loading, error, success)
-------------------------------------------*/

/* STATUS SUMMARY */
.ac-form div.status {
	margin-bottom: 1em;
	border-width: 1px;
	border-style: dashed;
	padding: 6px 10px;
}
.ac-form div.status.error {
	border-color: #c7491e;
	background-color: #ffe8e0;
}
.ac-form div.status.success {
	border-color: #6ead1c;
	background-color: #f2ffe0;
}
.ac-form div.status p {
	margin: 0;
}
.ac-form div.status ul {
	margin-bottom: 0;
}

/* INLINE ERRORS (INPUTS) */
.ac-form div.error > label,
.ac-form div.error .label {
	color: #F00;
}
.ac-form div.error input[type=text],
.ac-form div.error input[type=password],
.ac-form div.error input[type=file],
.ac-form div.error textarea {
	border: 1px solid #F00;
}

/* INLINE ERRORS (ERROR MESSAGES) */
.ac-form p.status {
	margin-top: .5em;
	display: none;
}
.inline-labels p.status {
	margin-left: 125px; /* REQUIRED */
}
.ac-form p.error-msg {
	padding: 5px;
	border: 1px dashed #F00;
	background: #FEE;
}
.ac-form div.error p.error-msg {
	display: block;
}

	/* AJAX CLASSES */
	.ac-form div.loading p.loading-msg,
	.ac-form div.success p.success-msg {
		display: block;
	}
	.ac-form div.loading p.loading-msg {
		/* REMEMBER TO STYLE WITH A BACKGROUND IMAGE LOADING SPINNER OF YOUR CHOICE! */
	}


/*-------------------------------------------
	SITE SPECIFIC STYLING
-------------------------------------------*/

.ac-form fieldset > div {
	margin-bottom: 1em;
	position: relative;
}
.ac-form fieldset.multi div {
	margin-bottom: 0;
	position: static;
}
.ac-form input[type=text],
.ac-form input[type=password] {
	width: 195px;
}
.ac-form input[disabled=disabled] {
	border-color: #DDD;
}
.ac-form textarea {
	padding: 4px;
	width: 335px;
	height: 120px;
	border: 1px solid #b5b5b5;
	color: #666;
	font-family: Helvetica, Arial, sans-serif;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}
.ac-form select {
	color: #666;
	font-size: 16px;
}

select#state { width: auto; }
select#phoneType { width: 100px; }
input#firstname,
input#lastname { width: 155px; }
input#zip { width: 60px; }
input#email { width: 335px; }

button.signin { width: 73px; height: 35px; background-position: 0 -100px; }
button.submit { width: 76px; height: 35px; background-position: 0 -60px; }

