/************************************************** DECLARATION DE VARIABLE ***************************************/
:root {
	--bleu_koriolan: rgb(117, 185, 218);							/* 	#75B9DA		*/
	--bleu_koriolan_transparent: rgba(117, 185, 218, 0.2);
	--bleu_koriolan_fonce: rgb(0, 69, 99);							/*	#004563		*/
	--bleu_koriolan_fonce_transparent: rgba(0, 69, 99, 0.4);
	
	--gris_anthracite: rgb(64, 70, 73);
	--gris_tres_fonce: rgb(60, 60, 60);
	--gris_tres_fonce_transparent: rgba(60, 60, 60, 0.4);
	--gris_fonce: rgb(80, 80, 80);
	--gris_moyen: rgb(110, 110, 110);
	--gris_pale: rgb(130, 130, 130);
	--gris_tres_pale: rgb(150, 150, 150);
	--gris_tres_tres_pale: rgb(200, 200, 200);
	--blanc_casse: rgb(250, 250, 250);
	--blanc:rgb(255, 255, 255);
	--rouge:rgb(255, 0, 0);
	--rouge_transparent:rgba(255, 0, 0, 0.4);
	--jaune_post_it: rgb(244, 208, 63);
	--jaune_post_it_transparent: rgba(244, 208, 63, 0.4);
	--orange: rgb(255,165,0);
	--rouge_orange: rgb(255,69,0);
	--green_yellow: rgb(173,255,47);
	
	--hauteur_menu: 40px;
	--largeur_maxi: 1024px;
	--demi_largeur_maxi: calc(var(--largeur_maxi)/2);
 }


/************************************************************ PAGE *************************************************/
html
{
	background-color: var(--blanc);
	color:var(--bleu_koriolan_fonce);
	/* font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif; */
	font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;
	font-size:1em;
	/* scroll-behavior: smooth; */
}
 

/***************************************************** ZONE DE TRAVAIL *********************************************/
body {
	width:100%;
	margin:auto;
	overflow-x: hidden;		
	overflow-y: scroll;
	min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.page_principale		{
	margin:0px auto 20px auto;
	width: 96%;
	max-width: var(--largeur_maxi);
}

/********************************************************* ENTETE **************************************************/

#entete 	{
	width: 100%;		
	height: 70px;				
	position: sticky;											/* Fige le bandeau en position haute. Permet d'y avoir accès où qu'on soit dans la page */
	left: 0;
	top: 0;
	background-color: var(--blanc);								/* Pour masquer l'arrière du bandeau lorsque la page passe "derrière" */
	z-index: 10000;
	display: flex;
	border-bottom: solid 2px var(--bleu_koriolan);
}
.a_update{
	all: unset !important;
    position: absolute !important;
    display: unset !important;
    border: 0 !important;
    height: 20 !important;
    width: 20px !important;
    border-radius: 5px !important;
    background-size: 100% !important;
    background-color: var(--bs-red) !important;
    background-image: url(images/edit_pen_logo.png) !important;
    background-repeat: no-repeat !important;
	cursor: pointer !important;
}
@media only screen and (min-width: 850px) {
	.update_navbar{
		position: relative !important; 
		width: 30px !important;
	}
}


