/**************************************************************EN TETE DU SITE***********************************************************************/
/*Définit la hauteur de l'entête*/
#entete 
{
	height 	: 85px; 
	background-color: #051D40;
}

.ent_men 
{ 
	display : none; 
	background-color: #051D40;
}

.men_mob_soc 
{ 
	display : flex;
}


.men_mob_soc .ent_soc_mob 
{
	height 				: 85px;
	background-color: #051D40;
	color				: #FFFFFF;
}

.ent_soc img 
{
	width 	: 25%;
}

.ent_men_mob 
{
	height 	: 100%;
	margin-right: 50px;
	align-content: center;
}

.ent_men_mob_ico 
{
	width			: 100%;
	height			: 100%;
	display 		: flex;
	justify-content : center;
	align-items		: center;
	font-family 	: Poppins;
	font-weight  	: 300;
	font-size		: 18px;
	line-height		: 19px;
	letter-spacing 	: 0.24px;
	color			: white;
}

.ent_men_mob_ico div:nth-child(2) 
{ 
	margin-left : 12px;
}

.ent_men_mob_ico div:nth-child(2) img 
{
	height : 25px;
	width : 30px;
}

#ent_men_mob_list 
{
	position			: absolute;
	top					: 0px;
	background-color: #051D40;
	width 			 	: 100%;
	z-index: 10;
}

.ent_gen_mob 
{
	height 		: 85px;
	display 	: flex;
	justify-content: space-between;
}

.ent_gen_mob div.ent_soc_mob 
{
	background-color: #051D40;
	color 				: #FFFFFF;
	align-content: center;
}

.ent_gen_mob div.ent_men_mob 
{
	display 		: flex;
	justify-content : center;
	align-items		: center;
}

.ent_gen_mob img 
{
	height 		: 55%;
	align-content: center;
}

.ent_gen_mob_list 
{
	display    				: grid;
    grid-template-columns 	: repeat(2, 1fr);
	grid-template-rows	 	: repeat(3, 27px);
	grid-row-gap			: 30px;
	margin 	 				: 25px 30px 25px 30px;
	font-family				: Poppins;
	font-size 				: 14px;
	line-height 			: 21px;
	font-weight 			: 500;
	text-transform			: uppercase;
}

.ent_gen_mob_list div 
{
	margin-left : 40px;
	align-self	: center;
}

.ent_gen_mob_list a 
{
	text-decoration : none;
	color 			: #FFFFFF;
}

.ent_gen_mob_list div.men_sel 
{
	background-image	: linear-gradient(white, white);
	background-size		: 100% 1px;
	background-repeat	: no-repeat;
	background-position	: 0% 100%;
	width				: max-content;
}

.ent_gen_mob_list div.men_sel a 
{
	font-size 	: 18px;
	line-height : 27px;
}

.men_mob_lig 
{
	border-bottom  	: solid 1px #FFFFFF;
	margin			: 0px 40px 40px 40px;
}

.ent_soc img 
{
	width: 30%;
}

/**********************************************************POSITIONNEMENT DE LA PAGE***********************************************************************/
#page 
{
	min-height : calc(100vh - 299px);				/*(minimum la hauteur restante du navigateur en retirant entete et pied)*/
}

.page_int 
{
	min-height 		 : calc(100vh - 299px);
	display	   		 : block;	
	background-color : #D5DDE8;
	padding-top	  	 : 51px;
}

.fond_droite 
{
	padding 	: 40px 40px 40px 40px;
}

.fond_droite > div.ligne 
{
	width : 71px;
}

.titre_noir 
{
	font-size 		: 15px;
	line-height 	: 20px;	
	margin-bottom 	: 12.5px;
}

.ligne_noir 
{
	width 	: 80px;
	margin 	: auto;
}

.txt_gauche 
{
	border-top	  	: solid 1px black;
	font-size 	  	: 15px;
	line-height   	: 35px;
	margin-left   	: 40px;
	margin-right   	: 40px;
	padding-bottom 	: 50px;
}

.titre 
{
	display 		: block; 
	font-family 	: Playfair Display;
	font-weight 	: bold;
	color 			: #000000;
	font-size 		: 30px;
	line-height 	: 36px;
	margin-top  	: 10px;
	padding-bottom 	: 30px;
	text-align 		: left;
}

.titre_bas 
{
	display : none;
}

/**************************************************************ACCUEIl***********************************************************************/
.acc_top 
{
	background-image 	: url("images/code.jpg");
	background-position : bottom 102px right;
	background-repeat	: no-repeat;
	background-size		: 100% 256px;
}

.acc_txt 
{
	margin-left : 35px;
	justify-items: center;
}

.savoir-faire-titre 
{
	font-size 		: 25px;
	line-height		: 30px;
	letter-spacing 	: 2.31px;
	padding-top 	: 25px;
	text-align: center;
}

.a-votre-service 
{
	font-size: 45px;
	color: #051D40;
}

