.w3-theme-d3, 
.w3-hover-theme-d3:hover {color:#fff !important; background-color:#003466 !important}
table.tablePadding1 tr td {padding: 1px;}
.w3-theme {color:#000 !important; background-color:#7fc0d6 !important}
.w3-hover-theme:hover {color:#fff !important; background-color:#484848 !important}
.w3-hover-theme-dark:hover {color:#fff !important; background-color:#242424 !important}
.w3-hover-text-theme {color:#484848 !important}
.w3-hover-border-theme:hover {border-color:#484848 !important}
@-webkit-keyframes fadein {from {bottom: 0; opacity: 0;}to {bottom: 150px; opacity: 1;}}
@keyframes fadein {from {bottom: 0; opacity: 0;}to {bottom: 150px; opacity: 1;}}
@-webkit-keyframes fadeout {from {bottom: 150px; opacity: 1;}to {bottom: 0; opacity: 0;}}
@keyframes fadeout {from {bottom: 150px; opacity: 1;}to {bottom: 0; opacity: 0;}}
.picto-item {position: relative;border-radius: 50%;}
.picto-item:hover:after,
.picto-item:focus:after {content: attr(aria-label);left: 100%;z-index: auto;color: #fff;}
[aria-label]:focus {outline: none;}
@-webkit-keyframes spin {0% { -webkit-transform: rotate(0deg); }100% { -webkit-transform: rotate(360deg); }}
@keyframes spin {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}
.animate-bottom {position: relative;-webkit-animation-name: animatebottom;-webkit-animation-duration: 1s;animation-name: animatebottom;animation-duration: 1s}
@-webkit-keyframes animatebottom {from { bottom:-100px; opacity:0 }to { bottom:0px; opacity:1 }}
@keyframes animatebottom {from{ bottom:-100px; opacity:0 }to{ bottom:0; opacity:1 }}
.w3-contentPage{max-width:1100px;margin:auto;height: 100%;background: #fff url("groovepaper.png");box-shadow:0 2px 4px 0 rgba(0,0,0,0.16),2px 2px 10px 2px rgba(0,0,0,0.12)!important}
#btnScrollTop {display: none;position: fixed;bottom: 50px;right: 30px;z-index: 99;border: none;outline: none;background-color: #003466;color: white;cursor: pointer;padding: 5px;border-radius: 10px;font-size: 15px;}
#btnScrollTop:hover {background-color: #7fc0d6;}
.containerImg {position: relative;text-align: center;}
.titreBleu {font-weight: bold;font-size: 22px;color:#60a0b2;}
.titreBleuF {font-weight: bold;font-size: 22px;color:#003466;}
#liens_content_accueil{margin:5px -10px;padding:0px;}
#liens_content_accueil li{float:left;padding:10px;list-style:none;}
#liens_content_accueil li a{display:block;position:relative;text-align:center;text-decoration:none;font-size: 14px;border: 4px #ddf0f4 solid;padding:10px 10px 48px 10px;border-radius:4px;min-height:142px;max-height:142px;}
.selectedA {border: 4px #84bf2c solid !important;}
#liens_content_accueil li a span{font-weight: bold;}
#liens_content_accueil li a span:before{content:'';display:block;background:url(../ctfc_images/fleche_lien_content_accueil.png);width:12px;height:7px;margin:auto;margin-top:-10px;margin-bottom:5px;}
#liens_content_accueil li a:hover span{color:#000000;}
#liens_content_accueil li a:hover{box-shadow: 0px 0px 12px rgba(0,0,0,0.20);background-color:#FFFFFF;}
.bulle_accompagnement{margin:0 20px 20px 0;background: #c9e0ef;padding:15px;border-radius:4px;font-size: 12px;text-align: center;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.texteAccueilVert {color: #008001;font-weight: bold;}
.nobgsmall {cursor: pointer;}
@media (max-width:768px) {
	#liens_content_accueil li a span:before {background: none !important;}
	#liens_content_accueil {margin: 0;}
	#liens_content_accueil li {float: none;padding:0;min-height:30px;}
	#liens_content_accueil li a {min-height: 5px;padding: 10px;}
	.nobgsmall {background: none !important;}
}
.navbar {overflow: hidden;width: 100%;background-color: #003466 !important;}
.navbar2 {overflow: hidden;width: 100%;background-color: #7fc0d6 !important;}
.navbar a, .navbar2 a {float: left;font-size: 12px;color: white;text-align: center;padding: 12px;text-decoration: none;height: 52px;display: flex;justify-content: center;align-items: center;}  
.dropdown, .dropdown2 {float: left;overflow: hidden;width: 10%;}
.dropdown .dropbtn {font-size: 12px;border: none;outline: none;color: white;background-color: inherit;font-family: inherit;margin: 0;height: 52px;width: 100%;}
.dropdown2 .dropbtn2 {font-size: 12px;border: none;outline: none;color: black;background-color: inherit;font-family: inherit;margin: 0;height: 52px;width: 100%;}
.dropbtn, .dropbtn2 {min-width: 100px;}
.navbar a:hover, .dropdown:hover .dropbtn {background-color: #7fc0d6 !important; color:black}
.navbar2 a:hover, .dropdown2:hover .dropbtn2 {background-color: #003466; color:white}
.dropdown-content, .dropdown-content2 {display: none;position: absolute;background-color: #f9f9f9;box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);z-index: 1;}
.dropdown-content a, .dropdown-content2 a {float: none;color: black;padding: 0px;padding: 10px 12px;text-decoration: none;display: block;text-align: left;height: 40px;min-width: 100px;}
.dropdown-content a:hover, .dropdown-content2 a:hover {background-color: #ddd; color: black;}
.dropdown:hover .dropdown-content, .dropdown2:hover .dropdown-content2 {display: block;}
.class11item {width: 10%;}
.navbar .icon {display: none;}

@media screen and (max-width: 905px) {
	.navbar a {font-size: 15px;}
	.dropdown .dropbtn {font-size: 15px;}
	.navbar .dropdown .dropbtn {display: none;width: 100%;}
	.navbar a {display: none;width: 100%;}
	.navbar a.icon {float: right;display: block;text-align: left;}
}
@media screen and (max-width: 905px) {
	.navbar.responsive {position: relative;}
	.navbar.responsive a.icon {right: 0;top: 0;}
	.navbar.responsive a {float: none;display: block;text-align: left;width: 100%;}
	.dropdown {width: 100%;}
	.navbar.responsive .dropdown {float: none;}
	.navbar.responsive .dropdown-content {position: relative;}
	.navbar.responsive .dropdown .dropbtn {display: block;width: 100%;text-align: left;}
}
.btCtfc {background-color: #003466;border: none;color: white;cursor: pointer;padding: 5px;border-radius: 10px;font-size: 15px;outline: none}
.btCtfc:hover {background-color: #7fc0d6;color: black}
.btCtfc2 {background-color: #7fc0d6;border: none;color: black;cursor: pointer;padding: 5px;border-radius: 10px;font-size: 15px;outline: none}
.btCtfc2:hover {background-color: #003466;color: white}
.subNavbar {overflow: hidden;width: 100%;}
.subNavbar a {background-color: #7fc0d6;border-radius: 5px;margin: 2px;float: left;font-size: 12px;color: black;text-align: center;padding: 12px;text-decoration: none;height: 50px;display: flex;justify-content: center;align-items: center;}
.subNavbar a:hover {background-color: #003466 !important;cursor: pointer;color: white}
.class8item {width: 12.1%;}
@media screen and (max-width: 1100px) {
	.class8item {width: 24%;}
}
.activeBlue {background-color: #003466 !important;color: white !important}
.accordion {background-color: white;cursor: pointer;padding: 8px;width: 100%;text-align: left;border: none;border-top: 2px solid #7fc0d6;outline: none;transition: 0.4s;}
.activeAccordion, .accordion:hover {background-color: #ccc;}
.panel {padding: 0 18px;background-color: white;display: none;overflow: hidden;}
.columnCard3 {float: left;width: 33.3%;padding: 0 10px;}
.rowCard {margin: 0 -5px;}
.rowCard:after {content: "";display: table;clear: both;}
@media screen and (max-width: 600px) {
  .columnCard3 {width: 100%;display: block;margin-bottom: 20px;}
  .class8item {width: inherit;}
}
.card {box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);padding: 16px;background-color: white;border-radius: 25px;}
.card:hover {
	box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2)
}
.card a:hover{color:#003466;}
.responsiveImg {max-width: 100%;height: auto;}
.columnImg {float: left;}
.rowImg::after {content: "";clear: both;display: table;}
.docCol1 {width: 68%;color: #F08A04;cursor:pointer;}
.docCol1:hover {text-decoration: underline;}
.docCol2 {width: 30%;}
.docCol3 {width: 15%;}
.docCol4 {width: 2%;}
.docCol4:hover {background-color: #ccc;text-decoration: underline;}

.accordionTournee {cursor: pointer;border: none;outline: none;transition: 0.4s;}
.panelTournee {padding: 0 18px;display: none;overflow: hidden;}

.accordionAnnonce {cursor: pointer;border: none;outline: none;transition: 0.4s;background-color: white;}
.panelAnnonce {padding: 0 18px;display: none;overflow: hidden;}

/* Fading animation */
.fadeImg {-webkit-animation-name: fadeImg;-webkit-animation-duration: 1.5s;animation-name: fadeImg;animation-duration: 1.5s;}
@-webkit-keyframes fadeImg {from {opacity: .4} to {opacity: 1}}
@keyframes fadeImg {from {opacity: .4} to {opacity: 1}}
.mySlides {display: none;}
.hrefFooter {background-color: white;width: 100%;text-align: right;}
.loader {position: fixed;left: 50%;top: 55%;z-index: 1;margin: -75px 0 0 -75px;border: 16px solid #484848;border-radius: 50%;width: 120px;height: 120px;-webkit-animation: spin 2s linear infinite;animation: spin 2s linear infinite;border-top: 16px solid #484848;border-right: 16px solid #7b7b7b;border-bottom: 16px solid #484848;border-left: 16px solid #7b7b7b;}
/* Safari */
@-webkit-keyframes spin {0% { -webkit-transform: rotate(0deg); }100% { -webkit-transform: rotate(360deg); }}
@keyframes spin {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}
.modal-contentHalf {background-color: #fefefe;margin: 0 auto 0 auto;border: 1px solid #888;width: 40%;}
.modal2 {display: none; /* Hidden by default */position: fixed; /* Stay in place */z-index: 1; /* Sit on top */left: 0;top: 0;width: 100%; /* Full width */height: 100%; /* Full height */overflow: auto; /* Enable scroll if needed */background-color: rgb(0,0,0); /* Fallback color */background-color: rgba(140,140,140,1); /* Black w/ opacity */padding-top: 60px;}
/* The Modal (background) */
.modal {display: none; /* Hidden by default */position: fixed; /* Stay in place */z-index: 1; /* Sit on top */left: 0;top: 0;width: 100%; /* Full width */height: 100%; /* Full height */overflow: auto; /* Enable scroll if needed */background-color: rgb(0,0,0); /* Fallback color */background-color: rgba(0,0,0,0.4); /* Black w/ opacity */padding-top: 60px;}  
.modal-content {background-color: #fefefe;margin: 5px auto; /* 15% from the top and centered */border: 1px solid #888;/*width: 80%; /* Could be more or less, depending on screen size */width: 60%; /* Could be more or less, depending on screen size */}
.close {color: #000;font-size: 35px;font-weight: bold;}
.close:hover,.close:focus {color: red;cursor: pointer;}
/* Add Zoom Animation */
.animate {-webkit-animation: animatezoom 0.6s;animation: animatezoom 0.6s}
@-webkit-keyframes animatezoom {from {-webkit-transform: scale(0)}to {-webkit-transform: scale(1)}}
@keyframes animatezoom {from {transform: scale(0)}to {transform: scale(1)}}
.rotate {/* FF3.5+ */-moz-transform: rotate(-90.0deg);/* Opera 10.5 */-o-transform: rotate(-90.0deg);/* Saf3.1+, Chrome */-webkit-transform: rotate(-90.0deg);/* IE6,IE7 */filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=0.083);/* IE8 */-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)";/* Standard */transform: rotate(-90.0deg);}
.hideTd {visibility: hidden;border:none}
.tdDeclarationLeft {padding: 0;background-color: white;border:2px solid;}
.tdDeclarationDisabled {background-color: white;}
.selectDeclaration {text-align-last: center;width: 100%;outline:none;border:none;}
.tdDeclarationSaisie {padding: 8px!important;vertical-align: middle!important;}
.tdDeclarationSaisieBtAjout {vertical-align: middle!important;text-align: center!important;}
.inputDeclaration {width: 100%;outline:none;border:none;text-align: right;}
.w3-theme-cigc {color:#000 !important;}

.tGlobal{background-color: #d9e1f2;}
.tCigc{background-color: #ccffcc;}
.tMtor{background-color: #ffe699;}
.tBleu{background-color: #ddebf7;}
.tMorbier{background-color: #fce4d6;}

.tbBorderAll1 td {
	border-top: 1px solid;
	border-bottom: 1px solid ;
	border-left: 1px solid ;
	border-right: 1px solid ;
}

.tbBorderAll2 th{
	border: 2px solid ;
}

.tbBorderAll2 tfoot{
	border: 2px solid ;
}

/* =========================================================================
   CONTENEUR GLOBAL DU TABLEAU
   ========================================================================= */
.table-responsive-figee {
    position: relative;
    width: 100%;
    max-height: 75vh !important; /* Limite la hauteur du bloc à 75% de l'écran pour activer le scroll vertical */
    overflow-y: auto !important;  /* Active le défilement vertical interne (clé du succès pour le sticky haut) */
    overflow-x: auto !important;  /* Conserve le défilement horizontal */
}

/* =========================================================================
   FIGEAGE VERTICAL : L'EN-TÊTE DU TABLEAU (SCROLL VERS LE BAS)
   ========================================================================= */
/* On fige TOUS les TH vers le haut */
.table-responsive-figee table thead tr th {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important; /* Priorité supérieure aux TD figés sur les côtés (z-index 2) */
    background-color: #7fc0d6 !important; /* Couleur bleu clair de ton en-tête */
    color: #000 !important;
}

/* =========================================================================
   FIGEAGE HORIZONTAL : LES COLONNES SUR LES CÔTÉS (SCROLL VERS LA DROITE)
   ========================================================================= */
/* Base commune pour toutes les cellules figées à gauche (Colonnes 1 et 2) */
.table-responsive-figee th.col-figee-1,
.table-responsive-figee td.col-figee-1,
.table-responsive-figee th.col-figee-2,
.table-responsive-figee td.col-figee-2 {
    position: sticky !important;
    z-index: 2; /* En dessous de l'en-tête du haut */
}

/* Positionnement et bordure de la colonne 1 */
.table-responsive-figee .col-figee-1 {
    left: 0 !important;
    border-right: 2px solid #bbb !important;
}

/* =========================================================================
   INTERSECTION CRITIQUE : LE COIN HAUT-GAUCHE (FIXE DANS LES DEUX SENS)
   ========================================================================= */
/* Les TH qui sont à la fois collés en haut ET figés à gauche (Ex: TH Date ou TH Analyse) */
.table-responsive-figee thead th.col-figee-1,
.table-responsive-figee thead th.col-figee-2 {
    z-index: 20 !important; /* Le z-index le plus élevé pour rester TOUJOURS visible au-dessus de tout */
    background-color: #7fc0d6 !important;
    color: #000 !important;
}

/* =========================================================================
   STYLES ET COULEURS DES LIGNES (TD & TFOOT)
   ========================================================================= */
/* Lignes impaires (blanches par défaut) */
.table-responsive-figee tr td.col-figee-1,
.table-responsive-figee tr td.col-figee-2 {
    background-color: #ffffff !important;
}

/* Lignes paires (Effet w3-striped : gris standard) */
.table-responsive-figee tr:nth-child(even) td.col-figee-1,
.table-responsive-figee tr:nth-child(even) td.col-figee-2 {
    background-color: #f1f1f1 !important;
}

/* Pied de page (TFOOT) restant figé à gauche */
.table-responsive-figee tfoot td.col-figee-1 {
    position: sticky !important;
    left: 0 !important;
    background-color: #f1f1f1 !important; /* Couleur grise w3-light-grey */
    z-index: 11 !important; /* Juste au-dessus des lignes normales, mais sous l'en-tête si gros scroll */
    font-weight: bold;
    border-right: 2px solid #bbb !important;
}