#update{
	position: absolute;
    background-image: url(images/edit_pen_logo.png);
    width: 40px;
    height: 40px;
    margin-top: 83px;
    background-size: 100%;
    margin-left: 10px;
    
    background-repeat: no-repeat;
    border-radius: 7px;
}
#home{
	padding: 0px;
}
#logo_home{
	min-width: 200px;
	max-width: 300px;
	height: 68px;
	width: 15%;
	padding: 0;
	position: relative;
}
#logo_heart{
	height: 100%;
	width: 35%;
	background-image: url("/images/logo_shipheart_heart.png");
	background-size: 75%;
    background-repeat: no-repeat;
    background-position: center;
}
#logo_heart:hover , #logo_texte:hover{
	animation: heart_pulse 2s ease-in 0s infinite;
}
#logo_texte{
	height:55%;
	width: 65%;
	float: right;
	margin-top: -55px;
	background-image: url("/images/logo_shipheart_text.png");
	background-size: 95%;
    background-repeat: no-repeat;
    background-position: center;
}
#switch{
	height: 35px;
    float: right;
    display: block;
    border: 1px solid var(--bleu_koriolan);
	background-color: var(--blanc_casse);
	border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
	margin-top: -5px;
	border-top: dotted 1px var(--bleu_koriolan);
}
#switch p{
	margin: 0;
}
#navbar_right{
	width: 7%;
	height: 68px;
	padding: 0;
	right:20px;
	position: absolute;
}
#flag_lang{
	height: 68px;
    width: 50%;
    position: absolute;
    right: -10px;
    margin-right: 10px;
}
.FR_acc {
	background-image: url("images/drapeau_fr.png");
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100%;
    width: 35px;
    background-position: center;
    position: absolute;
    float: right;
    right: 0;
}
.EN_acc {
	background-image: url("images/drapeau_en.png");
    background-repeat: no-repeat;
    background-size: 100%;
    height: 100%;
    width: 35px;
    background-position: center;
    position: absolute;
    float: right;
    right: 0;
}
#logo_shipmember{
	height: 68px;
    width: 50%;
    position: absolute;
    margin-right: 10px;
}
#shipmember 	a 	{
	background-image: url(images/icone_avatar.png);
    background-repeat: no-repeat;
    background-size: 100%;
    height: 45px;
    margin-top: 11px;
    padding-top: 1px;
    width: 45px;
    background-position: center;
    position: absolute;
    float: left;
	transition: 200ms;
}
#shipmember	a:hover {
	background-image: url("images/icone_avatar_hover.png");
}
#shipmember 	a 	.acces_valide	{
	background-color: var(--bleu_koriolan);
	color: var(--blanc);
	font-weight: 700;
	display: inline-block;
	margin: 0px 0px 0px -24px;
	width: 24px;
	height: 24px;
	line-height:24px;
	text-align: center;
	border-radius: 14px;
	padding: 2px;
	transition-property: color, background-color;
	transition-timing-function:ease-in-out;
	transition-duration: 1s;
	box-sizing: content-box !important;
}
#shipmember 	a:hover 	.acces_valide	{
	background-color: var(--bleu_koriolan_transparent);
	transition-property: color, background-color;
	transition-timing-function:ease-in-out;
	transition-duration: 1s;
}



