.cssform * { padding: 0; margin: 0; }
.cssform { width: 500px;  margin: 0 auto; padding: 4px; position: relative; }
.cssform #pict {
	width: 128px;
	height: 128px;
	position: absolute;
	top: 50px;
	right: 10px;
	z-index: 0;
	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/contact/mail.png', sizingMethod='crop');
}
.cssform #pict[id] {
	background-image:url(/images/contact/mail.png);
}
.cssform fieldset {
	margin: 8px 0;
	padding: 4px 4px 25px 4px;
	border: 0px solid #333;
}
.cssform legend {
	padding: 0 8px 0 0;
	margin: 8px;
	font-size: 20px;
	font-weight: bold;
}
.cssform .par{ margin: 0 0 20px 0; text-align: center; }
.cssform .par * { border: none; }
.cssform form fieldset div { margin: 4px 0 0 0; }
.cssform #infosOblig { text-align: right; }
.cssform label {
	width: 100px;
	padding: 0 24px 0 0;
	float: left;
	position: relative;
	text-align: right;
	font-weight: bold;
}
.cssform label .warning {
	margin: 0 0 0 3px;
	position: absolute;
	color: #ff0000;
	font-weight: normal;
}
.cssform #infosOblig .warning { color: #ff0000; margin: 0 0 0 -7px; font-weight: normal; }

.cssform input, .cssform textarea { color: #000; border: 1px solid #000; }
.cssform input, .cssform textarea { color: #000; border: 1px solid #000; }
.cssform input:focus, .cssform textarea:focus {	background: #eee; border-color: #ccc; outline: 1px solid #ccc; }
.cssform textarea { width: 320px; height: 160px; }
.cssform input.formbutton {
	width: 100px;
	height: 20px;
	margin: 0 0 8 0;
	color: #333;
	background: #fff;
	border: 1px outset #999;
	cursor: pointer;
	font-size: 1em;
	font-weight: bold;
}

.textfieldRequiredMsg, .textfieldInvalidFormatMsg, .textfieldMinValueMsg, .textfieldMaxValueMsg, .textfieldMinCharsMsg, .textfieldMaxCharsMsg, .textfieldValidMsg { display: none; }

.textfieldRequiredState .textfieldRequiredMsg, .textfieldInvalidFormatState .textfieldInvalidFormatMsg, .textfieldMinValueState .textfieldMinValueMsg, .textfieldMaxValueState .textfieldMaxValueMsg, .textfieldMinCharsState .textfieldMinCharsMsg,
.textfieldMaxCharsState .textfieldMaxCharsMsg {
	display: block; 
	margin: 5px 0;
	font-size: 90%;
	line-height: 16px;
	color : #fff;	
	text-align: center;
	font-weight: bold;
	border: 1px solid #ff0000;
}

.textfieldValidState input, input.textfieldValidState { border: 2px solid #0c0; }

input.textfieldRequiredState, .textfieldRequiredState input, 
input.textfieldInvalidFormatState, .textfieldInvalidFormatState input, 
input.textfieldMinValueState, .textfieldMinValueState input, 
input.textfieldMaxValueState, .textfieldMaxValueState input, 
input.textfieldMinCharsState, .textfieldMinCharsState input, 
input.textfieldMaxCharsState, .textfieldMaxCharsState input { border: 2px solid #c00; }

.textfieldRequiredState .formLabel, .textfieldInvalidFormatState .formLabel, .textfieldMinValueState .formLabel, .textfieldMaxValueState .formLabel, .textfieldMinCharsState .formLabel, .textfieldMaxCharsState .formLabel { color: #cc3333; }

.textfieldRequiredState .textfieldRequiredMsg, .textfieldInvalidFormatState .textfieldInvalidFormatMsg {
	margin: 5px 0;
	font-size: 90%;
	color : #fff;	
	text-align: center;
	font-weight: bold;
	border: 1px solid #ff0000;
	background: url(/images/contact/error.gif) no-repeat right center #900;
}

.validMsg { display: none; }

.textfieldValidState .validMsg { display: inline; }

.textfieldFlashText input, input.textfieldFlashText { color: red !important; }