html{
	width:100%;
	height:100%;
    margin: 0;
    padding: 0;
}
body {
    font-family: Arial, helvetica, sans-serif;
	color:#fff;
    margin: 0;
    padding: 0;
	width:100%;
	min-height:150%;
	background-color:#20352b;
	//background-image:url('images/background1.png');
	//background-size:cover;
	//background-repeat: no-repeat;
	//background-position: center center;
	//background-attachment: fixed;
    box-sizing: border-box;
	font-size:16px;
}
.bg-fixed {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100dvh;              /* <= évite les sauts de barre d’adresse */
  background: url(images/background1clair.jpg) center / cover no-repeat;
  z-index: -1;
  pointer-events: none;        /* ne bloque aucun clic/scroll */
  will-change: transform;      /* hint de compositing (aide Safari parfois) */
  opacity:0.7;
}
.bg-fixed2 {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100dvh;              /* <= évite les sauts de barre d’adresse */
  background: url(images/background2clair.jpg) center / cover no-repeat;
  z-index: -1;
  pointer-events: none;        /* ne bloque aucun clic/scroll */
  will-change: transform;      /* hint de compositing (aide Safari parfois) */
  opacity:0.6;
}
.bg-fixed3 {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100dvh;              /* <= évite les sauts de barre d’adresse */
  background: url(images/background3clair.jpg) center / cover no-repeat;
  z-index: -1;
  pointer-events: none;        /* ne bloque aucun clic/scroll */
  will-change: transform;      /* hint de compositing (aide Safari parfois) */
}
.bg-fixed4 {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100dvh;              /* <= évite les sauts de barre d’adresse */
  background: url(images/background4.jpg) center / cover no-repeat;
  z-index: -1;
  pointer-events: none;        /* ne bloque aucun clic/scroll */
  will-change: transform;      /* hint de compositing (aide Safari parfois) */
}
a{
	text-decoration: none;
	color: inherit;
}
img{
	vertical-align:middle;
}
h3{
	margin-top:0;
	margin-bottom:5px; 
	color:#c5f542;
}


table, tr, td{
	padding:0;
	margin:0;
	border:0;
	vertical-align:top;
}
.page{
	width:1200px;
	max-width:100%;
	margin:0 auto;
	color:#fff;
}
#logo{
	float:left;
}
.clear{
	clear:both;
}

.home_left{
	float:left;
	width:50%;
}
.home_right{
	float:right;
	width:50%;
}
#accroche{
	font-size:2em;
	font-weight:bold;
	opacity:0.9;
	padding-top:25px;
	line-height:1.4em;
}
#accroche2{
	opacity: 0.9;
    padding-top: 15px;
    letter-spacing: 4px;
    font-style: italic;
    color: #c5f542;
}
#menu_home{
	float:left;
	width:100%;
}
.menu_home_item{
	float:left;
	cursor:pointer;
	margin: 1%;
	color:#fff;
	width:48%;
	max-width:140px;
	height:120px;
	border:1px solid #888;
	border-radius:5px;
	text-align:center; 
}
.menu_home_item img{
	width: 40px;
    margin: 25px 0 10px 0;
}
.menu_home_item:hover{
	background-color:rgba(0,0,0,0.15);  
	color:#c5f542;
}
.left50{
	float:left;
	width:50%;
}
.right50{
	float:left;
	width:50%;
}
.callselecthome{
	width:250px;
	padding:0 4%;
	background-color:rgba(0,0,0,0.2);
	color:#fff;
	border-radius:5px;
	line-height:35px;
	cursor:pointer;
	background-image:url('images/fleche_bas.png');
	background-repeat:no-repeat;
	background-position:center right 10px;
	background-size: auto 16px; 
	border:1px solid #c0c0c0;
}
.listehome{
	margin-top:5px;
	width:88%;
}
.listehomeitem{
	margin: 3px 0 0 7px; 
    padding: 5px 10px;
    background-color: rgba(0,0,0, 0.6);
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
}
.listehomeitem:hover{
    background-color: #c3f442;
    color: #000; 
}
.cpf{
	float:right;
	font-size:10px;
	font-weight:bold;
	color:#c0c0c0;
	padding-top:6px;
	margin-left:5px;
}
.trait{
	display: none;
    float: right;
    margin-right: -40px;
    height: 1px;
    background-color: #c5f542;
    width: 30px;
    margin-top: 12px;
}

