/*
bleu : #0a50a1;
vert : #59b337;
jaune : #fd0;

texte : #333;
body : #d6d6d6;

autres : #ccc, #777, #555, #f60, #eaeff9 et #b3e55c;
*/

* {
	margin: 0;
	padding: 0;
}

/* @group hacks */

.clearfix { display: inline-block;}

.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}

/* Hides from IE-mac \*/
* html .clearfix { height: 1%;}
.clearfix { display: block;}
/* End hide from IE-mac */

.spacer {
	clear: both;
	height: 0;
	font-size: 1px;
	line-height: 0;
	border: none;
}
/* @end */

body {
	color: #333;
	background: #f6f6f6;
	font: 13px "Trebuchet MS", Helvetica, Arial, sans-serif;
}

a {
	color: #000;
	text-decoration: underline;
}

a:hover {
	text-decoration: underline;
}

.left {
	float: left;
}

.right {
	float: right;
}

img {
	display: block;
	border: none;
}

ul {
	position: relative;
	list-style: none;
	margin-left: 1.5em;
}

.marked {
	color: #f00;
}

#container {
	position: relative;
	width: 900px;
	height: auto;
	margin: 30px auto;
	background-color: #fff;
	border: 5px solid #fff;
}

#header {
	position: relative;
	background: url(../img/headerbg.jpg) no-repeat;
}

#header h1,
#header h1 a {
	float: left;
	font-size: 1.4em;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
}

#header h1 {
	margin: 2.5em 1.5em 4em;
}

#menu {
	/*position: absolute;
	left: 0;
	bottom: 0;*/
	clear: both;
	height: 30px;
}

#menu ul {
	list-style: none;
	height: 1.2em;
}

#menu li,
#menu li a {
	float: left;
	font-weight: bold;
	text-decoration: none;
}

#menu li a {
	display: block;
	padding: .5em 1em;
	color: #fff;
}

#menu li a:hover {
	color: #fd0;
	text-decoration: underline;
}

#menu li.current a {
	color: #333;
	background-color: #fff;
	text-decoration: none;
}

#content {
	border-top: 1px solid #fff;
	/*background: url(../img/contentbg.jpg) repeat-x;*/
}

#maincol,
#subcol {
	padding: 10px;
}

#subcol {
}

#maincol.left,
#maincol.right {
	width: 680px;
}

#subcol.left,
#subcol.right {
	width: 160px;
}

#subcol h3 {
	margin-top: 1em;
	padding: .6em 0 .4em;
	border-top: 1px solid #ccc;
}

div.intro {
	font-family: Arial, Helvetica, Geneva, sans-serif;
}

.intro p {
	margin: 0.4em 0;
	font-size: 13px;
	color: #555;
}


#marque {
	float: right;
	margin: 1.5em 3em 0 0;
}

#maincol h1 {
	padding: .6em .5em .3em;
	font-size: 1.6em;
	font-weight: normal;
	font-style: italic;
	color: #888;
}

#maincol h1 span.br {
	display:block;
	font-size: 13px;
	color: #555;
	padding: 0;
}

#maincol h2 {
	margin: .6em .5em .3em;
	color: #59b337;
	font-weight: bold;
	border-bottom: 1px solid #59b337;
}

#maincol h2 span {
	font-weight: normal;
}

/* @group Footer */

#footer {
	clear: both;
	padding: .6em 1em;
	text-align: right;
	background-color: #fd0;
	border-top: 5px solid #fff;
}

#footer, #footer a {
	color: #000;
	font-size: 10px;
}

#footer a.text {
	text-decoration: none;
	cursor: text;
}

/* @end */

div.example {
	margin: 1em 2em 2em 3em;
	padding: .4em .8em;
	border-left: 3px #f60 solid;
	color: #555;
	background-color: #ffefe5;
}

.example h4 {
	margin: .5em 10px;
	font-size: 14px;
	font-weight: normal;
	color: #f60;
}

#anim h2 {
	position: absolute;
	left: 30px;
	bottom: 20px;
	font-size: 20px;
	font-weight: normal;
}

