.container-banner {
	margin: 0 0 0rem;
}


.container-header
{
	display: flex;
}


.navbar-brand
{
	display: block;
	padding-left: 0.5em;	
}




.container-nav
{
	width: 73%;
}


.card-body
{
	padding: 0px;
}


.site-grid
{
	display: block;
}


.container-top-a > *
{
	margin: 0em 0;
}


.bloc-parent1 {
    display: flex;
    gap: 20px;
    align-items: stretch;
	margin-top: 40px;
	margin-left: 20px;
	margin-right: 20px;
}

.bloc-enfant1 {
    flex: 1;
    padding: 20px;
	text-align: justify;
    box-sizing: border-box;
	background:#f6f6f6;
	font-size: 11pt;
}







.dag2, .dag6
{
	display: block;
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	padding: 1.5em;
	text-align: justify;
	background:#f6f6f6;
	font-size: 11pt;
	font-family: Helvetica;
}

h2, h1
{
	display: block;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding: 0.3em;
	text-align: center;
	font-size: 2.5em;
	font-family: Helvetica;
	color: #112b5d ;
	text-transform: uppercase;
}


h3
{
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0.2em;
	text-align: center;
	font-size: 13pt;
	font-family: Helvetica;
	color:#112b5d ;
}

.image1
{
width: 40px;
}	

.info-bulle {
    position: relative;
    display: inline-block;
    cursor: help;
    font-weight: 600;
    border-bottom: 2px dotted #555;
}


.info-bulleb {
    position: relative;
    display: block;
    font-weight: bold;
	font-size: 1.1em;
	color: #112b5d;
	padding-bottom: 1em;
	text-align: center;
}



.info-bulle-texte {
    position: absolute;
    z-index: 9999;
    bottom: 135%;
    left: 50%;
    transform: translateX(-50%);

    width: 320px;
    padding: 14px 16px;

    background: #222;
    color: #fff;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.45;
    text-align: left;

    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,.35);

    visibility: hidden;
    opacity: 0;
    transition: opacity .2s ease;
}

.info-bulle-texte::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);

    border-width: 8px;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
}

.info-bulle:hover .info-bulle-texte {
    visibility: visible;
    opacity: 1;
	background-color: #112b5d;
}




.tableau-dpf-container {
    width: 100%;
    overflow-x: auto;
    margin: 0px 0;
}

.tableau-dpf {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.35;
    background: #fff;
}

.tableau-dpf th,
.tableau-dpf td {
    border: 1px solid #999;
    padding: 7px 10px;
    vertical-align: middle;
}

.tableau-dpf th {
    background: #e8e8e8;
    font-weight: 700;
    text-align: center;
}

.tableau-dpf th:nth-child(1),
.tableau-dpf td:nth-child(1) {
    width: 9%;
    text-align: center;
}

.tableau-dpf th:nth-child(2),
.tableau-dpf td:nth-child(2) {
    width: 51%;
}

.tableau-dpf th:nth-child(3),
.tableau-dpf td:nth-child(3) {
    width: 14%;
    text-align: center;
}

.tableau-dpf th:nth-child(4),
.tableau-dpf td:nth-child(4) {
    width: 26%;
}

.tableau-dpf tbody tr:nth-child(even) {
    background: #f8f8f8;
}

.tableau-dpf .total {
    font-weight: 700;
    background: #e8e8e8;
}





.tableaua-dpf-container {
    width: 100%;
    overflow-x: auto;
    margin: 0px 0;
}

.tableaua-dpf {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.35;
    background: #fff;
}

.tableaua-dpf th,
.tableaua-dpf td {
    border: 1px solid #999;
    padding: 7px 10px;
    vertical-align: middle;
}

.tableaua-dpf th {
    background: #e8e8e8;
    font-weight: 700;
    text-align: center;
}

.tableaua-dpf th:nth-child(1),
.tableaua-dpf td:nth-child(1) {
    width: 10%;
    text-align: center;
}

.tableaua-dpf th:nth-child(2),
.tableaua-dpf td:nth-child(2) {
    width: 10%;
}

.tableaua-dpf th:nth-child(3),
.tableaua-dpf td:nth-child(3) {
    width: 26%;
    text-align: center;
}

.tableaua-dpf th:nth-child(4),
.tableaua-dpf td:nth-child(4) {
    width: 52%;
}

.tableau-dpf tbody tr:nth-child(even) {
    background: #f8f8f8;
}