.onglet_formation{
	width:44%;
	padding:5px 2%;
	color:#c5f542;
	font-size:1.2em;
	cursor:pointer;
	background-color:rgba(0,0,0,0.3);
	float:left;
	text-align:center;
	border-radius:15px 15px 0 0;
	margin-left:1%;
}
.onglet_formation_on{
	width:44%;
	padding:5px 2%;
	font-size:1.2em;
	font-weight:bold;
	background-color:rgba(0,0,0,0.95);
	float:left; 
	text-align:center;
	border-radius:15px 15px 0 0;
	margin-left:1%;
}
.lien_onglet_formation{ 
	text-align: center;
    background-color: #c5f542;
	color:#000;
    width: 300px;
    margin: 20px auto;
    padding: 10px;
    border-radius: 5px;
	cursor:pointer;
	line-height: normal;
	max-width: 100%;
    box-sizing: border-box;
}
.lien_onglet_formation:hover{ 
    background-color: rgba(0,0,0,0.6);
	color:#c5f542;
	box-shadow: 0 0 10px 1px rgba(92,175,1,0.6); 
}

.versionpdf{
	float: right;
    padding: 10px;
    background-color: rgba(92,175,1,0.6);
	color:#fff;
    border-radius: 5px;
    margin-top: -15px;
}
.versionpdf:hover{
    background-color: rgba(0,0,0,0.6);
	color:#c5f542;
	box-shadow: 0 0 10px 1px rgba(92,175,1,0.6);
}

/* Style pour le fond plein écran */
.lightbox-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}

/* L’image en grand */
.lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0,0,0,0.5);
}

/* Bouton de fermeture */
.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 30px;
  color: white;
  cursor: pointer;
  z-index: 1001;
  user-select: none;
}

.promo-block {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 40px;
}	

