/* ----- ACTION BUTTONS ----- */
input.action,
input.resetformaction,
button.action,
.button[href] {
	position: relative;
	min-width: 240px;
	display: inline-block;
	margin: 10px 0;
	padding: 10px 20px;
	background: #616365;
	border: none;
	text-decoration: none !important;
	text-align: center;
	color: #fff;
	font-size: 20px;
	cursor: pointer;
	-webkit-transition: background 250ms;
	transition: background 250ms;
}
input.action:hover,
input.resetformaction:hover,
button.action:hover,
.button[href]:hover {
	color: #fff;
	background: #1e1e1e;
	border: none !important;
}
input.action:focus,
input.resetformaction:focus,
button.action:focus,
.button[href]:focus {
	outline: none !important;
}
.button[href].block {
	display: block;
	margin-top: 10px;
}

/* ----- FORM ELEMENTS ----- */
form {
	max-width: 500px;
}
form input[type="text"],
form input.text,
form textarea,
form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	width: 100%;
	padding: 7px;
	background-color: #F6F6F6;
	box-shadow: none !important;
	border: 1px solid #cfd1d2;
	font-size: 13px;
}
form input.text:focus,
form textarea:focus,
form select:focus {
	outline: none;
}
form textarea {
	resize: vertical;
}

::-webkit-input-placeholder {
	color: #A4A4A4;
}
:-moz-placeholder { /* Firefox 18- */
	color: #A4A4A4;
}
::-moz-placeholder {  /* Firefox 19+ */
	color: #A4A4A4;
}
:-ms-input-placeholder {
	color: #A4A4A4;
}

.field {
	margin: 5px 0 16px 0;
}
fieldset .field > label.left,
.fieldLabel {
	display: block;
	color: #484848;
	margin: 10px 0 0 0;
}
fieldset .field > .middleColumn,
.fieldInput {
	display: block;
	margin: 0 0 16px 0;
}
span.note {
	text-transform: none;
	font-size: 10px;
}

.actions .fieldLabel {
	float: left;
	text-transform: none;
}
.actions .fieldInput {
	float: left;
	margin-left: 15px;
}
.actions {
	float: right;
}
form:before,
form:after,
.actions:before,
.actions:after {
	content: " ";
	display: table;
}
form:after,
.actions:after {
	clear: both;
}
#ForgotPassword {
	float: right;
	font-size: 12px;
	margin-top: 5px;
}

/* MOLLOM */
.mollom-captcha {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.mollom-captcha label {
	color: #000;
}
.mollom-captcha .mollom-image-captcha img {
	display: block;
	float: none !important;
}


/* ----- ERROR MESSAGES ------------------------------------------ */
form .message,
form .message.warning,
form .good,
p.goodMessage,
form .bad,
p.badMessage,
p.error,
p.message,
#comments-holder .message {
	position: relative;
	width: 100%;
	padding: 10px;
	margin-bottom: 20px;
	border-radius: 4px;
}
form span.message,
form .message.warning,
p.message,
#comments-holder .message {
	display: block;
	color: #8a6d3b;
	background-color: #fcf8e3;
	border: 1px solid #faebcc;
}
form .good,
p.goodMessage,
#comments-holder .good.message {
	background-color: #dff0d8;
	border: solid 1px #d6e9c6;
	color: #3c763d;
}
form .message.good:before {
	color: #5D7A04;
}
form .bad,
p.badMessage,
#comments-holder .bad.message,
p.error {
	background-color: #f2dede;
	border: solid 1px #ebccd1;
	color: #a94442;
}
form .message.bad:before {
	color: #b80000;
}
form input.required,
form input.error,
form textarea.error,
form select.error {
	border-color: #b80000;
}
form span.required {
	color: #a94442;
}

form label.error {
	display: block;
	color: #a94442;
	font-size: 13px;
	margin: 0 0 5px 0;
}
form .textarea label.error {
	margin-top: -8px;
}

/* USER DEFINED USER FORM MODULE STYLES
----------------------------------------------- */
/*Generic and mixed*/
.FormHeading {
	clear: both;
	padding-top: 15px;
}
form .date .middleColumn input {
	background: #F3F0EA url(../images/calendar-icon.png) no-repeat scroll 4px 3px;
	padding-left: 35px;
}
.Actions input.resetformaction,
.Actions input.action-minor { /* Clear button */
	margin-left: 10px;
}

/* Labels */
.checkbox label.right {
	font-size: 13px; /* reset to default */
	color: #333; /* reset to default */
}
form .field.requiredField label.left:after { /* pseudo element adds an asterisk to a required fields label */
	content: "*";
	padding-left: 3px;
}

/* Radio / Checkbox */
form .checkboxset ul,
form .optionset ul {
	margin: 0;
}
form .checkboxset li,
form .optionset li {
	margin-bottom: 5px;
	list-style-type: none;
}
form .checkboxset li label,
form .optionset li label {
	padding: 7px;
}
/* clearfix */
form div.checkbox:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
form .checkbox .checkbox {
	clear: both;
	margin-right: 5px;
}

/* Messages */
form input.holder-required {
	border: 1px solid #cf0000;
}

/* To test - potentially not needed? */
.ss-uploadfield-item-info button {
	margin-top: 4px !important;
	float: left;
}
form .creditCardField input {
	width: 50px;
}


/* Responsive form styles
----------------------------------------------- */
@media only screen and (max-width: 700px) {
	/* To test - potentially not needed? */
	.header form .middleColumn {
		float: none;
		width: 100% !important;
	}
	form label.left,
	#MemberLoginForm_LoginForm label {
		margin-bottom: 8px
	}
}
@media only screen and (max-width: 900px) {
	form {
		max-width: 100%;
	}
}