.acc_liens 
{
	margin 	: 22px 39px 35px 39px;
}

.liens_btn 
{
	width	 : 220px;
	height	 : 38px;
	border-radius	: 6px;
}

.liens_btn img 
{
	height : 12px;
}

.liens_btn a 
{
	margin-left 	: 10px;
	font-size 		: 16px;
	font-weight		: bold;
	line-height 	: 20px;
	letter-spacing 	: 0px;
	margin-right	: 10px;
}

.acc_infos 
{
	display 		: block;
	text-align		: center;
	width			: 100%;
	font-size		: 14px;
	line-height 	: 24px;
	padding-bottom 	: 15px;
	padding-top 	: 15px;
}

.acc_bottom 
{
	padding-top  	: 40px;
	padding-bottom  : 66px;
}

.acc_sol_titre 
{
	font-size 		: 25px;
	line-height 	: 30px;
}

.acc_sol_ligne 
{
	width 		  	: 45px;
	padding-top 	: 15px;
	margin-bottom 	: 62px;
}

.acc_sol_int 
{
	width 		: 257px;
}

.acc_sol_pave 
{
	height 		: 203px;
	width		: 257px;
}

.acc_sol_pave img 
{
	height	: 36px;
}

.acc_sol_int .acc_sol_pave 
{
	border-bottom : solid 1px #E2E2E2;
}

.acc_sol_pave div:nth-child(1) 
{
	margin-top : 21px;
}

.acc_sol_pave div:nth-child(2) 
{
	font-size 	: 15px;
	line-height : 18px;
	margin-top 	: 17px;
}

.acc_sol_pave div:nth-child(3) 
{
	font-size 	: 10px;
	line-height : 15px;
	width		: 68%;
	margin	 	: 11px auto 0px auto;
}

/**************************************************************HORLOGE A BASCULE***********************************************************************/

#years .segment-overlay,
#days .segment-overlay 
{
  width: 60px;
}

#years .time-segment,
#days .time-segment 
{
  width: 60px;
  font-size: 60px;
}
  
.countdown 
{
  display: flex;
  flex-direction: column;
  font-weight: bold;
  font-size: 15px;
  font-family: Poppins;
  color: #051D40;
  justify-content: space-between;
}

 
.yearday, .hourminsec 
{
  display: flex;
  flex-direction: row;
  gap : 13px; /* Espace entre les segments */
  justify-content: center;
}


.time-section 
{
  text-align: center;
  font-size: 13px; /* Taille de police pour les titres */
}
  
.time-group 
{
  display: flex;
  gap: 5px; /* Espace entre les segments */
}
  
.time-segment
{
  display: block;
  font-size: 32px; /* Taille de police des chiffres*/
  font-weight: 900;
  width: 32px; /* Largeur des segments */
}
  
.segment-display 
{
  position: relative;
  height: 100%;
}
  
.segment-display__top,
.segment-display__bottom 
{
  overflow: hidden;
  text-align: center;
  width: 100%;
  height: 50%;
  position: relative;
}
  
.segment-display__top 
{
  line-height: 1.5;
  color: #eee;
  background-color: #051D40;
}
  
.segment-display__bottom 
{
  line-height: 0;
  color: #fff;
  background-color: #0a2b5e;
}
  
.segment-overlay 
{
  position: absolute;
  top: 0;
  perspective: 400px;
  height: 100%;
  width: 32px; /* Largeur de l'overlay */
}
  
.segment-overlay__top,
.segment-overlay__bottom 
{
  position: absolute;
  overflow: hidden;
  text-align: center;
  width: 100%;
  height: 50%;
}
  
.segment-overlay__top 
{
  top: 0;
  line-height: 1.5;
  color: #fff;
  background-color: #051D40;
  transform-origin: bottom;
}
  
.segment-overlay__bottom 
{
  bottom: 0;
  line-height: 0;
  color: #eee;
  background-color: #0a2b5e;
  border-top: 2px solid black;
  transform-origin: top;
}
  
.segment-overlay.flip .segment-overlay__top 
{
  animation: flip-top 0.8s linear;
}
  
.segment-overlay.flip .segment-overlay__bottom 
{
  animation: flip-bottom 0.8s linear;
}
  
@keyframes flip-top 
{
  0% 
  {
    transform: rotateX(0deg);
  }
  50%,
  100% 
  {
    transform: rotateX(-90deg);
  }
}
  
@keyframes flip-bottom 
{
  0%,
  50% 
  {
    transform: rotateX(90deg);
  }
  100% 
  {
    transform: rotateX(0deg);
  }
}

/************************************************************PAGE CLIENT******************************************************************/
.clients 
{
	grid-template-columns	: repeat(4, 133px);
	grid-column-gap			: 30px;
  grid-row-gap			: 20px;
	justify-content			: center;
}

.clients img 
{
	height 		: 99px;
	width		: 133px;
	object-fit 	: contain;
}