@media screen and (min-width: 769px) {
    body {
	  font-size:1em;
	  line-height:1.4em;
	}
	.mobile{
		display:none;
	}
	.desktop{
		display:block;
	}	
	#menu_top{
		float:left;
	}
	.menu_top_item{
		float:left;
		padding:10px;
		border-radius:5px;
		cursor:pointer;
		margin-top: 20px;
		margin-left: 25px;
		color:#fff;
	}
	.menu_top_item_on{
		float:left;
		padding:10px;
		border-radius:5px;
		font-weight:bold;
		margin-top: 20px;
		margin-left: 40px;
		color:#fff;
		color:#c5f542;
		cursor:auto;
	}
	.menu_top_item:hover{
		background-color:rgba(0,0,0,0.15);   
		color:#c5f542;
	}
	#bandeau_bottom{
		position:absolute; 
		background-color:rgba(0,0,0,0.4);
		height:40px;
		left:0;
		width:100%;
		text-align:center;
		font-size:0.8em;
	}
	.popin_form{
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1000; /* pour qu’elle reste au-dessus */
		background: #31473f;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 91);
		border-radius: 8px;
		max-width: 95%;
		max-height: 95%;
		overflow: clip;
		color:#fff;
	}
	.formation_colgauche{
		float:left;
		width:35%;
	}
	.formation_colgauche_vignette{
		margin-bottom:20px;
		max-width: 317px;
		cursor:pointer;
	}
	.formation_coldroite{
		float:left;
		width:65%;
	}
	.custom-li {
		position: relative;
		padding-left: 2em;
		list-style: none;
		margin:10px 10px 10px 30px;
		padding-top:4px;
	}
	.custom-li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.6em;
		width: 1.2em;
		height: 1.2em;
		background-image: url('/_new/images/puce.png');
		background-size: contain;
		background-repeat: no-repeat;
	}
	.formation_alternative{
		cursor:pointer;
		padding: 10px;
		float: left;
		width: 200px;
		min-height: 100px;
		margin: 10px;
		border-radius: 5px;
		background-color: rgba(0,0,0,0.6);
		color:#fff;
		line-height: 1em;
		font-size: 1em;
	}
	.formation_alternative:hover{
		//background-color: rgba(92,175,1,0.6); 
		color:#c5f542;
		box-shadow: 0 0 10px 1px rgba(92,175,1,0.6);
	}
	h1{
		font-size: 1.8em;
		line-height: 1.2em;
	}
	.onglet_recherche{
		float:left;
		background-color:#000;
		color:#c5f542;
		border-radius:5px 10px 0 0;
		cursor:pointer;
		margin-right:5px;
		padding: 6px 20px;
	}
	.onglet_recherche_actif{
		float:left;
		background-color:#c5f542;
		color:#000;
		border-radius:5px 10px 0 0;
		cursor:pointer;
		margin-right:5px;
		padding: 6px 20px;
	}
	#loginbox{
		border-radius: 6px; position: absolute; margin-top: 30px; margin-left: -120px; background-color: rgb(0, 0, 0); padding: 15px; color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 10px 0px;z-index: 100;
	}
}
	
	.file { cursor: pointer; display: flex; align-items: center; padding: 10px; background-color: rgba(0, 0, 0, 0.2); margin-bottom: 10px; border-radius: 5px; } 
	.file:hover { background-color: rgba(0,0,0,0.6); color: #c5f542; box-shadow: 0 0 10px 1px rgba(92,175,1,0.6); } 
@media screen and (max-width: 768px) {
    body {
	  font-size:1em;
      padding: 15px;
	  line-height:1.4em;
	}
	.mobile{
		display:block;
	}
	.desktop{
		display:none;
    }
	#menu_top{
        display:none;
		background-color: rgba(255,255,255, 0.75);
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        z-index: 10000;
        top: 0;
        border-radius: 5px;
	}
	.menu_top_item{
		padding: 8px 15px; 
        border-radius: 5px;
        cursor: pointer;
        margin-left: 25px;
        margin: 8px 15px;
        background-color: #222;
        color: #c5f542;
        color: #fff;
		font-size:1em;
	}
	.menu_top_item_on{
		padding: 15px;
        border-radius: 5px;
        cursor: pointer;
        margin-left: 25px;
        margin: 15px;
        background-color: #000;
		color:#c5f542;
		font-size:1em;
	}
	.menu_top_item:hover{
		//background-color:rgba(0,0,0,0.15);  
		color:#c5f542;
	}

    .home_left, .home_right, #search > div, .listehome {
      width:95%;
      float: none !important;
      text-align: center;
	  box-sizing: border-box;
    }

    .callselecthome, #search {
      width:100%;
      float: none !important;
      text-align: center;
	  box-sizing: border-box;
    }

    .home_left, .home_right {
      margin: 0 auto;
    }

    img {
      max-width: 100%;
      height: auto;
    }

    .clear {
      display: block;
      height: 0;
      clear: both;
    }

    .promo-block {
      flex-direction: column;
      align-items: center;
    }

    .topnav, .topnav ul {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    .topnav li {
      width: 100%;
      padding: 10px 0;
    }
	#bandeau_bottom{
		position:absolute; 
		background-color:rgba(0,0,0,0.4);
		height:40px;
		left:0;
		width:100%;
		text-align:center;
		font-size:0.8em;
	}
	.popin_form{
		position: fixed;
		top: 1%;
		left: 2%;
		z-index: 1000; /* pour qu’elle reste au-dessus */
		background: #31473f;
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 91);
		border-radius: 8px;
		width: 96%;
		height: 98%;
		overflow: clip;
		color:#fff;
	}
	.formation_colgauche{
		display:none;
	}
	.formation_coldroite{
	}
	.custom-li {
		position: relative;
		padding-left: 2em;
		list-style: none;
		margin:10px 0 10px 0;
		padding-top:4px;
	}
	.custom-li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.6em;
		width: 1.2em;
		height: 1.2em;
		background-image: url('/_new/images/puce.png');
		background-size: contain;
		background-repeat: no-repeat;
	}
	.formation_alternative{
		cursor:pointer;
		padding: 10px;
		margin: 10px 0;
		border-radius: 5px;
		background-color: rgba(0,0,0,0.6);
		color:#fff;
		line-height: 1em;
		font-size: 1em;
	}
	.formation_alternative:hover{
		//background-color: rgba(92,175,1,0.6); 
		color:#c5f542;
		box-shadow: 0 0 10px 1px rgba(92,175,1,0.6);
	}
	h1{
		font-size: 1.5em;
		line-height: 1.2em;
	}
	#loginbox{
		/* border-radius: 6px; */
        /* position: absolute; */
        /* margin-top: 36px; */
        /* margin-left: -13px; */
        background-color: rgb(0, 0, 0);
        padding: 15px;
        color: rgb(255, 255, 255);
        /* box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 10px 0px; */
        top: 0;
        left: 0;
        /* transform: translateY(-50%); */
        position: fixed;
        height: 100%;
        width: 100%;
        border-radius: 0;
	}
}

