html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td {margin: 0; padding: 0;}
table {border-collapse: collapse;}

@font-face {
    font-family: 'Blinker';
    src: url('/fonts/Blinker-SemiBold.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Blinker';
    src: url('/fonts/Blinker-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Blinker';
    src: url('/fonts/Blinker-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}


@font-face {
    font-family: 'Open Sans';
    src: url('/fonts/OpenSans-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 100 1000;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 100 1000;
    font-style: italic;
}

@font-face {
    font-family: 'Sarabun';
    src: url('/fonts/Sarabun-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Audiowide';
    src: url('/fonts/Audiowide-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}



h1 {font-size: 36px; font-weight: normal; padding-bottom: 20px; color: #120e2b; line-height: 50px; font-family: 'Blinker';}
h2 {font-size: 39px; color: #072b4c; font-weight: 500; font-family: 'Blinker';}

/*h1::after {
  content: "";
  display: block;
  width: 100px;      
  height: 20px;     
  margin: 5px auto 0;

  background-image: url("/img/isone-sous-titre.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
h2::after {
  content: "";
  display: block;
  width: 100px;      
  height: 20px;     
  margin: 20px auto 0;

  background-image: url("/img/isone-sous-titre.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}*/


h1::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background-color: #e1ae00;
  margin: 10px auto 0;
  border-radius: 3px;
}
h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background-color: #e1ae00;
  margin: 25px auto 0;
  border-radius: 3px;
}
h3 {font-size: 24px; color: #072b4c; font-weight: 500; font-family: 'Blinker';}
ul {padding-left: 18px; list-style-position: inside;}
li {padding-bottom: 8px;}
strong, b {font-weight: 680;}

p {padding-bottom: 15px; line-height: 23px;}
.clear {clear: both; height: 2px;}

body {font-family: 'Open Sans'; font-size: 17px; font-weight: 400; color: #2a2c2f; margin: 0; padding: 0; line-height: 23px;}

header {box-shadow: rgb(0 0 0 / 15%) 0 0px 8px; position: fixed; width: 100%; background-color: #0b2d4e; z-index: 1000;}
header.bar-desc #en-tete .logo {width: 78px; padding-top: 5px; padding-bottom: 5px; padding-left: 20px;}

header #en-tete .logo {transition-duration: 0.2s; padding-top: 10px; width: 130px; padding-bottom: 7px;}
header #menu {transition-duration: 0.2s;}


#en-tete {max-width: 1280px; margin: auto; padding: 0 20px;}

#fond-menu {float: right;}

#haut_page {background-image: url('/img/fond_haut.png'); height: 175px; position: relative; z-index: -2;}
#haut_page_fond_droit{position:absolute; background-image: url('/img/fond_haut_droit.png'); right: 0px; width:50%; height:100%; z-index: -1;}
#haut_page_fond {background-image: url("/img/bandeau-asa.png"); background-repeat: no-repeat; background-position: 0 -4px; height: 165px; width: 1160px; margin: auto; border-bottom: 5px solid #FFB400; border-top: 5px solid #FFB400; position: relative;}
#logo {position: absolute; left: 62px; top: 0px;}
#haut_logo {background-image: url("/img/haut-logo-ASA.png"); background-repeat: no-repeat; width: 231px; height: 165px; position: absolute; left: 62px; top: 0px; z-index: 2; background-position: 0 -90px;}
#bas_logo {background-image: url("/img/bas-logo-ASA.png"); background-repeat: no-repeat; width: 231px; height: 165px; position: absolute; left: 62px; top: 0px; z-index: 1; background-position: 0 170px;}
#titre_haut {position: absolute; top: 0px; line-height: 35px; left: 440px; font-size: 17px; font-style: italic;}
#photos_haut {position: absolute; width: 556px; height: 126px; bottom: -1px; left: 605px;}


#page-accueil-diaporama .diaporama {padding-top: 103px; position: relative; height: 560px; overflow: hidden;}
#page-accueil-diaporama .desc {text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8), 0px 0px 10px rgba(0, 0, 0, 0.6); line-height: 65px; position: absolute; top: 455px; left: 0; width: 100%; text-align: center; font-family: 'Audiowide'; font-size: 46px; color: white; height: 190px; z-index: 10;}
#page-accueil-diaporama .diaporama .diapo-prod img {width: 100%;}

#page-accueil-diaporama .diaporama .slide {position: absolute; top: 103px; left: 0; width: 100%; z-index: 10;}
#page-accueil-diaporama .diaporama .diapo-prod {float: left; width: 50%; height: 435px; box-sizing: border-box; padding-left: 0; padding-right: 0; position: relative;}
#page-accueil-diaporama .diaporama .diapo-prod.droite {padding-left: 2px;}
#page-accueil-diaporama .diaporama .diapo-prod {position: relative; display: inline-block;}
#page-accueil-diaporama .diaporama .diapo-prod::after {content: ""; position: absolute; bottom: -162px; left: 0; width: 100%; height: 30%; /* ajuste la hauteur du dégradé */ background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0)); pointer-events: none; /* laisse les clics passer à travers */}



#page-autre-diaporama .diaporama {padding-top: 103px; position: relative; height: 315px; overflow: hidden;}
#page-autre-diaporama .desc {text-shadow: 0px 0px 15px rgba(0, 0, 0, 1); position: absolute; top: 500px; left: 0; width: 100%; text-align: center; font-family: 'Audiowide'; font-size: 38px; color: white; height: 190px; z-index: 10;}
#page-autre-diaporama .diaporama .diapo-prod img {width: 100%;}

#page-autre-diaporama .diaporama .slide {position: absolute; top: 103px; left: 0; width: 100%; z-index: 10;}
#page-autre-diaporama .diaporama .diapo-prod {float: left; width: 33.33%; height: 200px; box-sizing: border-box; padding-left: 1px; padding-right: 1px; position: relative;}
#page-autre-diaporama .diaporama .diapo-prod {position: relative; display: inline-block;}
#page-autre-diaporama .diaporama .diapo-prod::after {content: ""; position: absolute; bottom: -130px; left: 0; width: 100%; height: 30%; /* ajuste la hauteur du dégradé */ background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0)); pointer-events: none; /* laisse les clics passer à travers */}

#page-accueil-diaporama h1.desc::after {content: none;}


#page-accueil-categorie {/*background-color: #faf8f2;*/ padding: 30px 0; background-image: url('/img/fond-section-photos-videos.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center;}
#page-accueil-categorie .categorie1 {display: flex; flex-wrap: nowrap; justify-content: center;}
#page-accueil-categorie .categorie1 .bloc {position: relative; box-shadow: 0 0 12px rgba(0, 0, 0, 0.04); width: 305px; padding: 25px 15px; margin: 50px 15px; background-color: white; border-radius: 10px;}
#page-accueil-categorie .categorie1 .bloc .titre {color: #072b4c; font-weight: 500; font-size: 24px; font-family: 'Blinker'; text-align: center; padding-bottom: 25px; line-height: 25px;}
#page-accueil-categorie .categorie1 .bloc .titre a {color: #072b4c; text-decoration: none;}
#page-accueil-categorie .categorie1 .bloc .photo {text-align: center; padding-bottom: 60px; height: 320px; display: grid; place-items: center;}
#page-accueil-categorie .categorie1 .bloc .photo a {display: inline-block;}
#page-accueil-categorie .categorie1 .bloc .photo img {max-width: 225px;}
#page-accueil-categorie .categorie1 .bloc .lien {text-align: center; position: absolute; width: 280px; bottom: 25px;}
#page-accueil-categorie .categorie1 .bloc .lien a {display: inline-block; padding: 0 15px; background-color: #e1ae00; color: white; text-decoration: none; font-size: 16px; line-height: 38px; border-radius: 3px; font-weight: 600;}
#page-accueil-categorie .categorie1 .bloc .lien a:hover {background-color: #cda007;}

#page-accueil-categorie .categorie2 {display: flex; flex-wrap: nowrap; justify-content: center;}
#page-accueil-categorie .categorie2 .bloc {width: 285px; box-shadow: 0 0 12px rgba(0, 0, 0, 0.04); padding: 25px 20px; margin:  0 20px 50px 20px; background-color: #0b2d4e; color: white; text-align: center; border-radius: 10px;}
#page-accueil-categorie .categorie2 .bloc.invisible {visibility: hidden;}
#page-accueil-categorie .categorie2 .bloc .titre {font-weight: 400; font-size: 24px; font-family: 'Blinker'; text-align: center; padding-bottom: 35px; text-transform: uppercase; line-height: 29px;}
#page-accueil-categorie .categorie2 .bloc .titre a {color: white; text-decoration: none;}
#page-accueil-categorie .categorie2 .bloc .titre.two-line {padding-bottom: 20px;}
#page-accueil-categorie .categorie2 .bloc .lien {text-align: center;}
#page-accueil-categorie .categorie2 .bloc .lien a {display: inline-block; padding: 0 15px; background-color: #e1ae00; color: white; text-decoration: none; font-size: 15px; line-height: 38px; border-radius: 3px; font-weight: 600;}
#page-accueil-categorie .categorie2 .bloc .lien a:hover {background-color: #cda007;}

#partenaires {margin-top: 70px; margin-bottom: 70px;}
#partenaires h2 {text-align: center; color: #072b4c; font-size: 39px; font-weight: 600;}
#partenaires .liste-partenaires {display: flex; flex-wrap: wrap; justify-content: center; width: 1320px; margin: auto; margin-top: 30px;}
#partenaires .liste-partenaires a {display: block; padding: 25px; position: relative; display: grid; place-items: center;}
#partenaires .liste-partenaires a img {max-width: 161px; max-height: 90px;}

#page #contenu {padding: 45px 20px; margin: auto; max-width: 1200px;}

.liste-produits {display: flex; flex-wrap: wrap; justify-content: center;}

.produit {width: 25%; padding: 20px; background-color: white; margin: 25px; text-align: center; border-radius: 5px; box-shadow: 0 0 12px rgba(0, 0, 0, 0.04);}
.produit .photo {margin-bottom: 22px;}
.produit .photo img {border: 1px solid #CCC; width: 100%; display: block; border-radius: 5px;}
.produit .nom {font-weight: bold; color: #120e2b; margin-bottom: 3px; margin-top: 5px; font-size: 18px; font-weight: 650; }
.produit .desc {margin-bottom: 15px; line-height: 16px;}
.produit .prix {font-weight: 600; margin-bottom: 5px; font-size: 17px;}

.imprimer-bc {text-align: center; padding-bottom: 15px; padding-top: 15px;}
.imprimer-bc a {background-color: #e1ae00; display: inline-block; padding: 0px 20px; text-transform: uppercase; text-decoration: none; color: white; font-weight: 500; font-size: 17px; line-height: 45px; border-radius: 3px;}
.imprimer-bc a:hover {background-color: #cda007;}



footer {background-color: #1f242f; color: #f6f6f6; margin-top: auto; font-size: 17.5px;}
.footer-main {display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 40px; padding-bottom: 40px; gap: 6rem; max-width: 1280px; margin: auto;}
.footer-column {min-width: 250px;}
.footer-column.column1 {display: flex; align-items: center;}
.footer-column:nth-child(1) {flex: 1.3;}
.footer-column:nth-child(2) {flex: 1.5;}
.footer-column:nth-child(3) {flex: 1;}
.footer-column p { margin-bottom: 1rem; color: #d1d1d1; text-align: left; font-size: 0.9rem; font-weight: 300; padding-top: 20px;}

.contact-info {list-style: none; padding: 0; margin: 0;}
.contact-info .tel {font-size: 20px;}
.contact-info li, .contact-info li a {display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit;}
.contact-info li {margin-bottom: 2px;}
.contact-info .icon {display: flex; justify-content: center; align-items: center; width: 70px;}
.contact-info .icon img {height: auto; display: block;}

.footer-links {list-style: none; padding: 0; margin: 0;}
.footer-links li {padding-bottom: 10px;}
.footer-links a {font-size: 16px; color: #dedede; text-decoration: none; font-weight: 300;}

.footer-bottom {background-color: #2b313d; padding: 0.8rem 0; text-align: center; font-size: 14px; color: #f6f6f6; font-weight: 300;}
.footer-bottom a {text-decoration: none; color: #f6f6f6;}
.footer-bottom a:hover {text-decoration: underline;}
.footer-bottom p {padding-bottom: 0;}

.footer-main .titre {font-weight: bold; font-size: 19px; padding-bottom: 20px; text-transform: uppercase;}
.footer-logo {margin: auto;}


/* Bande décorative */
.footer-top-band {
  display: flex;
  width: 100%;
  height: 42px; /* ajuste selon la hauteur de tes images */
}

/* Image gauche */
.band-left {
  width: 455px; /* largeur exacte de ton image gauche */
  background: url("/img/pied-de-page-bdgauche.png") no-repeat left center;
  background-size: cover;
}

/* Image centre (répétée) */
.band-center {
  flex: 1;
  background: url("/img/pied-de-page-bdcentre.png") repeat-x center;
  background-size: auto 100%;
}

/* Image droite */
.band-right {
  width: 350px; /* largeur exacte de ton image droite */
  background: url("/img/pied-de-page-droit.png") no-repeat right center;
  background-size: cover;
}






#fond_diaporama { width: 764px; margin-top: 15px;     box-shadow: rgb(0 0 0 / 20%) 0 1px 4px;
    background-color: white;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 4px;
    margin-top: 35px;
    padding-bottom: 35px;}
#diaporama_accueil_fond {float: left; width: 447px; height: 280px; background-image: url('/img/fond-diaporama.png'); background-repeat: no-repeat; overflow: hidden; margin-right: 15px;     margin-top: -40px;
    margin-left: -25px;}
#diaporama_accueil {margin: 9px;}
#desc_diaporama {float: left; width: 283px; padding: 35px 15px; padding-bottom: 0;}
#titre_diaporama {font-size: 15px; color: #120e2b; font-weight: bold; padding-bottom: 10px;}
#texte_diaporama {line-height: 18px; padding-bottom: 0; font-size: 13px;}

.lien_suite {display: block; z-index: 10; text-decoration: none; width: 110px; height: 20px; line-height: 20px; font-style: italic; background-image: url("/img/fond-suite.png"); text-align: center; color: white; float: right;}
.titre_cadre {color: #EDECF8; font-weight: normal; line-height: 36px; padding-top: 4px; padding-left: 15px; font-size: 15px; background-image: url("/img/volant.png"); background-repeat: no-repeat; background-position: 13px 10px; padding-left: 45px; text-shadow: 1px 1px 1px rgb(20, 20, 20);}
.lien_telechargement {display: block; position: absolute; bottom: 20px; left: 305px; text-decoration: none; color: #0D6485;}

.contenu_actualite img {border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px;}
.photo_actualite {float: left; width: 285px; text-align: center; height: 155px;}
.desc_actualite {float: left; width: 417px; margin-left: 20px; position: relative; padding-bottom: 30px;}
.titre_actualite a, .titre_actualite {font-size: 39px; color: #072b4c; font-weight: 600; text-decoration: none; padding-bottom: 55px; text-align: center;}
.titre_actualite a:hover {text-decoration: underline;}
.date_actualite {padding-bottom: 10px; padding-top: 2px; font-size: 11px; color: #6e6e6e;}
.photo_actualite2 {float: right; margin-left: 70px; margin-bottom: 30px; border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px;}
.texte_actualite {padding: 0; margin: 0; font-size: 16px; line-height: 22px; font-weight: 400;}
.trait_actualite {border-bottom: 1px dashed #CCCCCC; margin-bottom: 5px;}

#titre_download {background-color: #2B2458; color: white; text-align: center; line-height: 27px; font-weight: normal; font-size: 15px; clear: both;}
.texte_actualite a {text-decoration: none; color: #0D6485;}

.cadre_news_haut {background-image: url('/img/cadre_news_haut.png'); background-repeat: no-repeat; width: 762px; height: 39px; margin-top: 15px;}
.cadre_news_haut .titre_cadre {text-shadow: none; color: white;}
.cadre_news_bas {background-image: url('/img/cadre_news_bas.png'); width: 762px; height: 7px;}
.cadre_news_contenu {background-image: url('/img/cadre_news_contenu.png'); width: 762px; background-repeat: repeat-y;}
.contenu_news {position: relative; padding-top: 15px; padding-left: 25px; padding-right: 25px; padding-bottom: 30px; line-height: 25px;}
.titre_news {font-size: 14px; color: rgb(221, 156, 0); font-weight: bold; text-decoration: none;}
.date_news {font-size: 14px; color: #120e2b;}
.titre_news:hover {text-decoration: underline;}

#cadres_photos_videos {height: 290px;}
.cadre_min {float: left; position: relative; background-image: url('/img/cadre-min.png'); width: 371px; height: 270px; margin-top: 20px;}
.titre_cadre_min {text-align: center; color: #120e2b; margin-top: 6px; text-decoration: underline; font-weight: bold;}
.diaporama_photo_min {text-align: center; margin-left: 10px; z-index: 2; position: relative;}
.diaporama_photo_min img {border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px;}
.video_accueil {margin-left: 35px; margin-top: 15px;}
.video, .video2 {display: block; width: 350px; height: 210px; overflow: hidden; position: relative; border-radius: 3px;}
.video_titre, .video_titre2 {position: absolute; top: 0; left: 0; width: 294px; background: black; color: white; opacity: 0.85; line-height: 28px; padding-left: 6px; font-size: 13px; text-transform: uppercase; text-align: center;}
.video_bouton_lecture, .video_bouton_lecture2 {position: absolute; top: 0px; left: 0px; background-image: url("/img/bouton_lecture_off.png"); background-position: 152px 86px; background-repeat: no-repeat; width: 350px; height: 205px;}
.video_bouton_lecture:hover, .video_bouton_lecture2:hover {background-image: url("/img/bouton_lecture_on.png");}

#cadre_association {position: relative; background-image: url('/img/cadre-actualites.png'); width: 762px; height: 271px; margin-top: 20px; margin-left: 1px;}
.titre_association a, .titre_association {font-size: 15px; color: #120e2b; font-weight: bold; text-decoration: none; padding-bottom: 0;}
.titre_association a:hover {text-decoration: underline;}
.date_association {padding-bottom: 10px; padding-top: 2px; font-size: 11px; color: #6e6e6e;}
.contenu_association {margin-top: 20px; padding-left: 20px; padding-right: 20px; position: relative; height: 135px;}
.texte_association {line-height: 15px;}


.titre_galerie_photo, .titre_galerie_video {padding-top: 30px; padding-bottom: 25px;}


#table_asso {margin-top: 25px; margin-bottom: 45px; line-height: 22px;}
#table_asso td {width: 238px;}
.table_asso_titre {text-align: center; background-color: #2B2458; color: white;}
.titre_actualite_asso {background-color: #2B2458; color: white; text-align: center; line-height: 22px; font-weight: normal; font-size: 13px;}
.trait_association {border-bottom: 1px dashed #CCCCCC; margin-bottom: 8px;}


.cadre_page_contenu.infos-pratique {display: flex; flex-wrap: nowrap; gap: 80px;}
#infos_gauche {flex: 1;}
#infos_droit {flex: 1.2; background: rgb(247, 247, 247); padding: 35px 45px; border-radius: 10px;}

.titre_infos {padding-bottom: 10px; text-align: center; padding-bottom: 45px;}
#formulaire_contact {margin-top: 8px;}
#formulaire_contact input, #formulaire_contact textarea {padding: 4px;}
#formulaire_contact td {padding-top: 5px;}
#infos_licence {margin-top: 50px; line-height: 18px;}
#infos_licence ul {margin-top: 5px; margin-bottom: 20px; margin-left: 16px;}
#infos_licence li {padding-top: 5px;}
#infos_licence a {color: #120e2b;}

.titre_partenaire {background-color: #2B2458; color: white; text-align: center; line-height: 22px; font-weight: normal; font-size: 12px;}
.partenaire {padding-top: 20px;}
.lien_parternaire a {color: #120e2b; font-size: 13px;}
.desc_partenaire {padding-top: 5px; color: #5C5C5C;}

/* Pagination photos */
#pagination {position: relative; margin-top: 35px; padding-right: 40px; font-size: 14px; padding-bottom: 10px; margin-left: auto; margin-right: auto;}
#pagination #table_num_page {margin: auto;}
#pagination a, #pagination .select {background: #0b2d4e; font-weight: 400; border: 1px solid #0b2d4e; color: white; padding: 5px 10px; text-decoration: none; font-size: 16px; margin: 5px; border-radius: 3px;}
#pagination a:hover {background: #e1ae00; border: 1px solid #e1ae00;}
#pagination .select, #pagination #table_num_page2 a:hover {background: #e1ae00; border: 1px solid #e1ae00; font-weight: 700; border-radius: 3px;}


.photo-mosaique {float: left; margin-right: 35px; margin-bottom: 20px;}
.lien-mosaique {text-align: center; text-decoration: none; color: black; padding-top: 20px;}
.lien-mosaique a {background-color: #e1ae00; display: inline-block; padding: 0px 20px; text-transform: uppercase; text-decoration: none; color: white; font-weight: 500; font-size: 15px; line-height: 40px; border-radius: 3px;}
.lien-mosaique a:hover {background-color: #cda007;}

#page ul {margin-top: 15px; margin-bottom: 15px; margin-left: 15px;}

#page.page-partenaire a {color: #120e2b; font-size: 13px;}
#page.page-partenaire {color: #5C5C5C;}
#page.page-partenaire .titre_partenaire {margin-bottom: 20px; margin-top: 12px; color: white;}



h2.titre-docs-tel {font-size: 28px; padding-top: 60px; text-align: center;}
#epreuve_docs h3 {padding-top: 40px; padding-bottom: 25px; text-align: center; font-size: 23px;}

#epreuve_docs .cadre .liens .lien {display: flex; flex-direction: column; gap: 1rem; padding: 1rem;  border-radius: 12px;}
#epreuve_docs .liens {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 colonnes égales */
    gap: 9px 30px; /* espace vertical / horizontal */
}

#epreuve_docs .liens:has(.download-item:only-child) {
    grid-template-columns: 1fr; /* passe en 1 colonne */
    justify-items: center;      /* centre horizontalement */
}

#epreuve_docs .liens:has(.download-item:only-child) .download-item {
	width: 100%;
	max-width: 535px;
}

#epreuve_docs .download-item {
    display: block;
    font-size: 16px;
        padding: 12px 20px 12px 48px;
}

#epreuve_docs {padding-bottom: 40px; max-width: 1100px; margin: auto;}


#formulaire_contact.feuille-resultat td {padding-top: 15px;}
#formulaire_contact.feuille-resultat label {padding-right: 5px;}





#infos_droit form {max-width: 740px; margin: auto; font-size: 14px; text-align: left;}
#infos_droit form .line input {color: rgb(80, 80, 80); width: 100%; box-sizing: border-box; float: left; border: 1px solid #c4c4c4;  border-radius: 5px; padding: 9px 12px; font-family: 'Open Sans'; font-size: 15px; background-color: white;}
#infos_droit form .line textarea {color: rgb(80, 80, 80); width: 100%; box-sizing: border-box; border: 1px solid #c4c4c4; border-radius: 5px; padding: 7px 12px; font-family: 'Open Sans'; font-size: 15px; margin-top: 3px; background-color: white;}
#infos_droit form .line textarea.message {height: 138px;}
#infos_droit form .line .input-envoi {width: 155px; border-bottom: none; border: 1px solid #003A4C; border-radius: 4px; padding: 8px 8px; margin: auto; margin-top: 0; display: block; float: none; background-color: #0b2d4e; color: white; font-size: 17px; font-weight: 500; letter-spacing: 0.7px; cursor: pointer; -moz-transition-duration: 0.4s; -o-transition-duration: 0.38s; -webkit-transition-duration: 0.38s; transition-duration: 0.38s;}
#infos_droit form .line .input-envoi:hover {background-color: #003A4C ;}
#infos_droit form .line {float: left; box-sizing: border-box; width: 100%; padding-left: 10px; padding-right: 10px; padding-top: 16px;}
#infos_droit form .g-recaptcha {float: left; width: 310px; padding-left: 10px; padding-top: 15px;}
#infos_droit form .line.col-2 {width: 50%;}
#infos_droit form .line.col-2-2 {width: 50%;}
#infos_droit form .line label {width: 100%; display: inline-block; font-size: 15px; font-weight: bold;}
#infos_droit #page form .line.texte-oblig {padding-bottom: 5px;}
#infos_droit form .input-group {display: table; width: 100%; margin-top: 5px;}
#infos_droit form .input-group .input-group-addon {display: table-cell; padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 1; color: #2d2e31; text-align: center; background-color: #e9ecef; border: 1px solid #ccc; border-radius: 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-right: 0; width: 1%; white-space: nowrap; vertical-align: middle;}
#infos_droit form .input-group input {font-size: 14px; display: table-cell;}
#infos_droit form .input-group textarea {font-size: 14px; display: table-cell; margin-top: 0; display: block;}
#nb_e, #nb_a {margin-top: 5px;}
::placeholder {color: rgb(175, 175, 175);}
:-ms-input-placeholder {color: rgb(175, 175, 175);}
::-ms-input-placeholder {color: rgb(175, 175, 175);}

#infos_droit form .texte-oblig {text-align: center; font-weight: 100;}
#infos_droit form .g-recaptcha {float: none; width: 310px; padding-top: 20px; margin: auto;}
#infos_droit form .line.consent-line {float: none; max-width: 600px; margin: auto; text-align: center;}
#infos_droit form .line.consent-line input {width: 15px; height: 15px; vertical-align: -2px; float: none;}
#infos_droit form .line.consent-line label {width: auto; text-align: center; float: none; padding-right: 0; display: inline; font-weight: 400; font-size: 14px;}

#infos_gauche .titre_infos {padding-bottom: 5px; padding-top: 35px;}
#infos_droit .titre_infos {padding-bottom: 40px;}

#section-photos-videos {background-image: url('/img/fond-section-photos-videos.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center; padding: 70px 20px;}
#section-photos-videos .contenu {max-width: 1300px; margin: auto;}
#section-photos-videos .contenu h2 {text-align: center;}
#section-photos-videos .contenu .cols {display: flex; flex-wrap: nowrap; padding-top: 30px;}
#section-photos-videos .contenu .cols .photos-gauche {width: 47%; padding-right: 6%;}
#section-photos-videos .contenu .cols .video-droite {width: 47%;}

#section-photos-videos .lien {text-align: center; margin-top: 30px;}
#section-photos-videos .lien a {background-color: #e1ae00; display: inline-block; padding: 0px 15px; text-transform: uppercase; text-decoration: none; color: white; font-weight: 500; font-size: 16px; line-height: 40px; line-height: 42px; border-radius: 3px;}
#section-photos-videos .lien a:hover {background-color: #cda007;}

#page.page-photos #contenu {max-width: 1300px;}
.liste-photos-page {display: flex; flex-wrap: wrap;}
.liste-photos-page .galerie {width: 50%; box-sizing: border-box; padding: 30px;}
.liste-photos-page .titre_galerie_photo, .liste-photos-page .titre_galerie_video {font-size: 28px;}
.liste-photos-page h2.titre_galerie_photo::after {content: none;}
.liste-photos-page h2.titre_galerie_video::after {content: none;}

.liste-photos-mosaique {display: flex; flex-wrap: wrap;}
.liste-photos-mosaique .photo-mosaique {width: 33.33%; box-sizing: border-box; border-radius: 3px; }
.liste-photos-mosaique .photo-mosaique img {width: 100%; border-radius: 5px;}

#fancybox-outer {border-radius: 3px !important; background: none !important;}
#fancybox-content {border-radius: 3px !important; border-width: 0 !important;}
#fancybox-close {position: fixed !important; top: 0 !important; right: 0 !important; background: transparent url('/img/cross.svg') !important; padding: 10px; background-size: 15px 15px !important; background-position: center !important; background-repeat: no-repeat !important; display: block !important;}
#fancybox-right-ico {opacity: 1 !important; position: fixed !important; top: 50% !important; right: 0 !important; background: transparent url('/img/cross.svg') !important; padding: 10px; background-size: 15px 15px !important; background-position: center !important; background-repeat: no-repeat !important; display: block !important;}


.infos-contact {
  padding: 0 60px;
  background: #ffffff;
  display: flex;
  justify-content: center;
  text-align: center;
}

.infos-contact p {padding-bottom: 0;}
.infos-contact .p-infos {padding-bottom: 30px; font-weight: bold; font-style: italic;}

.contact-box {
  width: 100%;
  padding: 40px 0;
}

.contact-heading {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
  color: #111;
}

.contact-item {
  margin-bottom: 25px;
}

.label {
  display: block;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: #0b2d4e;
  margin-bottom: 15px;
}

.contact-link {
  display: block;
  color: #222;
  text-decoration: none;
  margin-bottom: 5px;
  transition: 0.3s ease;
}

.contact-link.tel {font-weight: 600; font-size: 18px;}

.contact-link:hover {
  color: #0b2d4e;
}

.permanence {
  padding-top: 25px;
  color: white;
  background-color: #e1ae00;
  border-radius: 5px;
  padding: 12px 25px;
  margin-top: 40px;
}

.permanence p {font-style: italic;}
.permanence .label {color: white;}









/* Container général */
.container-rallye {
  margin: auto;
  padding: 0 20px 0;
  font-family: 'Open Sans', sans-serif;
  color: #0b2d4e;
}

.container-rallye .titre_actualite {padding-bottom: 35px;}

/* Intro */
.intro-rallye {
  text-align: center;
  margin-bottom: 60px;
}

.intro-rallye a {
	background-color: #e1ae00;
    display: inline-block;
    padding: 0px 25px;
    text-transform: uppercase;
    text-decoration: none;
    color: white;
    font-weight: 500;
    font-size: 16px;
    line-height: 42px;
    border-radius: 3px;
    margin-top: 10px;
    margin-bottom: 20px;
    transition: all 0.2s ease;
}
.intro-rallye a:hover {background-color: #cda007;}


.intro-rallye p {
  line-height: 1.7;
  max-width: 1100px;
  margin: 8px auto;
  color: #2a2c2f;
}



/* Blocs rallye */
.bloc-rallye {
  padding: 30px 20px;
  margin-bottom: 40px;
  border-left: 6px solid #e1ae00;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.06) 0px 6px 18px;
  transform: skewX(-2deg);
}

.bloc-rallye h2 {
  font-family: 'Blinker', sans-serif;
  font-size: 28px;
  margin-bottom: 30px;
  color: #0b2d4e;
  transform: skewX(2deg);
}

.bloc-rallye h2::after {content: none;}

/* Poste */
.poste {
  margin-bottom: 12px;
  transform: skewX(2deg);
}

.poste .role {
  font-weight: 700;
}

.poste .nom {
  margin-left: 10px;
  font-weight: 500;
  color: #0b2d4e;
}

.icon-volant {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url('/img/volant1.svg') no-repeat center center;
  background-size: contain;
  margin-right: 8px;
  vertical-align: middle;
}

/* Membres en style plaque rallye */
.membres-grid-rallye {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.membres-grid-rallye span {
  background-color: rgb(245,245,245);
  padding: 6px 35px;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  flex: 0 0 auto;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.membres-grid-rallye span:hover {
  background-color: #FFB400;
  color: #0b2d4e;
}


.grid-bureau {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    gap: 50px;
}
.bloc-rallye.bureau {flex: 1;}
.bloc-rallye.delegues {flex: 1;}
.bloc-rallye.delegues .nom {display: block; padding-left: 25px; padding-top: 5px;}






.container-licence-clean {
    max-width: 900px;
    font-family: "Open Sans", sans-serif;
    color: rgb(28, 28, 28);
    margin: auto;
    padding: 0 20px 40px 20px;
    text-align: center;
}

.header-clean p {font-weight: bold; text-align: center; padding-bottom: 30px;}
.container-licence-clean .lien-demande {text-align: center; padding: 10px 0 30px;}

.section-clean {
    margin-bottom: 50px;
}

.container-licence-clean h2 {
    font-size: 28px;
    margin-bottom: 30px;
    display: inline-block; /* nécessaire pour centrer le texte + icône */
    position: relative;
    text-align: center; /* optionnel si le parent est centré */
    padding-left: 0; /* espace pour l'icône */
}

.container-licence-clean h2::before {
    content: "";
    display: inline-block; /* fait partie du flux inline */
    width: 49px;
    height: 24px;
    vertical-align: middle; /* aligne verticalement avec le texte */
    margin-right: 12px; /* espace entre icône et texte */
    background: url("/img/icone-voiture.svg") no-repeat center;
    background-size: contain;
    position: relative; /* ne plus utiliser absolute */
}

.section-clean h2::after {
	content: none;
}

.cotisations-clean .item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 14px 18px;
    border-radius: 8px;
    background: rgb(247, 247, 247);
    transition: 0.2s;
}



.btn-clean {
    color: white;
    font-weight: 600;
    background: rgb(225, 174, 0);
    padding: 12px 22px;
    border-radius: 6px;
    text-decoration: none;
    transition: 0.2s;
    display: inline-block;
}

.btn-clean:hover {
    background: rgb(199, 155, 0);
}

.highlight-clean {
        background: rgb(249, 249, 249);
    padding: 20px;
    border-radius: 10px;
    margin: 30px 0px 50px;
    border-left: 4px solid rgb(225, 174, 0);
}


.alert-clean {
    margin-bottom: 50px;
    font-weight: 600;
    background: rgb(255, 249, 232);
    border-left: 4px solid rgb(225, 174, 0);
    padding: 18px;
    border-radius: 6px;
}

.actions-clean a {
    display: inline-block;
    margin-top: 10px;
    font-weight: 600;
    text-decoration: none;
    color: #111;
    border-bottom: 2px solid #e1ae00;
    padding-bottom: 2px;
    transition: 0.2s;
}

.actions-clean a:hover {
    color: #e1ae00;
}


.documents-section {padding-top: 10px;}
.documents-section h2 {margin-bottom: 40px;}



.downloads-clean {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
    gap: 12px;
}

.download-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: rgb(17, 17, 17);
    font-weight: 600;
        padding: 16px 20px 16px 48px;
    background: rgb(247, 247, 247);
    border-radius: 8px;
    text-decoration: none;
    transition: 0.2s;
    border-left: 4px solid transparent;
    position: relative;
}

.download-item:hover {
    transform: translateX(4px);
    background: rgb(255, 248, 229);
    border-left: 4px solid rgb(225, 174, 0);
}


/* ajout de l'icône via CSS */
.download-item::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 23px;   /* largeur de l'icône */
  height: 23px;  /* hauteur de l'icône */
  background-image: url('/img/download-icone.svg'); /* ton SVG */
  background-size: contain;
  background-repeat: no-repeat;
}

.download-icon {
    font-size: 18px;
    color: rgb(225, 174, 0);
}


.container-licence-clean.infos-commissaire p {font-weight: normal;}
.container-licence-clean.infos-commissaire .documents-section {padding-top: 30px;}



/*#page {
  position: relative;
  min-height: 500px;
  background: url('/img/ombre-montagne.svg') no-repeat bottom center;
  background-size: 100% auto;
}*/


.gedimat #contenu {position: relative; text-align: center;}
.gedimat .img-ged {position: absolute; top: 80px; right: 0;}
.gedimat .documents-section {padding-top: 70px; padding-bottom: 50px; max-width: 1100px; margin: auto;}

.gedimat .btn-feuille {padding-bottom: 70px; padding-top: 20px;}
.gedimat h2 {font-size: 28px;}

.gedimat .downloads-clean {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 colonnes égales */
    gap: 9px 30px; /* espace vertical / horizontal */
}


.gedimat h2::before {
    content: "";
    display: inline-block;
    width: 49px;
    height: 24px;
    vertical-align: middle;
    margin-right: 12px;
    background: url(/img/icone-voiture.svg) no-repeat center;
    background-size: contain;
    position: relative;
}

.pdf-container {
  max-width: 1150px;
  margin: auto;
  margin-top: 15px;
  border-radius: 5px;
  overflow: hidden;
  background: white;
}

.pdf-container embed {
  width: 100%;
  height: 860px;
  border: none;
}

h2.titre-docs-tel::before {
    content: "";
    display: inline-block;
    width: 49px;
    height: 24px;
    vertical-align: middle;
    margin-right: 12px;
    background: url(/img/icone-voiture.svg) no-repeat center;
    background-size: contain;
    position: relative;
}

h2.titre-docs-tel::after {content: none;}



#engagements-rallyes {
    padding: 25px 20px 20px 20px;
    text-align: center;
}

.engagements-container {
    max-width: 1200px;
    margin: auto;
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.engagement-bloc {
    background: white;
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.04);
    width: 420px;
    border-top: 6px solid #e1ae00;
    transition: 0.2s ease;
}

.engagement-bloc:hover {
    transform: translateY(-5px);
}

.engagement-bloc h2 {
    font-size: 23px;
    font-family: 'Blinker';
    color: #0b2d4e;
    margin-bottom: 20px;
}

.engagement-bloc h2::after {
    content: none;
}

.engagement-bloc .lien a {
    display: inline-block;
    padding: 0 25px;
    background-color: #e1ae00;
    color: white;
    text-decoration: none;
    font-size: 16px;
    line-height: 45px;
    border-radius: 4px;
    font-weight: 600;
}

.engagement-bloc .lien a:hover {
    background-color: #cda007;
}



#page-accueil-categorie .bloc {transition: 0.2s ease;}
#page-accueil-categorie .bloc:hover {transform: translateY(-5px);}



/* SECTION NOTRE HISTOIRE */

.notre-histoire {
    padding: 80px 20px;
    background: #f9f9f9;
}

.contenu-histoire {
    max-width: 1000px;
    margin: auto;
    text-align: center;
}

.contenu-histoire h2 {
    margin-bottom: 50px;
}

.intro-histoire {
    font-size: 18px;
    margin-bottom: 50px;
    color: #2a2c2f;
}

.intro-histoire p, .conclusion-histoire p {padding-bottom: 30px; line-height: 28px;}

/* Timeline */

.timeline {
    position: relative;
    margin: 50px 0;
    padding-left: 20px;
}

.timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 4px;
    height: 100%;
    background: #e1ae00;
    transform: translateX(-50%);
}

.timeline-item {
    width: 50%;
    padding: 0 40px;
    box-sizing: border-box;
    position: relative;
}

.timeline-item .texte {text-align: left;}

.timeline-item:nth-child(odd) {
    left: 0;
    text-align: right;
}

.timeline-item:nth-child(even) {
    left: 50%;
    text-align: left;
}

.timeline-item .date {
    font-family: 'Blinker';
    font-size: 22px;
    font-weight: 600;
    color: #0b2d4e;
    margin-bottom: 10px;
}

.timeline-item .texte {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
    font-size: 16px;
    line-height: 1.6;
}

/* Conclusion */

.conclusion-histoire {
    margin-top: 60px;
    font-size: 17px;
}



.engagement .link-clean {margin-top: 0 !important; margin-bottom: 25px !important; font-size: 18px;}

.cadre_formulaire {background: rgb(247, 247, 247); padding: 35px 45px; border-radius: 10px; max-width: 1000px; margin: auto;}
.cadre_formulaire table {width: 100%;}
.cadre_formulaire form {text-align: left;}
.cadre_formulaire form td {display: flex; align-items: center;}
.cadre_formulaire form td.titre-form {display: block;}
.cadre_formulaire .titre-form {font-weight: bold; font-size: 20px; padding-top: 40px !important; text-align: center; padding-bottom: 10px !important;}
.cadre_formulaire input {    color: rgb(80, 80, 80);
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #c4c4c4;
    border-radius: 5px;
    padding: 9px 12px;
    font-family: 'Open Sans';
    font-size: 15px;
    background-color: white;
    width: 430px !important;}
    .cadre_formulaire input[type="radio"] {width: auto !important;}
.cadre_formulaire label {font-size: 16px; width: 220px !important; text-align: right; padding-right: 15px !important;}
.cadre_formulaire .case-a-cocher {max-width: 600px; display: block; margin: auto;}
.cadre_formulaire .case-a-cocher input {width: auto !important;}
.cadre_formulaire .case-a-cocher label {font-size: 14px !important;}
.cadre_formulaire form .input-envoi {
    width: auto !important;
    border-bottom: none;
    border: 1px solid #003A4C;
    border-radius: 4px;
    padding: 12px 20px !important;
    margin: auto;
    margin-top: 0;
    display: block;
    float: none;
    background-color: #0b2d4e;
    color: white;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.7px;
    cursor: pointer;
    -moz-transition-duration: 0.4s;
    -o-transition-duration: 0.38s;
    -webkit-transition-duration: 0.38s;
    transition-duration: 0.38s;
}
.cadre_formulaire form .input-envoi:hover {
    background-color: #003A4C;
}

/* Responsive */

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

    .timeline::before {
        left: 20px;
    }

    .timeline-item {
        width: 100%;
        left: 0 !important;
        text-align: left;
        padding-left: 50px;
        margin-bottom: 30px;
    }

}



@media screen and (max-width: 1650px)
{
	#page-accueil-diaporama .diaporama {height: 500px;}
	#page-accueil-diaporama .diaporama .diapo-prod {height: 341px;}
	#page-accueil-diaporama .desc {top: 395px;}
}