.pricing {
	margin: 20px auto;
}

.large .pricing table {
	width: 700px;
}

.pricing table {
	width: 490px;
	border-collapse: collapse;
	border: 1px solid #999;
}

.pricing th, .pricing td {
	width: 25px;
	padding: .3em 1em;
	font-size: 12px;
	font-weight: normal;
	text-align: center;
	background: #fff;
	border: 1px solid #999;
}

.large .pricing th, .large .pricing td {
	width: 55px;
}

.pricing th {
	background: #b3e55c;
}

.large .pricing th strong {
	font-size: 13px;
}

.large .pricing th, .large .pricing td {
	font-size: 11px;
}



.pricing .promo td {
	font-size: 1.2em;
	color: #f60;
	font-weight: bold;
}

div.promo {
	display: none;
	width: 470px;
	text-align: left;
	color: #000;
	font-weight: normal;
}

.large div.promo {
	width: 680px;
}

div.promo strong {
	color: #f60;
	font-size: 13px;
	font-weight: bold;
}

#maincol div.promo p {
	margin: 0;
	
}

#maincol h3 {
	color: #0a50a1;
}



.menu {
	text-align: left;
}

#maincol li {
	color: #555;
	margin: .5em 2em .8em 5em;

}

#maincol .menu li {
	list-style-type: none;
	margin: 10px 15px 15px 20px;
	color: #000;
}

#maincol .menu h1 {
	margin-top: 1.5em;
	padding: 0;
	text-align: left;
	font-size: 20px;
	font-weight: bold;
	font-style: normal;
	background: none;
	
}

#maincol .menu p {
	padding: 0;
	font-style: italic;
}

.menu a, h3 a {
	color: #0044A0;
	text-decoration: none;
}

#maincol .menu a {
	display: block;
	padding: 0 5p;
}


#maincol .menu a:hover {
	color: #59b337; /*59b337*/
	text-decoration: none;
	border-color: #59b337;
}


#maincol .intro p {
	margin: 10px;
	font-size: 1.2em;
	font-style: italic;
}

ul.points {
	list-style: circle;
}

ul.points li {
	margin: 1em 0;
	color: #59b337;
	font-size: 16px;
}

#subcol ul.points {
	margin-bottom: 1em;
}

#subcol ul.points li {
	font-size: 1em;
}

.main_points {
	margin: 1em 5em;
	list-style: circle;
	font-size: 13px;
	line-height: 1.5em;
}

#maincol .main_points li {
	margin: .3em 0;
	font-size: 14px;
	color: #59b337;
}


.next {
	margin: 0 0 0 -19px;
	padding-right: 30px;
	text-align: right;
	/* background-color: #eaeff9; */
}

.next a {
	text-decoration: underline;
}

.grey {
	color: #666;
}

#maincol h3 span {
	font-weight: normal;
}

#maincol h3.next {
	margin: 0;
	color: #777;
	font-size: 18px;
	padding-top: 10px;
}


.sante #maincol h3.next {
	font-size: 23px;
}

#maincol p.next {
	margin: 0;
	padding-bottom: 10px;
}

.next a:hover {
	color: #f60;
}

.error {
	color: red;
}


div.notice {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
}

.notice,
div.notice p,
label em {
	color: #777;
	font-size: 10px;
	font-style: italic;
}


.notice a {
	color: #555;
	text-decoration: underline;
}

form {
	clear: both;
	margin-left: 10px;
	margin-right: 30px;
	font-size: 12px;
}

form br {
	clear: both;
}

form h3 {
	clear: both;
	margin: 1em 0 0;
	padding: .5em;
	font-size: 14px;
	background: #eaeff9;
	color: #0a50a1;
}

#maincol form ul {
	margin: 0;
	list-style: none;
}

#maincol form li {
	margin: 0;
	list-style: none;
}

form .left, form .right {
	width: 230px;
	padding: 10px 0 20px;
}

form .left {
	float: left;
	clear: left;
}