.modifiable.editable {
  cursor: text;
  border-left: 5px solid red;
  display: inline-block; /* ou block, selon ton cas */
  padding-left: 6px;      /* pour ne pas coller le texte à la bordure */
}
.modifiable.editable:hover {
  background-color:rgba(255,255,255,0.1);
}

.btn-sauvegarde {
  display: inline-block;
  background-color: green;
  color: white;
  font-size: 1em;
  padding: 2px 6px;
  margin-left: 5px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}
#btnUnlink:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.rtf-icon {
  width: 28px;
  height: 28px;
  background-image: url('images/icones_rtf_30ok.png');
  background-repeat: no-repeat;
  border: none;
  background-color: transparent;
  cursor: pointer;
  border:1px solid #ddd;border-radius:4px;
}

.bold     { background-position: 2px -1px;}
.italic   { background-position: -17px -1px; }
.underline{ background-position: -37px -1px; }
.link     { background-position: -58px -1px; }
.unlink   { background-position: -80px -1px; }

.rtf-icon:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.check_email{
	border-radius:4px;
	margin-top:2px;
}

#demandez_un_devis{
	padding:20px;
	background-color:#222;
	color:#ffcc00;
	border-radius:5px;
	text-align:center;
	cursor:pointer;
	font-weight:bold;
	width:277px;
	margin-bottom: 40px;
	transition: all 0.3s ease;
	z-index: 999;
}
#demandez_un_devis.fixed {
	position: fixed;
	top: 10px;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 1);
	border: 4px solid #ffcc00;
    margin-left: -3px;
}

#demandez_un_devis_mobile{
	padding:2%;
	background-color:#222;
	color:#ffcc00;
	border-radius:5px;
	text-align:center;
	cursor:pointer;
	font-weight:bold;
	width:96%;
	margin-bottom: 40px;
	transition: all 0.3s ease;
	z-index: 999;
}
#demandez_un_devis_mobile.fixed {
	position: fixed;
	top: 10px;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 1);
	border: 4px solid #ffcc00;
    margin-left: -3px;
	padding:2%;
	width:88%;
}
.popin_form input, textarea, select{
	border:1px solid #c0c0c0;
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	width:96%;
	padding:10px 2%;
	border-radius:5px
}
#fond_popin{
	position: fixed;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
	z-index: 1000; /* pour qu’elle reste au-dessus */
	background: rgba(0,0,0,0.6); /* facultatif, pour bien voir la div */
}
.btn_fermeture {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 1001;
}
.titre_popin {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 300px;
	height: 30px;
	z-index: 1001;
	font-size:1.5em;
	font-weight: bold;
}

/* Contenu scrollable à l’intérieur de .popin_form */
.popin_contenu {
	margin-top:50px;
	max-height: calc(96vh - 50px);
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 30px;
}
#form_submit_message,#form_confirm_message{
	position: fixed;
    top: 50%;
    left: 50%;
    background: #fff;
    z-index: 2000;
    transform: translate(-50%, -50%);
    padding: 20px;
    color: #000;
	border-radius:5px;
}
.btn-change-image{
	border-left: 10px solid red;
	padding: 5px 10px;
}
.btn-delete-image{
	padding: 5px 10px;
}