.tableau-dpf .total {
    font-weight: 700;
    background: #e8e8e8;
}







#mod-custom112
{
	display: block;
	width: 100%;
}


.dag4
{
	display: flex;
	gap: 5px;
}


.dag5
{
	padding: 10px;
	color: white;
	text-align: center;
	text-decoration: underline;
	width: 20%;
	font-size: 11pt;
}



.heol-cookies {
  max-width: 800px;
  margin: 20px auto;
  padding: 18px 24px;
  border-left: 5px solid #648b55;
  background: #f4f6f0;
  color: #333;
  border-radius: 5px;
}

.heol-cookies h3 {
  margin-top: 0;
  color: #45663a;
}

.heol-cookies p:last-child {
  margin-bottom: 0;
}

span a {
	color: white;
}


/* Fond couvrant le site */
.heol-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  font-size: 11pt;
}

/* Fenêtre centrale */
.heol-overlay-contenu {
  background: #a1cbf6;
  color: #222222;
  width: 100%;
  max-width: 500px;
  padding: 5px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 8px 35px rgba(0, 0, 0, 0.35);
}

/* Titre */
.heol-overlay-contenu h1 {
  font-size: 2rem;
  margin-bottom: 20px;
}

/* Lien d'entrée */
.heol-entree {
  display: inline-block;
  margin-top: 0px;
  padding: 5px 20px;
  background: #112b5d;
  color: #ffffff !important;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
}

.heol-entree:hover,
.heol-entree:focus {
  background: #244432;
  color: #ffffff !important;
}

.heol-entree.heol-bouton-b {
  cursor: pointer;
}



.dag7 {
	margin-top: 1em;
}


.dag8 {
	color: #112b5d;
	margin-bottom: 1em;
}


.dag9 {
	width: 50%;
}

.dag10 {
	display: block;
}

.navbar-brand a {
	display: block;
	max-width: 30%;
}


.dag11 {
	width: 50%;
}


.dag12 {
	padding: 0em;
}







