body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0px;
    color: #086A87;
    line-height: 1.6;
}

/* --------------- --------------------    Menu de Navigation  - MODE GRAND ECRAN ----------------------------------------- */
/* --------------- --------------------    Menu de Navigation  - MODE GRAND ECRAN ----------------------------------------- */
.topnav {
    background-color: #086A87;
    position: sticky;
    top: 0;
    z-index: 10;
}

.topnav a {
    float: left;
    color: white;
    text-align: center;
    padding: 12px 14px;
    text-decoration: none;
    font-size: 18.8px;
}

.topnav a.img {
    padding: 4.5px 4.5px;
    font-size: 0px;
}

.topnav a:hover {
    background-color: #ddd;
    color: black;
}

.menu-item {
    float: left;
    position: relative;
}

.menu-item > a {
    padding: 9.5px 12px;
    display: block;
}

.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #086A87;
    min-width: 400px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-item:hover .submenu {
    display: block;
}

.submenu li {
    position: relative;
    margin: 0;
    padding: 0;
}

.submenu li a {
    color: white;
    padding: 8px 6px;
    text-decoration: none;
    display: block;
    text-align: left;
    width: 100%;
}

.submenu li a:hover {
    background-color: #ddd;
    color: black;
}

.submenu .sub-submenu {
    display: none;
    position: absolute;
    top: 0%; /* Changé de 0 à 100% pour aligner sous le parent */
    left: 100%;
    background-color: #086A87;
    min-width: 268px;
	
	min-height: 369px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    list-style: none;
    padding: 0;
    margin: 0;
}

.submenu li:hover .sub-submenu {
    display: block;
}

.topnav .icon {
    display: none;
}

.topnav:after {
    content: "";
    display: table;
    clear: both;
}

/* Menu Desktop */
.desktop-menu {
    display: block;
}

.mobile-menu {
    display: none;
}

/* *********  /////   FIN DE MENUE DE NAVIGATION  GRAND ECRAN ------------------------------------------------------------//////////////   */




footer {
    background-color: #086A87;
    color: white;
    text-align: center;
    padding: 1px 0;
    font-size: 0.75em;
	font-weight: normal; 
}

footer a {
    color: white;
    text-decoration: none;
    margin: 0 5px;
}

footer p {
    font-size: 0.0em;
	font-weight: normal; 
}



.row:after {
    content: "";
    display: table;
    clear: both;
}



/*  ******** /////   Début du corp de la page en dessous des images  ///////  */

/* Header */

header {
    text-align: center;
    padding: 6px 6px;
    background-color: white;
}

header h1 {
    margin: 0;
    padding: 10px 10px;
    font-size: 1.9em;
    color: #086A87;
}


header h2 {
    margin: 0;
    padding: 10px 10px;
    font-size: 1.3em;
    color: #086A87;
}




header h3 {
    margin: 0;
    padding: 10px 10px;
    font-size: 1.1em;
    color: #086A87;
}






/*  ******** /////  info-row permet de definir du blok horizontale (une ligne ) dans lequels on peut faire paragraphe -images..... ///////  */



.container-pc, .container-mobile {
    display: flex; /* Disposition flexible pour aligner les éléments */
    justify-content: space-around; /* Espacement équitable entre les éléments */
    align-items: center; /* Centre verticalement */
    gap: 1px; /* Espacement entre les éléments */
    padding: 0px;
    background: white; /* Fond pour visualiser */
}


.container-pc {
    display: flex;
}

.container-mobile {
    display: none;
}


.info-row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    max-width: 1100px;
    margin: 1px auto;
}

.info-cell {
    flex: 1;
    margin: 2px 12px;
    text-align: center;
    text-align: justify;
    max-width: 100%;
	
}

.banner-column {
    flex: 0 0 100%;
    max-width: 90%;
    padding: 1px;
    box-sizing: border-box;
}

.banner-content {
    position: relative;
    text-align: center;
    display: inline-block;
    width: 100%;
    margin: 0 auto;

	
}

.banner-column img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;

}

.banner-content p.custom-size3 {
    width: 95%;
    margin: 0 auto 10px;
    text-align: justify;
	font-size: 15.6px; /* Ajustez pour une taille précise */
}
.banner-content p.custom-size13 {
    width: 98%;
    margin: 0 auto 10px;
    text-align: justify;
	font-size: 25px; /* Ajustez pour une taille précise */
	
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;

    height: 100%;
    background: rgba(0.9, 0.9, 0.9, 0.0);
    color: green;

    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.8s;
    z-index: 2;
    font-size: 20px; /* Ajustez pour une taille précise */
    overflow: visible;
	
}


.banner-content:hover .banner-overlay {
    opacity: 1;
	overflow: visible;
}



/*  ---------  Custom-size : permet de definir la taille des texts dans <p   class="custom-size">  ----------------------  */





