@charset "utf-8";
/* CSS Document */

body {
	margin:0px;
	padding:0px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:1.42857143;
	color:#333;
}


.topBarSection {
	margin:10px 0px;
	padding:0px;
}

.topBarSection img a:hover, img a:active, img a:focus {
	outline:none;
}

.topBarContent {
	margin:20px 0px;
	padding:0px;
	text-align:right;
}
#troisEtapes{
	text-align:center;
	margin-top: 35px;
}
	

@media only screen and (max-width: 768px) and (min-width: 300px) 
{
	.topBarContent {
		margin:20px 0px;
		text-align:left;
	}
}

.topBarContent h6 {
	margin:0px;
	padding:0px 0 7px 0;
	color:#ef4f44;
	font-size:16px;
	font-weight:bold;
}

.topBarContent p {
	margin:0px;
	padding:0px;
	color:#535353;
	font-size:13px;
}

.headerSection {
	/* margin:0px; */
	padding: 40px 0px;
	min-height: 400px;
	margin-bottom: -40px;
	/* padding:60px 0px; */
	background:url(../images/header.webp) center center no-repeat;
	background-size:cover;
}

/* Image header allégée pour mobile (25KB vs 114KB) + hauteur réservée pour éviter le CLS */
@media (max-width: 768px) {
	.headerSection {
		background-image: url(../images/header-mobile.webp);
		min-height: 520px;
	}
}

.headerBlackText {
	/* margin:130px 0 0 0px; */
	/* padding:10px 10px; */
	background:rgba(0, 0, 0, 0.6);
	width:auto;
}

.headerBlackText p {
	margin:0px;
	padding:0px;
	color:#fff;
	font-size:26px;
	font-weight:bold;
}


.headerRedText {
	margin:30px 0 0 0px;
	padding:20px 10px;
	background:rgba(203, 4, 27, 0);
	width:auto;
	text-align:center;
}

.headerRedText:hover {
	/* background:rgba(203, 4, 26, 0.9);
	ackground:rgba(203, 4, 26, 0.9); */
}

.headerRedText p {
	margin:0px;
	padding:0px;
	color:#fff;
	font-size:18px;
}

.headerRedText p a {
	color:#fff;
	text-decoration:none;
}

@media only screen and (max-width: 768px) and (min-width: 300px) 
{
	.headerSection {
		padding:20px 0px;
		margin-bottom: 0px!important;
	}
	
	.headerBlackText {
		margin:10px 0 0 0px;
	}
	
	.headerRedText {
		margin:10px 0 0 0px;
	}
}

.threeBarSection {
	margin:0px;
	padding:0px;
	background:url(../images/bar1.jpg) top repeat-x;
	vertical-align:top;
}

.threeBarHeading {
	margin:0px;
	padding:0px;
	background:url(../images/bar1.jpg) top repeat-x;
	vertical-align:top;
}

.threeBarHeading h3 {
	margin:0px;
	padding:10px 0 0 0px;
}

.threeBarHeading h3 span {
	margin:0px;
	padding:8px 15px;
	background:#0a334e;
	border-radius:50%;
	color:#fff;
	font-size:20px;
	width:100px;
	height:100px;
	font-weight:bold;
}

.threeBarHeading h3 strong {
	margin:0px;
	padding:0px;
	color:#fff;
	font-size:20px;
}

.threeBarSection img {
	margin:30px 0 20px 0;
	padding:0px;
	text-align:center;
}

.threeBarSection p {
	margin:0;
	padding:0px;
	color:#535353;
	font-size:14px;
}

.threeBarSeprator {
	margin:0px;
	padding:0px 5px;
	border-right:#d4d4d4 1px solid;
	min-height:260px;
}

@media only screen and (max-width: 768px) and (min-width: 300px) 
{
	.threeBarSeprator {
		padding:0px 0px;
		border-right:none;
	}
	
	.threeBarHeading {
		padding:0px 10px;
		height:50px;
	}
}

.homeContentSection {
	margin:50px 0 0 0px;
	padding:0px;
}

.homeContentSection h1 {
	margin:0px;
	padding:0px 0 15px 0;
	color:#A42823; /* old: #ef4f44 */
	font-size:28px;
}

.homeContentSection h2 {
	margin:0px;
	padding:20px 0 10px 0;
	color: #1A5C89; /* old: #0a6bab */
	font-size:20px;
}

.homeContentSection p {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
}

.homeContentSection ul {
	margin:0px;
	padding:10px 0 15px 15px;
}

.homeContentSection ul li {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
}

.footerTopSection {
	margin:0px;
	padding:40px 0 30px 0px;
	background:#efefef;
}

.footerTopSection span {
	margin:0px 0 0 0px;
	padding:0px 0 15px 0;
	color:#A42823; /* old: #ef4f44 */
	font-size:18px;
	font-weight:bold;
}

.footerTopSection ul {
	margin:10px 0 0 15px;
	padding:0px;
}

.footerTopSection ul li {
	margin:0px 0 0 0px;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
	list-style:square;
}

.footerTopSection ul li a {
	color:#535353;
	text-decoration:none;
}