form .right {
	float: right;
	clear: right;
}

form .center {
	clear: both;
}

form label {
	display: block;
	padding: .3em 0;
}

form label, form input, form textarea, form select {
	width: 180px;
}


form input {
	margin-bottom: .8em;
}

form .title {
	margin-bottom: 1em;
	color: #777;
	font-weight: bold;
	border-bottom: 1px solid #777;
}

label.checkbox, input.checkbox, #estoptions label, #estoptions input {
	float: left;
}

input.checkbox, #estoptions input {
	margin-top: .3em;
	margin-right: 1em;
	width: auto;
}

#estoptions label {
	width: 460px;
}

#estoptions {
	font-size: 11px;
}

form input.submit {
	float: right;
	width: 230px;
	margin: 1em 0 0;
}

#estimate .notice {
	margin: 20px 30px 0 10px;
}

#estimate .error {
	margin: 10px 30px;
}


.agency {
	margin-right: 30px;
	padding: 3em 1em 1em;
	background: #fff;
	border-left: 5px #59b337 solid;
}

#maincol li a.more {
	font-size: 14px;
	margin-right: 1em;
	text-align: right;
	color: #f60;
	border-bottom: 1px #f60 solid;
}

#results {
	margin-left: 50px;
}

#results h4 {
	font-size: 1.5em;
	text-align: center;
}

#results dl {
	float: left;
	width: 180px;
	margin: 10px;
	background: #ffefe5;
}

#results dt {
	padding: 2px;
	font-size: 1.2em;
	text-align: center;
	color: #ffefe5;
	background-color: #f60;
}

#results dt strong {
	color: #fff;
}

#results dd {
	padding: 5px;
}

.calc label, .calc input, .calc select {
	display: inline;
	width: auto;
	margin: 0;
	padding: 0;
}

.calc p.form {
	line-height: 2.4em;
}

span.bigger {
	font-size: 1.3em;
}

/* @group Buttons */

div.buttons {
	clear: both;
	height: 75px;
}

div.buttons a#garanties,
div.buttons a#devis {
	display: block;
	float: right;
	margin-right: 1em;
	width: 320px; /* 255*/
}

div.buttons a#garanties {
	float: left;
	width: 180px;
	margin-top: 10px;
}

/* @end */

#home.sante #maincol .intro {
	padding-right: 60px;
}

#maincol .intro img.promo {
	display: none;
	position: absolute;
	top: 80px;
	right: -80px;
}

#home.sante img.offre {
	display: block;
	position: absolute;
	top: -15px;
	left:  -10px;
	z-index: 5000;
}

#header img.promo {
	display: none;
	float: left;
	width: 270px;
	margin-left: 20px;
	margin-top: 30px;
}



#contactus, #print {
	display: block;
	float: left;
	width: 175px;
	margin-top: 18px;
	margin-right: 10px;
}

#subcol #contactus,
#subcol #print {
	float: none;
}

#print {
	width: 125px;
}

div.buttons form {
	clear: none;
	float: right;
	width: 240px;
}

/* @group Validation Souscription */

#maincol ul.payment li {
	float: left;
	width: 150px;
	margin: 0 5px;
	padding: 50px 5px 0;
	list-style: none;
}

li#telephone {
	background: url(../img/telephone-valid.gif) no-repeat;
}

li#courrier {
	background: url(../img/courrier-valid.gif) no-repeat;
}

li#internet {
	background: url(../img/internet-valid.gif) no-repeat;
}

#maincol ul.payment li p {
	margin: 0 0 1em;
	padding: 0;
	font-size: 11px;
}

ul.payment form input {
	width: auto;
}

ul.payment #internet div {
	text-align: left;
}

ul.payment #internet input {
	display: block;
	margin: 5px auto;
}

ul.payment #internet img {
	display: none;
}

/* @end */

p#telephone {
	margin: .5em 0;
	padding-left: 50px;
	line-height: 36px;
	font-size: 16px;
	background: url(../img/telephone.gif) no-repeat;
}