@media only screen and (max-width: 850px) {

	#logo_texte{
		display: none;
	}
	
	#logo_home{
		max-width: none;
		min-width: 0;
	}
	#logo_heart{
		width: 100%;
		margin: auto;
		position: relative;
		margin-top: -5px;
		
		width: 70px;

	}
	#navbar_right{
		width: 20%;
	}
}
/*********************************************************** PIED DE PAGE *********************************************/
#pied_de_page 	{
	
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    background-color: var(--gris_anthracite);
    color: var(--blanc);
    padding-left: 20%;
    padding-right: 20%;
	padding-bottom: 40px;
    padding-top: 40px;
	margin-top: auto ;
	height: 290px;
}	
#pied_de_page 	.marque 	{
	/* grid-column: 2 / span 1; */
}
#pied_de_page  .droite	.mentions_legales 	{
	text-align: right;
	display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    height: 100%;
	row-gap: 15px;
}
#pied_de_page .gauche .marque{
	text-align: left;
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    height: 100%;
	row-gap: 15px;
}
#pied_de_page .gauche .marque p {
	text-align: left;
	margin: auto auto auto 0px;
}
#pied_de_page .gauche .marque p a{
	padding: 0;
}
#pied_de_page 	.mentions_legales 	a 	{
	color: var(--bleu_koriolan);
	display: inline-block;
	margin: auto 0px auto auto;
}
#pied_de_page 	.mentions_legales 	a:hover 	{
	color: var(--bleu_koriolan_fonce);
	background-color: var(--bleu_koriolan);
}
#pied_de_page 	.signature 	{
	/* grid-column: 2 / span 2;  */
}
#pied_de_page 	.signature 	img 	{
	height: 60px;
}
@media only screen and (min-width: 851px) {	
	
	#pied_de_page{
		display: grid !important;
	}
	#pied_de_page_mobile{
		display: none !important;
	}
}
@media only screen and (max-width: 850px) {	
	
	#pied_de_page_mobile{
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: 1fr !important;
		width: 100%;
		background-color: var(--gris_anthracite);
		color: var(--blanc);
		padding: 0;
		padding-bottom: 20px;
		padding-top: 20px;
	}
	#pied_de_page 	{
		display: none !important;
	}
	#pied_de_page_mobile  .mentions_legales 	{
		text-align: right;
		display: flex;
		flex-direction: column-reverse;
		height: 170px;
	}
	
	#pied_de_page_mobile  p {
		margin: auto;
		width: 100%;
		height: 55px;
	}
	#pied_de_page_mobile p a{
		padding: 0;
	}
	#pied_de_page_mobile 	.mentions_legales 	a 	{
		color: var(--bleu_koriolan);
		display: inline-block;
		margin: auto;
		width: 100%;
		text-align: center;
	}
	#pied_de_page_mobile 	.mentions_legales 	a:hover 	{
		color: var(--bleu_koriolan_fonce);
		background-color: var(--bleu_koriolan);
	}
	#pied_de_page_mobile .signature {
		margin: auto;
		width: 100%;
	}
	#pied_de_page_mobile 	.signature 	img 	{
		height: 60px;
		margin: auto;
		width: 100%;
		object-fit: contain;
	}
	#pied_de_page_mobile p#marque_texte {
		padding-top: 15;
	}
	
}


.hide{
	transition: 2s;
	opacity: 0;
}

.show{
	transition: 2s;
	opacity: 100 !important;
}
/********************************************************* TITRES ********************************************/
h1		{
	text-align: right;
	font-size:2.5em;
	/* color: var(--bleu_koriolan); */
}

h2		{
	font-size:1.8em;
	padding:12px 0px 20px 0px;
	margin: 1em 0px 0.2em 0px;
	border-top:1px solid var(--bleu_koriolan_fonce);
	border-bottom:1px solid var(--bleu_koriolan_fonce);
}
h2		img		{
	width:40px;
	border:1px solid var(--bleu_koriolan);
	border-radius: 5px;
	vertical-align:middle;
	margin-right: 20px;
}
h2		.texte	{
	vertical-align:middle;
}


h3		{
	font-size:1.2em;
	padding:12px 0px 5px 0px;
	margin: 1em 0px 0.2em 0px;
	/* border-top:1px solid var(--bleu_koriolan_fonce); */
	border-bottom:1px solid var(--bleu_koriolan_fonce);
}




/****************************************************** TABLEAUX STANDARD *****************************************/
table /* Le tableau en lui-même */
{
	border-collapse: collapse;
	width:100%;
}



td /* Les cellules normales */	{
	padding:2px 5px;
}


/***************************************************** FORMULAIRES ***************************************************/
input, textarea, select		{
	border:1px solid var(--bleu_koriolan);
	border-radius: 5px;
	padding:10px 10px;	
	margin:0px;
	width: calc(100% - 22px);			/* la valeur 22 vient 20 pour 2x 10px de padding + 2x 1px d'épaisseur de bordure qui est ainsi compensée */
	color: var(--bleu_koriolan_fonce);
	font-family: monospace;
}
select		{
	width: calc(100% - 20px);			/* la valeur 2 vient de 2x 1px d'épaisseur de bordure qui est ainsi compensée (le padding ne fonctionne pas sur les SELECT...) */
	height: 3em;
}
::placeholder {
  color: var(--gris_tres_tres_pale);
}