.footerTopSection ul li a:hover {
	color:#ef4f44;
	text-decoration:none;
}

.footerTopSection p {
	margin:0;
	padding:0px 0 0px 0;
	color:#535353;
	font-size:24px;
}

@media only screen and (max-width: 767px) and (min-width: 300px) 
{
	.footerTopSection {
		padding:10px 0 30px 0px;
	}
	
	.footerTopSection span {
		padding:30px 0 15px 0;
	}
}

.footerMidSection {
	margin:20px 0 20px 0px;
	padding:0px;
}

.footerMidSection p {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:11px;
}

.footerBottomSection {
	margin:0px;
	padding:10px 0 10px 0px;
	background:#1A5C89; /* old: #2582c0 */
	border-top:#0a334e 2px solid;
}

.footerBottomSection p {
	margin:0;
	padding:0px 0 0px 0;
	color:#fff;
	font-size:14px;
}

.footerBottomSection p a {
	color:#fff;
}


/* Inner Page  */
.innerPage {
	margin:40px 0 0 0px;
	padding:0px;
}

.innerPage h1 {
	margin:0px;
	padding:0px 0 15px 0;
	color:#ef4f44;
	font-size:28px;
}

.innerPage h2 {
	margin:0px;
	padding:20px 0 10px 0;
	color:#0a6bab;
	font-size:20px;
}

.innerPage h3 {
	margin:0px;
	padding:0px 0 10px 0;
	color:#0a6bab;
	font-size:16px;
}

.innerPage p {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
}

.innerPage ul {
	margin:0px;
	padding:10px 0 15px 15px;
}

.innerPage ul li {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
}

.innerPage table th.bluebg, td.bluebg {
	margin:0px;
	padding:9px;
	background:#b8d8ee;
	color:#535353;
	font-size:14px;
	font-weight:bold;
}

.innerPage table td.withoutbg {
	padding:9px 9px;
	margin:0px;
	font-size:14px;
	vertical-align:top;
}

/* Application Page  */
.applicationPage {
	margin:40px 0 0 0px;
	padding:0px;
}

.applicationPage h1 {
	margin:0px;
	padding:0px 0 15px 0;
	color:#ef4f44;
	font-size:28px;
}

.applicationPage h2 {
	margin:0px;
	padding:20px 0 10px 0;
	color:#0a6bab;
	font-size:20px;
}

.applicationPage h3 {
	margin:0px;
	padding:0px 0 10px 0;
	color:#0a6bab;
	font-size:16px;
}

.applicationPage p {
	margin:0;
	padding:0px 0 10px 0;
	color:#535353;
	font-size:14px;
}

.red {
	color:#F00;
}

.applicationPage input[type="text"], input[type="radio"], input[type="checkbox"], select {
	margin:0px 0px 20px 0;
	padding:0px;
	border-radius:0px!important;
}

.applicationPage input[type="submit"] {
	margin:20px 0px 20px 0;
	padding:10px 20px;
	border-radius:0px!important;
	background:#cb041a;
	color:#fff;
	border:0px;
	font-size:15px;
	font-weight:bold;
	text-transform:uppercase;
}

/* =====================================================
   Classes custom (absentes de bootstrap.min.css)
   ===================================================== */

/* Bouton principal — #B71C1C sur blanc = 6.55:1 (passe WCAG AA) */
.btn-apply {
	display: inline-block;
	background: #B71C1C;
	color: #fff !important;
	font-size: 1.1em;
	font-weight: 600;
	padding: 10px 30px;
	border-radius: 10px;
	text-decoration: none !important;
	transition: background 0.2s;
}
.btn-apply:hover,
.btn-apply:focus {
	background: #7f1515;
	color: #fff !important;
	text-decoration: none !important;
}
.min-w-md { min-width: 220px; }

/* Alignement flex du nav desktop */
@media (min-width: 768px) {
	.row-align-center-desktop { display: flex; align-items: center; }
}

/* Utilitaires responsive */
@media (max-width: 767px) {
	.mt-sm-3 { margin-top: 1rem !important; }
	.mb-sm-3 { margin-bottom: 1rem !important; }
	.justify-content-center-sm { display: flex; justify-content: center; }
	.my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
}

/* Texte de la nav — couleur sombre pour contraste suffisant (#444 = 9.7:1 sur blanc) */
.navTop p, .navTop .nav-link { color: #444 !important; }

/* FAQ */
.reponse-faq p { font-size: 14px; color: #535353; }

.faq-link {
	color: #111 !important;
	background: none;
	border-radius: 4px;
	padding: 10px 12px;
	text-decoration: none;
	transition: background 0.2s;
	display: inline-block;
	min-width: 220px;
	font-size: 1.1em;
}
.faq-link:hover, .faq-link.active {
	background: rgba(255, 224, 102, 0.78);
	color: #111 !important;
	text-decoration: none;
}
#faq-short-list li { margin-bottom: 10px; line-height: 1.5; }

@media (max-width: 600px) {
	.faq-link { min-width: 90vw; font-size: 1.15em; padding: 14px 8px; }
}