@import url('normalize.css');
@import url(https://fonts.googleapis.com/css?family=Ubuntu:400,700,500);

/* général style */
body{
}
.content{
	width: 100%;
	max-width:1200px;
	margin: 0 auto;
}
.btn{
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color:#1fb7c7;
	border: none;
	width: 100%;
	padding: 10px 15px;
	display: block;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
	text-decoration: none;
	transition: all 0.5s ease 0.1s;
}
.uppercase{
	text-transform: uppercase;
}
.btn:hover, .btn:focus{
	background-color: #64f0ff;
	color: #555;
	cursor: pointer;
}
.mobile{
	display:none;
}
/* header */
header{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
	background-color: #fff;
}
header .header-content{
	height: 333px;	
	margin: 0 auto;
	position: relative;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;	
	background: url('../images/header.jpg') 0 0 no-repeat;
}
header h1{
	margin: 0;
	display:inline;
	float: left;
	margin-left: 70px;
}
header h2, header p{
	margin: 0;
	color: #1b2f5a;
	font-size: 1.25em;
}
header p{
	color: #6a6a6a;
	font-size: 1.40em;
}
.confirmation main p{
	color: #6d6153;
	font-size: 1.45em;
	text-align: center;
}
.header-title{
	display: inline-block;
	padding: 0;
	position: absolute;
	bottom: -67px;
	left: 12%;
}
.header-title h2{
	margin: 0;
	font-size: 59px;
	line-height: 1.1;
	letter-spacing: -3px;
	text-transform: uppercase;
	font-weight: 700;	
}
.header-title h2 strong{
	display: block;
	color: #fff;
	text-shadow:2px 2px 3px #333;
	font-family: 'Ubuntu', sans-serif;
	font-size: 71px;
}
.header-title.mobile{
	display: none;
}
/* main */
main{
	background:#fff url('../images/bg_main.jpg') center center no-repeat;
	background-size: cover;
}
main:after{
	content: "";
	display: block;
	clear: both;
}
section.right{
	width: 58%;
	float: left;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;	
	font-family: 'Ubuntu', sans-serif;
}
section.right aside.top{
	width: 100%;
	padding: 70px 5% 0 2%;
	position: relative;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
section.right aside.top .pastille{
	position:absolute;
	z-index: 3;
	left: 78%;
	top: -100px;
	width: 195px;
	height: 195px;
	color: #1a2f5c;
	text-align: center;
	padding: 47px 30px 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;	
	border-radius: 50%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
	background: url('../images/bg-pastille.png') center center no-repeat;
}
section.right aside.top p, section.right aside.bottom p strong{
	font-size: 46px;
	text-align: center;
	line-height: 1;
	margin: 0;
	color:#e84227;
	font-weight: 700;
	display: block;
}
section.right aside.bottom p strong{
	margin-top: 5px;
}
section.right aside.bottom p strong sup{
	font-size: 20px;
	top:-1px;
}
section.right aside.top .pastille strong, section.right aside.top .pastille h3{
	display: block;
	text-transform: uppercase;
	color: #e84227;
	margin: 0;
	font-size: 1.5em;
	line-height: 1;
	letter-spacing: -2px;
}
section.right aside.top .pastille p strong{
	margin-top:1px;
	font-size: 1.8em;
}
section.right aside.top .pastille p{
	font-size: 0.75em;
	line-height: 1.1;
	margin: 0;
	color:#1b2f5a;
	font-weight: normal;
}
.home section.right aside.bottom{
	position: relative;
	padding-top: 10px;
}
.home section.right aside.bottom p{
	line-height: 1.2;
}
.home section.right aside.bottom p.block-orange{
	color: #fff;
	font-size: 22px;
	width: 90%;
	min-height: 100px;
	margin-top: 20px;
	padding: 35px 0;
	position: absolute;
	right: 0;
	background-color:#e33b1f;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
.home section.right aside.bottom p.block-orange span{
	background: url('../images/orange-arrow.png') 0 0;
	display: block;
	width: 33px;
	height: 57px;
	position: absolute;
	right: -33px;
	top: 22px;
	z-index: 5;
}
.home section.right aside.bottom p sup{
	font-size: 55%;
}
section.right aside.top p strong{
	display: block;
}
section.right aside.top p sup{
	font-size: 0.6em;
	top: -0.8em;
	margin-left: 3px;
}
section.right .bottom{
	clear: both;
	color: #fff;
	padding: 10px 25px 10px;
	width: 100%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
section.right .bottom p{
	font-size: 30px;
	line-height: 1;
	font-weight: 500;
	margin: 0;
	color: #1a2f5c;
	text-align: center;
}
section.right .bottom p span{
	font-size: 28px;
}
section.right .bottom p span.orange{
	font-size: 30px;
	display: block;
	color: #e84227;
}
section.right .bottom p strong.capital{
	font-size: 42px;
	display: inline;
}
section.right .bottom ul{
	margin: 0;
	padding: 0;
}
section.right .bottom li{
	list-style: none;
	margin: 0 0 6px 0;
}
section.right .bottom li:before{
	content: url("../images/puce_arrow.png");
	display:inline;
	margin-right: 5px;
}
section.form{
	position: relative;
	width: 42%;
	float: right;
	color: #fff;
	z-index: 2;
	padding: 55px 65px;
	background-color:#1b2f5a;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
.home section.form{
	min-height: 750px;
	margin-top: -333px;
	padding: 50px 65px 60px;
	background: transparent url("../images/pxl_transp_form.png") 0 0 repeat;	
}
section.form legend{
	font-size: 0.9em;
	line-height: 1.3em;
	display: inline-block;
	margin-bottom: 15px;
}
section.form legend strong{
	font-size: 1.3em;
	color: #f6a51d;
	display: block;
	margin-bottom: 10px;
}
section.form .form-group .checkbox{
	margin: 15px 0;
}
section.form .form-group .checkbox label{
	font-size: 0.95em;
}
section.form .form-group .checkbox label a{
	color: #fff;
}
section.form .form-group .checkbox label a:hover{
	text-decoration: none;
}
section.form input, section.form select{
	color: #555;
	display: block;
	margin-bottom: 7px;
	width:100%;
	height: 39px;
	font-size: 0.875em;
	border: solid 1px #b9b9b9;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
	padding: 5px 10px;
	transition: all 0.5s ease 0.1s;
}
label{
	font-size:14px;
}
section.form #dt_nai_jj, section.form #dt_nai_mm, section.form #dt_nai_aa{
	width: 55px;
	padding: 2px;
	display: inline-block;
	margin-bottom: 25px;
	font-size: 0.75em;
}
section.form #dt_nai_aa{
	width: 83px;
}
section.form #CD_CIV{
	width: 95px;
}
section.form input:focus, section.form select:focus{
		background-color: #ffd794;
		color: #333;
}
section.form input[type="checkbox"]{
	width: auto;
	height: auto;
	float: left;
	margin: 3px 10px 40px 0;
	border:none;
}
section.form p{
	font-size: 0.75em;
	font-weight: bold;
}
section.form .checkbox p{
	font-weight: normal;
}
section.form p.oblig{
	font-size: 0.75em;
	font-weight: normal;	
	text-align: right;
}
/* footer */
footer{

	color: #fff;
	padding: 0;
}
footer p{
	font-size: 0.65em;
	margin:0;
}
footer a{
	color: #fff;
}
footer a:hover{
	text-decoration: none;
}
.footer-content{
	background-color: #8d8d8d;	
	padding: 10px 10px 25px;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
/* Page confirmation */
.confirmation h3{
	margin: 0;
	font-size: 1.4em;
}
.confirmation main section{
	margin: 0 auto;
	font-family: 'Ubuntu', sans-serif;
	font-weight: 700;
	line-height: 1.1;
}
.confirmation main ol{
	padding: 0;
}
.confirmation section.right aside.top > p{
	font-size: 28px;
	text-align: left;
	line-height: 1.1;
	margin: 15px 0 0;
	color:#1a2f5c;
	font-weight: 700;
	display: block;
}
.confirmation main section.form h2{
	margin: 0;
	color: #f7aa1d;
	font-size:34px;
	padding-bottom:20px;
	text-transform: uppercase;
	border-bottom: 2px dotted #fff;	
}
.confirmation section.right .bottom ul{
	padding: 25px 0 0 65px;
}
.confirmation section.right .bottom li{
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 35px;
	position: relative;
}
.confirmation section.right .bottom li:before{
	content: url("../images/puce_avocotes2.png");
	height: 63px;
	width: 63px;
	position: absolute;
	left: -75px;
	top: -5px;
}
.confirmation section.right .bottom li:first-child::before{
	content: url("../images/puce_avocotes1.png");
}
.confirmation main section.form ul{
	padding: 0 0 0 5px;
}
.confirmation main section.form li{
	margin: 0 10px 25px;
	font-size: 23px;
}
.confirmation section.right .bottom{
	color:#1a2f5c;
}
.confirmation main section .visuel{
	width: 300px;
	height: 100%;
	background-color: #fff;
	float: left;
	padding: 60px 0;
	text-align: center;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
	position: relative;
}
.confirmation main section .visuel img{
	max-width: 224px;
}
.confirmation main section .visuel:before {
	content: url("../images/download-pic.png");
	display: block;
	position: absolute;
	top: 150px;
	left: 85px;
	display: none;
}
.confirmation main section .visuel:hover::before{
	display:block;
	cursor: pointer;
	}
.confirmation main section .confirmation-text{
	width: 560px;
	height: 100%;
	padding: 55px 80px 55px 20px;
	background-color: #fff;
	float: right;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;	
}
.confirmation main section .confirmation-text a{
	text-decoration: none;
	display: block;
	width: 80%;
	margin: 30px auto;
}
.confirmation main section .confirmation-text:after{
	content: "";
	display: block;
	clear: both;
}
/* =============== */
/* == Specifics == */
/* =============== */

@media only screen and (max-width: 1195px) {
	section.form label{
		display:block;
	}
	section.right aside.top .pastille {
		position: absolute;
		left: 110%;
		top: -150px;
	}
	.home section.right aside.top .pastille {
		left: 35%;
		top: -270px;		
	}

}
@media only screen and (max-width: 1000px) {
	.home section.form{
		min-height: 870px;
	}
}
@media only screen and (max-width: 880px) {
	header{
		min-height: 150px;
		height: auto;
	}
	header h1{
		float: none;
		text-align:center;
		margin: 0 auto;
		display: block;
	}
	.header-title{
		width: 80%;
		bottom: 85px;
		display: block;
		margin: 0 auto;
		text-align: center;
		margin-top: 10px;
		border:none;
		padding: 10px 0 25px;		
	}
	.home .header-title{
		width: 58%;
		bottom:-93px;
		left: 0;
		color: #1b2f5a;
		text-shadow:none;	
	}
	.home h1{
		width: 58%;
		margin: 0;
	}	
	header h2, header p{
		font-size:110%;
		color:#fff;
		text-shadow: 2px 2px 3px #333;
	}
	header .header-content{
		background-position:top center;
	}
	section.right aside.top .pastille {
		top: -110px;
		left: 70%;
    }
	section.right aside.top p {
		font-size: 42px;
		line-height: 1.1;
	}
	section.right .bottom li {
		display: block;
	}
	section.form #dt_nai_jj, section.form #dt_nai_mm, section.form #dt_nai_aa{
		width: 100%;
		margin: 5px 0;
	}
	section.form #dt_nai_aa{
		margin-bottom: 10px;
	}
	/* confirmation page */
	.confirmation h3{
		font-size: 1.1em;
	}
	.confirmation main section .visuel{
		height: auto;
		width: 250px;
		padding-top: 30px;
	}
	.confirmation main section .visuel:before {
		left: 60px;
		top: 110px;
	}
	.confirmation main section .visuel img{
	}
	.confirmation main section .confirmation-text{
		width: 55%;
		padding: 30px 20px 80px;
	}
}
@media only screen and (max-width: 670px) {
	.home .pastille{
		display: none;
	}
	.home .header-title{
		bottom: 0px;
	}
	.header-title h2{
		font-size:42px;
	}
	.header-title h2 strong{
		font-size:50px;
	}
}
@media only screen and (max-width: 580px) {
	.desktop{
		display: none;
	}
	.mobile{
		display: block;
	}
	main{
		background-position: center 15%;
		background-size: cover;
	}
	.header-title.mobile{
	display: block;
	margin: 0 auto;
	text-align: center;
	margin-top: 10px;
	border:none;
	bottom:0;
	padding: 10px 0 25px;		
	}
	.header-title h2{
		font-size:42px;
	}
	.header-title h2 strong{
		font-size:50px;
	}
	.home h1{
		width: 100%;
		margin: 0 auto;
	}
	.home section.right aside.bottom {
	    padding-top: 20px;
	    padding-bottom: 0;
	}
	.home section.form{
		margin: auto;
	}
	.home .header-title{
		width: 100%;
	}
	.confirmation header p{
		font-size: 1.4em;
	}
	section.right{
		width: 100%;
		padding: 15px;
	}
	section.right aside.top{
		padding: 0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	}
	section.right aside.bottom p{
		font-size:24px;
	}
	section.right aside.bottom p span{
		font-size:22px;
	}	
	section.right aside.top p, section.right aside.bottom p strong{
		font-size: 32px;
	}
	.home section.right aside.bottom p.block-orange{
		position: relative;
		width: 100%;
		text-align: center;
	}
	.home section.right{
		padding-bottom: 0;
	}
	.home section.right aside.bottom p.block-orange span{
		background: url('../images/orange-arrow2.png') 0 0;
		display: block;
		width: 57px;
		height: 33px;
		position: absolute;
		top: auto;
		right: auto;
		bottom: -33px;
		z-index: 5;
	}	
	section.right aside.top p:after{
		content: "";
		display: block;
		clear: both;
	}	
	section.right aside.top img{
		width: 90px;
		margin: 10px 10px 0; 
	}
	section.right a.btn{
		text-decoration: none;
		width:85%;
		margin: 50px auto 50px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;	
		border-radius: 5px;	
		border:solid 1px #fff;
	}

	section.form{
		width: 100%;
		font-size: 14px;
	}	
	section.form aside{
	}
	section.form ul{
		padding: 0;
		margin: 10px 0 0;
		font-size: 12px;
	}	
	footer{
		padding: 0;
	}
	/* confirmation page */
	.confirmation main section{
		height: auto;
	}
	.confirmation main section .visuel{
		width: 245px;
		display:block;
		float: none;
		text-align: center;
		padding: 10px; 
		margin: 0 auto 3px;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	}
	.confirmation main section .visuel:before {
		left: 25%;
	}
	.confirmation main section .visuel img{
		width: auto;

	}	
	.confirmation main section .confirmation-text{
		width: 100%;
		padding: 20px;
	}
}