button		{
	background-color:var(--bleu_koriolan_fonce);
	border: 1px solid var(--bleu_koriolan_fonce);
	color: var(--blanc);
	text-decoration:none;		/* Permet de ne pas avoir le soulignement des liens...*/
	padding:10px 10px;	
	line-height: 2em;
	border-radius: 1em;
	font-size: calc(1.0em); 
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
	transition-property: color, background-color, font-weight;
	transition-timing-function:ease-in-out;
	transition-duration: 100ms;
	cursor:pointer;
}

button:hover {	
	color:var(--bleu_koriolan);
	transition-property: color, background-color;
	transition-timing-function:ease-in-out;
	transition-duration: 300ms;
}





/********************************************************* LIENS HYPERTEXTES ***************************************/
a {
	color:var(--bleu_koriolan_fonce);
	text-decoration:none;		/* Permet de ne pas avoir le soulignement des liens...*/
	padding:10px 10px;
	line-height: 2em;
	border-radius: 1em;
	transition-property: color, background-color, font-weight;
	transition-timing-function:ease-in-out;
	transition-duration: 100ms;
}



a:hover { 	/* Quand on pointe sur un lien du menu */
	/* background-color: var(--bleu_koriolan); */
	color:var(--bleu_koriolan);
	transition-property: color, background-color, font-weight;
	transition-timing-function:ease-in-out;
	transition-duration: 300ms;
}

a img {
	border:none;
}

ul		{
	list-style-image: url(images/puce_bleu_koriolan_clair.png);
	list-style-position: outside;
	text-align:left;
	margin:2em 0px;
}
ul	li	{
	margin-bottom: 20px;
    text-align: justify;
}

/********************************************************* PARAGRAPHES ***************************************/
p			{
	text-align:center;
	margin:2em auto;
}

/********************************************************* ANCRES ***************************************/
.ancre:target 	{			/* Cette méthode permet d'ajouter une bande égale à la hauteur du menu fixe et ainsi positionner correctement les ancres. Cf https://pixelflips.com/blog/anchor-links-with-a-fixed-header */
	padding-top: 40px; 		/*same height as header*/
	margin-top: -40px; 		/*same height as header*/
}



/********************************************************* DIVERS ***************************************/
.gras		{
	font-weight:bold;
	color: var(--bleu_koriolan);	/* Permet de renforcer le gras... */
}
.souligne	{
	text-decoration:underline;
}
.obligatoire	{
	color: var(--rouge);
	padding: 0px 5px;
} 


/************************************* MESSAGE D'ERREUR ***************************************/
.message_erreur   {
	display:block !important;
	line-height:30px;
	text-align:center;
	margin:10px 0px;
	padding:10px 1% 10px 1%;
	background-color:var(--rouge);
	box-shadow: 5px 5px 8px var(--gris_moyen);
	color:var(--blanc_casse);
	font-weight:bold;
}

.message_erreur  a 	 {
	background-color:var(--rouge);
	color:var(--blanc_casse);
	text-decoration: underline;
	padding:3px;
}

.message_information   {
	display:block;
	text-align:center;
	margin:10px 0px;
	padding:10px 1% 10px 1%; 
	background-color:var(--bleu_koriolan);
	color: var(--blanc);
	box-shadow: 5px 5px 8px var(--gris_moyen);
}
.message_information	.gras		{
	color: var(--bleu_koriolan_fonce);	/* Sinon, il a la couleur de fond... */
}

.message_erreur_mysql   {
	display:block;
	border-radius: 10px;
	width:60%;
	text-align:left;
	margin:auto;
	margin-top:20px;
	padding:3px 20px;
	background-color:var(--rouge);
	box-shadow: 5px 5px 8px var(--gris_moyen);
	color:var(--blanc_casse);
	font-weight:bold;
}
.message_erreur_mysql   p:nth-child(1)	{
	text-align:center;
	color:var(--blanc_casse);
	font-variant: small-caps;
	font-weight:900;
}


/************************************* COMPARATIF SHIPHEARTS ***************************************/
.comparatif 	{
	width: 100%;
}
.comparatif 	.bouton_comparatif		{
	width: 100%;
}
.comparatif 	.bouton_comparatif		a 	{
	display:block;
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: left 20px top 50%;
	width: 60%;
	margin: auto;
	text-align: center;
}
.comparatif 	.bouton_comparatif		a:hover 	{
	animation: heart_pulse 2s ease-in 0s infinite;
}

