.guestform { width: 50em; margin: 2em auto; text-align: left; border-bottom: 1px solid #ccc; }
.guestform fieldset { margin-bottom: 0em; border: 0; }
.guestform fieldset legend { margin: 0; padding: 0; font-weight: bold; color: #333; }

.guestform p { margin: 0; padding: 1em 0; color: gray; }

.guestform fieldset ul { margin: 0; padding: 0; list-style: none; }
.guestform fieldset ul ul { border: 0; }
.guestform fieldset li { margin: 0; padding: 0.5em; position: relative; width:440px; }
.guestform fieldset fieldset li { padding: 1em 0 0 0; background: none; border: 0; }

.guestform input.text, .guestform textarea, .guestform fieldset li select { margin: 0; padding: 0; border:1px solid #777; }
.guestform * input.text:focus, .guestform * textarea:focus, .guestform * select:focus { background-color: #FFF; border-style: solid; border-color: #666; }
.guestform input.text{ float:right; width:200px;} 
.guestform textarea { width:440px; }

.guestform li.obligatoire { background-color: #FFCC99; }
.guestform li.obligatoire label { font-weight: bold; }
.guestform li.obligatoire label em { font-weight: normal; font-style: normal; color: #C30; }

.guestform li.erreur input.text, .guestform li.erreur textarea, .guestform li.erreur select { background-color: #FCC; border-style: solid; border-color: #C30; }
.guestform p.erreur_message { margin: 0; padding: 0; color: #C30; font-weight: bold; }
.guestform p.message_erreur { margin: 0; padding: 0; color: #C30; font-weight: bold;  }
.guestform p.message_ok { margin: 0; padding: 0; color: #99CC00; font-weight: bold; font-size: 20px; text-align: center; }

.guestform p.boutons input.submit { border:1px solid #999999; width:10em;}
.guestform p.boutons input.submit:hover { border:1px solid #999966;}
.guestform label { color: #333; padding-right:20px;}