.bloc-photo {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.bloc-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.textes {
    position: absolute;
    top: 250px;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.texte {
    position: relative;
    background: transparent; /* Corrigé : background vide causait une erreur */
    color: #112b5d;
    padding: 10px 20px;
    font-size: 24px;
    font-weight: bold;
    border-radius: 15px;
    text-align: center;
    line-height: 1.2em;

    /* Configuration de l'animation globale */
    opacity: 0;
    transform: translateY(-500px);
    animation-name: descendreEtPause;
    animation-duration: 4s; /* Le cycle complet dure 4 secondes */
    animation-timing-function: ease-out;
    animation-iteration-count: infinite; /* Répétition à l'infini */
}

/* Gestion du décalage pour l'effet cascade */
.texte-1 {
    animation-delay: 0s; /* Démarre immédiatement */
}

.texte-2 {
    animation-delay: 1s; /* Démarre 0.5s après pour créer le décalage */
}

@keyframes descendreEtPause {
    /* 0s à 0.5s : Descente du texte (durée de l'effet : 500ms) */
    0% {
        opacity: 0;
        transform: translateY(-500px);
    }
    12.5% { /* 12.5% de 4s = 0.5s */
        opacity: 1;
        transform: translateY(0);
    }

    /* 0.5s à 3s : Le texte reste visible et immobile à l'écran */
    75% { /* 75% de 4s = 3s */
        opacity: 1;
        transform: translateY(0);
    }

    /* 3s à 3.5s : Disparition et retour rapide en haut pour préparer la prochaine boucle */
    87.5% { /* 87.5% de 4s = 3.5s */
        opacity: 0;
        transform: translateY(0);
    }

    /* 3.5s à 4s : Pause invisible totale avant le redémarrage du cycle */
    100% {
        opacity: 0;
        transform: translateY(-500px);
    }
}

/* pour le débordement du menu camembert */

.dag20 {
    width: 90%;
	margin-left: auto;
	margin-right: auto;
}


.dag21 {
	position: relative;
    width: 90%;
	margin-left: auto;
	margin-right: auto;
	height: 700px;
    min-height: 500px;
}

.dag21 #map {
	height: 100%;
	width: 100%;
    min-height: 500px;
}





@media (max-width: 1100px) {

.bloc-enfant1 {
    padding: 10px;
	font-size: 10pt;
}

.dag11 {
	width: 50%;
}


.textes {
    top: 200px;
    width: 100%;
    gap: 15px;
}

.texte {
    padding: 10px 10px;
    font-size: 20px;
	border-radius: 15px;
	line-height: 1.1em;
}


}



@media (max-width: 1000px) {
.dag2, .dag6
{
	width: 70%;
	padding: 1.4em;
	font-size: 10pt;
}5

h2, h1
{
	width: 85%;
	padding: 0.3em;
	font-size: 2em;
}


.metismenu.mod-menu .metismenu-item {
  padding: .5em 1em;
  font-size: 11pt;
  line-height: 1;
  margin-left: 1em;
}

.dag11 {
	width: 60%;
}



}
	


@media (max-width: 900px) {

.bloc-parent1 {
    display: block;
    gap: 20px;
    width: 60%;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.bloc-enfant1 {
    padding: 20px;
	font-size: 11pt;
	margin-top: 20px;
}


.textes {
    top: 200px;
    width: 100%;
    gap: 15px;
}

.texte {
    padding: 5px 5px;
    font-size: 18px;
	border-radius: 15px;
	line-height: 0.9em;
}


.dag5
{
	padding: 8px;
	width: 20%;
	font-size: 10pt;
}


}







	
@media (max-width: 800px) {
.dag2
{
	width: 80%;
	padding: 1.4em;
	font-size: 10pt;
}

.dag6
{
	width: 95%;
	padding: 1em;
	font-size: 9pt;
}


h2, h1
{
	width: 95%;
	padding: 0.3em;
	font-size: 1.6em;
}

.grid-child {
	width: 60%;
}


#mod-custom112 {
	width: 140%;
	position: relative;
	left: 100%;
	transform: translateX(-70%);
}
	
.tableau-dpf-container {
	margin: 10px 0;
}

a:not([class]) {
  text-decoration: underline;
  font-size: 0.9em;
}


.tableaua-dpf td:nth-child(4) {
  font-size: 0.9em;
}
.tableaua-dpf td:nth-child(1) {
	font-size: 0.9em;
}


.dag11 {
	width: 70%;
}


.textes {
    top: 170px;

}

.texte {
    padding: 0px 10px;
    font-size: 15px;
	border-radius: 15px;
	line-height: 0.9em;
}





}


@media (max-width: 700px) {

.tableau-dpf {
    min-width: 300px;
    font-size: 14px;
}

.tableau-dpf th, .tableau-dpf td {
    padding: 6px 8px;
}
	
.dag5 {
	padding: 5px;
}


.navbar-brand a {
	display: block;
	max-width: 40%;
}

.dag11 {
	width: 80%;
}


}


	
	

@media (max-width: 600px) {
.dag2
{
	width: 90%;
	padding: 1.4em;
	font-size: 10pt;
}

h2, h1
{
	width: 95%;
	padding: 0.3em;
	font-size: 1.3em;
}


.bloc-parent1 {
	width: 90%;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	font-size: 10pt;
	
}
 .metismenu.mod-menu .metismenu-item {
    padding: .5em 1em;
    font-size: 10pt;
    line-height: 1;
    margin-left: 1em;
}


.container-header .site-description {
	font-size: 0.8rem;
}


.navbar-brand a {
	display: block;
	max-width: 50%;
}

.dag11 {
	width: 90%;
}



.textes {
    top: 140px;

}

.texte {
    padding: 0px 10px;
    font-size: 14px;
	border-radius: 15px;
	line-height: 0.9em;
}

.grid-child {
	width: 45%;
}

.navbar-brand a {
	display: block;
	max-width: 80%;
}

.dag4 {
	display: block;
}

.dag5 {
	margin-left: auto;
	margin-right: auto;
	padding-top: 10px;
	width: 40%;
}



}


@media (max-width: 500px) {
.grid-child {
	width: 40%;
	margin-left: 0px;
	margin-right: 0px;
}

.navbar-brand a {
	display: block;
	max-width: 90%;
}
}	
	
	
	
	
@media (max-width: 400px) {
	.bloc-parent1 {
	width: 90%;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	font-size: 9pt;
	
}

.dag5 {
	font-size: 9pt;
}

h2, h1 {
    font-size: 1.1em;
}

.navbar-brand a {
	display: block;
	max-width: 90%;
}

.dag11 {
	width: 100%;
}


.textes {
    top: 120px;

}

.texte {
    padding: 0px 10px;
    font-size: 12px;
	border-radius: 15px;
	line-height: 0.9em;
}




}
	