.comparatif 	.bouton_comparatif.plus.fond_fonce		a 	{
	background-image: url("images/plus_carre_clair.png");
	background-color: var(--bleu_koriolan_transparent);
	color: var(--blanc);
}
.comparatif 	.bouton_comparatif.plus.fond_fonce		a:hover 	{
	background-image: url("images/plus_carre.png");
	background-color: var(--bleu_koriolan);
}
.comparatif 	.bouton_comparatif.moins.fond_fonce		a 	{
	background-image: url("images/moins_carre_clair.png");
	background-color: var(--bleu_koriolan_transparent);
	color: var(--blanc);
}
.comparatif 	.bouton_comparatif.moins.fond_fonce		a:hover 	{
	background-image: url("images/moins_carre.png");
	background-color: var(--bleu_koriolan);
}

.comparatif 	.bouton_comparatif.plus.fond_clair		a 	{
	background-image: url("images/plus_carre_clair.png");
	background-color: var(--bleu_koriolan_fonce);
	color: var(--blanc);
}
.comparatif 	.bouton_comparatif.plus.fond_clair		a:hover 	{
	background-image: url("images/plus_carre.png");
	background-color: var(--bleu_koriolan);
}
.comparatif 	.bouton_comparatif.moins.fond_clair		a 	{
	background-image: url("images/moins_carre_clair.png");
	background-color: var(--bleu_koriolan_fonce);
	color: var(--blanc);
}
.comparatif 	.bouton_comparatif.moins.fond_clair		a:hover 	{
	background-image: url("images/moins_carre.png");
	background-color: var(--bleu_koriolan);
}

.comparatif 	table.table_comparatif	 {
	margin-top: 20px;
}
.comparatif 	table.table_comparatif	 	th 	{
	text-align: center;
}
/* .comparatif 	table.table_comparatif	 	th:not(:first-child) 	{ */
	/* border: 1px solid var(--bleu_koriolan); */
	/* padding: 5px 10px; */
/* } */
.comparatif 	table.table_comparatif 		td 	{
	border: 1px solid var(--bleu_koriolan);
}
.comparatif 	table.table_comparatif 		td:nth-child(1) 	{
	text-align: left;
}
.comparatif 	table.table_comparatif	 	td	.renvoi 	{
	padding-left: 10px;
	font-weight: 600;
}
.comparatif 	table.table_comparatif 		td.version 	{
	text-align: center;
	font-weight: 400;
}
.comparatif 	table.table_comparatif	 	td.version 		img 	{
	width:20px;
	vertical-align: middle;
}

.comparatif 	table.table_renvois_comparatif  {
	width: 100%;
	margin: 10px 0px 30px 0px;
}
.comparatif 	table.table_renvois_comparatif 	tr 	td {
	font-style: italic;
	text-align: left;
}

/************************************* CARROUSSEL ***************************************/


/************************************* GRAPHIQUES ***************************************/
 .graphique	{
	 background-color: var(--blanc_casse);
	 margin:20px 0px 50px 0px;
	 padding: 5px;
	 height: 420px; 
	 width: 100%;
	 border-radius: 10px;
	 box-shadow: 5px 5px 8px var(--gris_tres_fonce_transparent);	
 }
 .graphique		.titre		{
	width: 100%;
	/* height: 20%; */
	text-align: center;
	/* font-weight: bold; */
	font-style: italic;
 }

/************************************* Popup de zoom d'image ***************************************/


/************************************* ANIMATIONS KEYFRAMES ***************************************/
@keyframes heart_pulse {
  0% {
    transform: scale(1.0);
  }
  10% {
    transform: scale(1.05);
  }
  15% {
    transform: scale(1.03);
  }
  20% {
    transform: scale(1.05);
  }
   35% {
    transform: scale(1.0);
  }
  100% {
    transform: scale(1.0);
  }
}












 