.text-size1 {
        font-size: 19px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size2{
        font-size: 16px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	

.text-size3{
        font-size: 14px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	
.text-size4{
        font-size: 15.6px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	

.text-size6{
        font-size: 13.0px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }

.custom-size6{
        font-size: 13.45px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }

.custom-size {
        font-size: 20px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.custom-size2 {
        font-size: 22px; /* Ajustez pour une taille précise */
	    padding-left: 20px;
		padding-right:20px;
    }
	
.custom-size3 {
        font-size: 22px; /* Ajustez pour une taille précise */
    }
		
.custom-size4 {
        font-size: 18px; /* Ajustez pour une taille précise */
    }

	
	
	
	

.justified-text {
    text-align: justify;
}




/*  ----------------- Bouton bleu-orange pour formulaire de contact  -----------------------  */

   
        .search-container {
            background-color: #086A87; /* Fond gris foncé */
            padding: 1px;
            display: flex;
            align-items: center;
            gap: 5px;
            width: fit-content;
        }
        .search-input {
            padding: 10px;
            font-size: 14px;
            border: none;
            width: 53px;
            background-color: white;
            color: orangered;
            
        }
        .search-button {
            background-color: #086A87; /* Orange */
            color: white;
            padding: 15px 20px;
            border: white;
            font-size: 17px;
            cursor: pointer;
			
			
     
            font-weight: orangered;
        }
  










/* *************************  /////   DEBUT MENUE DE NAVIGATION  PETIT ECRAN (mode iphone ) ---------------------------------//////////////   */


/* Responsivité */
@media (max-width: 600px) {
    .desktop-menu {
        display: none;
    }

    .mobile-menu {
        display: block;
    }

    .topnav a:not(:first-child),
    .topnav .menu-item {
        display: none;
    }

    .topnav a.icon {
        float: right;
        display: block;
        position: absolute;
        top: 6px;
        right: 10px;
        padding: 8px 20px;
        transition: all 0.2s ease;
    }

    .topnav.responsive a:not(.icon),
    .topnav.responsive .menu-item {
        float: none;
        display: block;
        text-align: left;
    }

    .topnav.responsive a.icon {
        position: absolute;
        top: 10px;
        right: 10px;
    }

    .topnav.responsive .submenu {
        position: static;
        background-color: #1a829e;
        display: none;
    }

    .topnav.responsive .menu-item:hover .submenu,
    .topnav.responsive .menu-item.active .submenu {
        display: block;
    }

    .topnav.responsive .submenu li a {
        padding-left: 30px;
    }

    .topnav.responsive .sub-submenu {
        position: static;
        background-color: #2a9ab6;
        display: none;
    }

    .topnav.responsive .submenu li.active .sub-submenu {
        display: block;
    }

    .topnav.responsive .sub-submenu li a {
        padding-left: 45px;
    }

    .desktop-view {
        display: none;
    }
	


    .mobile-view {
        display: block;
        text-align: center;
        max-width: 500px;
        margin: 0px auto;
    }

 
    .info-cell {
        margin: 2px 0;
    }
	
	
    header h1 {
        font-size: 1.3em;
		padding: 1px 2px;
    }
    
    header h2 {
        font-size: 1.2em;
		padding: 0px 0px;
    }
	.container-pc {
        display: none; /* Cache le conteneur PC */
    }

.container-mobile {
        display: flex;
        flex-direction: column; /* Empile les éléments verticalement */
        gap: 0; /* Supprime tout espacement entre les éléments */
        padding: 0; /* Supprime le padding pour éviter tout espace */
        align-items: stretch; /* Étire les images pour occuper toute la largeur */
    }

    .container-mobile img {
        width: 100%; /* Maintient la largeur à 100% */
        margin: 0; /* Supprime toute marge */
        padding: 0; /* Supprime tout padding */
        display: block; /* Assure que les images sont des blocs sans espace */
    }
	
}





/*  ******** /////    Manipulation des images en-dessous du menu (avec column1) selon la taille d'écran ****** */

/* Styles de base pour toutes les colonnes */


.column1 {
    float: left;
    width: 12.5%; /* 8 images par défaut */
    padding: 0;
}





@media (max-width: 1300px) {
    .column1 {
        width: 14.285%; /* 6 images */
    }
    .column1:nth-child(n+8) {
        display: none !important;
    }
	


.text-size1 {
        font-size: 19px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size2{
        font-size: 16px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	

.text-size6{
        font-size: 12.0px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }





	.custom-size3 {
        font-size: 21px; /* Ajustez pour une taille précise */
    }	
		.custom-size03 {
        font-size: 17px; /* Ajustez pour une taille précise */
    }
	
	.custom-size33 {
        font-size: 18.5px; /* Ajustez pour une taille précise */
    }	
	
	.custom-size4 {
        font-size: 16px; /* Ajustez pour une taille précise */
    }	
	
	.custom-size6 {
        font-size: 14.5px; /* Ajustez pour une taille précise */

    }
}













@media (max-width: 1100px) {
    .column1 {
        width: 16.6%; /* 6 images */
    }
    .column1:nth-child(n+7) {
        display: none !important;
    }
	
.text-size1 {
        font-size: 18px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size2{
        font-size: 15px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	
		
	.text-size6{
        font-size: 11.0px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	
	
	
	
	
	
	
.custom-size3 {
        font-size: 20px; /* Ajustez pour une taille précise */
    }
		.custom-size03 {
        font-size: 16px; /* Ajustez pour une taille précise */
    }
			.custom-size33 {
        font-size: 18.5px; /* Ajustez pour une taille précise */
    }	
	
	

.custom-size4 {
        font-size: 15px; /* Ajustez pour une taille précise */
    }

		.custom-size6 {
        font-size: 14px; /* Ajustez pour une taille précise */

    }
	
	
	
	
	
}
	
	


/* Responsivité pour column1 */
@media (max-width: 900px) {
    .column1 {
        width: 20.0%; /* 6 images */
    }
    .column1:nth-child(n+6) {
        display: none !important;
    }
	
	
.text-size1 {
        font-size: 15px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size2{
        font-size: 13px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	
	
	
	
	.custom-size3 {
        font-size: 19px; /* Ajustez pour une taille précise */
    }
	
		.custom-size03 {
        font-size: 15px; /* Ajustez pour une taille précise */
    }
			.custom-size33 {
        font-size: 18.5px; /* Ajustez pour une taille précise */
    }	
	
	
	.custom-size4 {
        font-size: 13px; /* Ajustez pour une taille précise */
    }	
	
		.custom-size6 {
        font-size: 12.5px; /* Ajustez pour une taille précise */

    }
}	
	
	




@media (max-width: 600px) {
    .column1 {
        width: 33.33%; /* 3 images */
    }
    .column1:nth-child(n+4) {
        display: none !important;
    }
	
	
.text-size1 {
        font-size: 19px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size2{
        font-size: 17px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
.text-size3{
        font-size: 15.5px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	
	
.text-size4{
        font-size: 15px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	.text-size5{
        font-size: 13px; /* Ajustez pour une taille précise */
        padding: 0px 0px;
    }
	
	header h1 {
    font-size: 1.3em;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-inline: 30px; /* affecte gauche ET droite, quel que soit le sens de lecture */
}
    
    header h2 {
    font-size: 1.2em;
    padding-bottom: 1px;
    padding-inline: 20px; /* affecte gauche ET droite, quel que soit le sens de lecture */
    }
	
	
	
	
	
	.custom-size3 {
        font-size: 17px; /* Ajustez pour une taille précise */
    }
	
		.custom-size03 {
        font-size: 14px; /* Ajustez pour une taille précise */
    }
			.custom-size33 {
        font-size: 13.5px; /* Ajustez pour une taille précise */
    }	
	
	
	.custom-size4 {
        font-size: 10px; /* Ajustez pour une taille précise */
    }	
	
	
	
		.custom-size6 {
        font-size: 12.5px; /* Ajustez pour une taille précise */

    }
	
	
 

	
		.custom-size13 {
        font-size: 17px; /* Ajustez pour une taille précise */
    }
	

	
	.custom-size2 {
        font-size: 17px; /* Ajustez pour une taille précise */
    }
	

	
	
	
	
	}
	
	
	
	
	
	
	


.banner-column {
    flex: 0 0 100%;
    max-width: 100%;
   padding: 0px 0px;
    box-sizing: border-box;
}

.banner-content {
    position: relative;
    text-align: center;
    display: inline-block;
    width: 100%;
	  padding: 0px 0px;
    margin: 0 auto;
}

.banner-column img {
    width: 100%;

    object-fit: contain;
    display: block;
    margin: 0 auto;
	  padding: 0px 0px;
	  
	   overflow: visible;
	  
}

.banner-content p.custom-size3 {
    width: 100%;
    margin: 0 auto 0px;
    text-align: justify;
	font-size: 16px; /* Ajustez pour une taille précise */
}

.banner-overlay {
    position: absolute;
	bottom : 0 px
    top: 0 px;
    left: 0;
    width: 100%;

    background: rgba(0.5, 0.0, 0.0, 0.25);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.3s;
    z-index: 3;
    font-size: 34px; /* Ajustez pour une taille précise */
	overflow: visible;
	
	
}






.banner-content:hover .banner-overlay {
    opacity: 1;
	
	 overflow: visible;
}

	
	
}

.image-text-row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    max-width: 1100px;
    margin: 0px auto;
}

.image-text-row .image-cell{
    flex: 1; /* Takes remaining space */
    margin: 0px 0px;
    text-align: center;
    max-width: 38%; /* Approximately 70% to account for margins */
}

.image-text-row .text-cell {
    flex: 0 0 66%; /* Fixed 30% width */
    margin: 0px 15px;
    text-align: justify;
    max-width: 62%;
}