/************************************************************PAGE EQUIPE******************************************************************/
.equipe 
{
	grid-template-columns	: repeat(3, 193px);
	grid-template-rows		: repeat(2, 303px);
	grid-column-gap			: 99px;
  grid-row-gap			: 142px;
	justify-content			: center;
	align-items				: center;
}

.equipe div.eq_princ:nth-child(2) 
{
	grid-row-start 		: 1;
	grid-row-end   		: 3;
	grid-column-start: 	2;
	grid-column-end 	: 3;
}

.equipe img 
{
	margin-top  : 24px;
	height 		: 177px;
	width		: 137px;
	object-fit 	: contain;
}

.eq_princ 
{
	font-size 	: 10px;
	line-height : 18px;
	height		: 257px;
}


.eq_princ div:nth-child(2) 
{
	margin-top : 10px;
}

/************************************************************PAGE CONTACT******************************************************************/
.ctc_info 
{
	font-size 		: 18px;
	line-height	 	: 33px;
	float 			: right;
	height 			: 190px;
	margin-top 		: 35px;
}

.ctc_info > div div:nth-child(1) 
{
	height 		: 29px;
	margin-top 	: 3.5px;
}

.ctc_info img 
{
	height : 29px;
}

.ctc_info > div:nth-child(n+2) 
{
	margin-top : 27px;
}

.ctc_info > div div:nth-child(2) 
{
	margin-left : 18px;
}

.ctc_map 
{
	width		: 300px;
	float 		: left;
	height 		: 190px;
	margin-top 	: 35px;
}

.ctc_input, .team_input 
{
	width 			: 566px;
	font-size 		: 12px;
	line-height 	: 21px;
	padding		 	: 48px 105px 45px 105px;
	margin-top		: 40px;
}

.ctc_msg, .team_msg 
{
	font-size 		: 12px;
	line-height 	: 25px;
	margin-top  	: 30px;
	margin-bottom 	: 20px;
}	

.ctc_input > div label, .team_input > div label 
{
	display 	  : block;
	margin-bottom : 9px;
}

.ctc_input input[type=text], .ctc_input textarea 
{
	font-size 		: 12px;
	line-height 	: 34px;
	width 			: 356px;
	padding			: 0px 10px 0px 10px;
}

.team_input input[type=text], .team_input textarea 
{
	font-size 		: 12px;
	line-height 	: 31px;
	width 			: 356px;
	padding			: 0px 10px 0px 10px;
}

.ctc_input textarea 
{
	height : 88px;
}

.team_input textarea 
{
	height : 75px;
}

.ctc_input input[type=submit], .team_input input[type=submit] 
{
	margin-top 		: 30px;
	height 			: 41px;
	width 			: 182px;
	font-size		: 15px;
	line-height		: 23px;
	padding-left 	: 76px;
}

/*****************************************************Page TELEMAINTENANCE*********************************************************************/
.team_msg 
{
	margin-top 		: 9px;
	font-size 		: 12px;
	margin-bottom 	: 9px;
}

.team_img 
{
	width 		: 344px;
	margin-top 	: 30px;
}

.team_jlm 
{
	width 			: 496px;
	font-size 		: 12px;
	line-height 	: 21px;
	margin-top		: 30px;
	padding	  		: 25px 76px 25px 76px;
}

.team_img img 
{
	width : 147px;
	height: 111px;
}

.team_input input[type=submit] 
{
	margin-top 		: 18px;
	height 			: 35px;
	width 			: 193px;
	font-size		: 12px;
	line-height		: 18px;
}

/*********************************************************PIED DU SITE***********************************************************************/

.pie_gen 
{
	max-width 		: 1800px;
	height			: 59px;
	background-color: #051D40;
}

.pie_log 
{
	margin-left : 40px;
	margin-right: 40px;
}

.pie_log > div:nth-child(1) 
{
	width : 859px;
}

.pie_log > div > div.ligne 
{
	margin-top : 18px;
}

.pie_log img 
{
	margin-top 	: 20px;
	height 		: 43px;
}

.pie_contact a 
{
	font-size 		: 17px;
	line-height 	: 25px;
	margin-top		: 20px;
	height 			: 43px;
	width			: 185px;
}

.pie_copy 
{
	font-size 		: 14px;
	line-height 	: 21px;
	margin-top 		: 20px;
	margin-left 	: 40px;
	text-align  	: center;
}

/************************************************ERREURS*********************************************************************/
.error 
{
	display	: block;
	width 	: 86%;
	margin 	: auto;
}

.error_img, .error_txt  { width : 100%; }

.error_txt > div:nth-child(1) 
{
	font-size 	: 28px;
	margin-top 	: 32px;
}

.error_txt > div:nth-child(2) { margin-top : 52px; }

.error_txt > div:nth-child(3) { margin-top : 20px; }

.error_txt > div:nth-child(4) { margin-top : 30px; }

.error_txt > div:nth-child(4) a  { font-size : 16px; }

.error_txt { font-size : 18px; }


