/*
Theme Name: R-Energy Child
Theme URI: http://ninetheme.com/
Template: r-energy
Author: Ninetheme
Author URI: http://ninetheme.com/about
Description: We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
Tags: custom-colors,custom-menu,editor-style,featured-images,post-formats,threaded-comments,translation-ready
Version: 1.4.0.1751900941
Updated: 2025-07-07 17:09:01

*/

p {line-height:25px!important;}

@media (max-width: 640px) {
	p {
  font-size:18px!important;
}
 }

a:focus, a:hover {
    color: #47a9b2;
}

/*Masquer le point sur les titres*/
.primary-heading .subtitle::before {
 display:none;
}

/*TOP BAR*/

.home .header.header--style-2  {
	padding-top:20px!important;
    }

.header .topbar.top-line {
    width: 100vw!important;
    margin-left: calc(-50vw + 50%);
    padding-left: 30px;
    padding-right: 30px;
	padding-top: 20px;
	   margin-top: -20px!important;
}
    .header--style-1 .top-line, .header--style-2 .top-line {
    width: 100vw!important;
    margin-left: calc(-50vw + 50%);
    padding-left: 30px;
    padding-right: 30px;
	    margin-top: -20px!important;
    }


/*SEARCH LOUPE*/

.socials-holder form {
  display: flex;
  align-items: center;
  gap: 12px
}

.socials-holder form input[type="search"] {
  padding: 6px 10px;
  border: 1px solid #ccc;
  font-size: 14px;
  background-color: #fff;
  color: #333;
  transition: border-color 0.3s, box-shadow 0.3s;
  width: 180px;
}

.socials-holder form input[type="search"]:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.15);
}

.socials-holder form button[type="submit"] {
  cursor: pointer;
  font-size: 18px;
  transition: transform 0.2s;
}

.socials-holder form button[type="submit"]:hover {
  transform: scale(1.2);
}

/*Header*/

.home .header.header--style-2 {
    max-width: 1920px;
}

/*LOGO*/

#nt-logo {
    margin-left: 0px;
}


#nt-logo img.main-logo {
    width: 130px!important;
}


.header.sticked .has-sticky-logo .sticky-logo {
    margin-left: 20px!important;
}

@media (max-width: 640px) {
	
	#nt-logo {
    margin-left: -20px!important;
}
		
.header.sticked .has-sticky-logo .sticky-logo {
    margin-left: 0px !important;
}
	.header.sticked
 {
    padding: 10px 0px 10px 0px!important;
}
 }


/*MENU*/

.menu-holder {
    margin-left: 100px;
}
@media (max-width: 640px) {
.menu-holder {
    margin-left: 0px!important;
}
 }

/*CTA HEADER*/

header .r-button{
    text-transform: uppercase;
}

/*MENU OFF CANVA MOBILE*/

	#header.menu-opened {
    background-color: #ffffff!important;
}
	
	.nav-inner {
    background-color: #ffffff!important;
}
	
	#current-lang {color:#000!important;}
	
	.mobile-menu>li>a {
    color: #030303!important;
    font-size: 16px;
    line-height: 40px!important;

}
	
	.mobile-menu .sub-menu li a {
    color: #1b1b1b!important;
    font-size: 16px!important;
}
		.mobile-menu .sub-menu li a:hover {
    color: #4ba5df!important;
}
.mobile-menu .sub-menu li.active a {
    color: #4ba5df!important;
}

 .hamburger.is-active .hamburger-inner::before{
    background-color: #000!important;
}
	 .hamburger.is-active .hamburger-inner::after{
    background-color: #000!important;
}
	.nav-inner .menu-contacts p {
    color: #000000;
    font-size: 16px;
}

  .nav-inner .menu-contacts {
    max-width: none !important;
}
	.nav-inner .r-button-holder .r-button.r-button--filled {
    font-size: 20px;
}
	.btn-scroll-top svg {
    color: white!important;
}
.nav-inner .menu-contacts p
 {
    color: #000000!important;
}


/*PAGES CONTENEUR*/

.section {
	padding-top:70px!important;
	padding-bottom:60px!important;
}


.nt-fullwidth-content {
    max-width: 1140px; /* identique à container Bootstrap sur large */
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
@media (max-width: 1200px) {
    .nt-fullwidth-content {
        max-width: 960px;
    }
}

@media (max-width: 992px) {
    .nt-fullwidth-content {
        max-width: 920px!important;
    }
}

@media (max-width: 768px) {
    .nt-fullwidth-content {
        max-width: 540px;
    }
	.section {
	padding-top:30px;
	padding-bottom:60px;
 }
}

/*PAGE HERO*/

.promo-primary {
    height: 390px!important;
}
    .promo-primary .align-container {
        height: 390px!important;
        padding: 100px 0!important;
        text-align: center;
    }
.promo-primary .title::before,
.promo-primary .title::after {
    left: 50%!important;
    transform: translateX(-50%)!important;
}

.promo-primary .title::after {
    background-color: #ffff!important; 
}


@media (max-width: 640px) {
	.promo-primary {
    height: 310px!important;
}
	.page-id-9870 .promo-primary  {
    height: 350px!important;
}
 }

.promo-primary .title::before, .promo-primary .title::after {
    bottom: -26px!important;
}

.nt-breadcrumbs-list a {
	color:white!important;
}

#nt-hero.default-bg, .default-bg {
    background: #4da6dd!important;
}

/*Home icon*/

.elementor-element.home-icon img,
.elementor-element.etranger-icon img {

  height: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block;
}


/*Home et page asso*/

 .title-block {
    background-color: #99cc00 !important;
}
/*A propos ancre menu*/
#missions{
  scroll-margin-top: 150px;
}

/*Flex ready documentation ancre menu*/
#documentation{
  scroll-margin-top: 190px;
}

#evenements-flex-ready {
  scroll-margin-top: 190px;
}

.e-n-accordion-item-title{
  box-shadow: 0px 3px 15px 2px rgba(0, 0, 0, 0.06);
}


/*THESES*/

#tsg-theses-input {
	width:500px;
	border:1px solid #79b170;
}
#tsg-theses-select {
		border:1px solid #79b170;
}


@media (max-width: 640px) {
	#tsg-theses-input {
	width:95%!important;
}
#tsg-theses-select {
		width:95%!important;
}
}


.tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 20px;
  color:black;
  font-size: 0.9em;
  text-decoration: none;
  margin: 5px;
  transition: background-color 0.3s ease;
}
.tag:focus {
    color: white!important;
}

#tsg-theses   {margin-top:90px;}

#tsg-theses li {
	background-color:#f7f7f7;
	padding:20px;
	margin-bottom:20px!important;
}




/* Couleurs uniques par tag */
.tag-1 { background-color: #4aa5df; } /* bleu */
.tag-2 { background-color: #9cc59e; } /* vert clair */
.tag-3 { background-color: #f9df19; } /* jaune */
.tag-4 { background-color: #37a2ac; } /* vert foncé */
.tag-5 { background-color: #37a2ac; } /* bleu vert */
.tag-6 { background-color: #f9df19; } /* jaune */
.tag-7 { background-color: #84cdfc; } /* turquoise */

/* Hover optionnel */
.tag:hover {
  opacity: 0.85;
	color:black;
}
.tag:focus{
  opacity: 0.85;
	color:black;
}

/*SOLUTIONS - EXPERTISE*/

.caf-post-layout1 .caf-featured-img-box {
    display: block;
    width: 100%;
    height: 200px;
    background-size: coNTAIN !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.data-target-div1 .caf-meta-content {
    display: none!important;
}

.blog-detail .date-block {
    display: none!important;
}

.nt-single .default-bg {
    display: none!important;
}

.nt-theme-inner-container.section.blog-detail {
    padding-top: 60px!important;
}

.comments-block {
    display: none!important;
}

.live-comment .primary-heading .title  {display:none!important;}



.single-post-categories {
    margin-bottom: 20px!important;
}
.blog-detail .promo-holder img {
    width: 300px!important;
}

.single-post-cat {
    display: inline-block;
    background-color: #e6e6e6!important;
    color: #333!important;
    padding: 4px 10px;
    margin-right: 6px;
    font-size: 0.85em;
    border-radius: 3px;
    text-decoration: none;
}

.single-post-cat:hover {
    background-color: #ccc!important;
}

.nt-single blockquote::before {
     display:none!important;
    }

.nt-single blockquote {
        font-size: 18px!important;
        line-height: 30px;
        padding-left:10px;
 border-left:1px solid #37a2ac!important; 
    }

/*ACTUALITES */

.actu-excerpt .elementor-shortcode  {
    color: #686868!important;
}

.elementor-loop-container .elementor-heading-title:hover  {
  color:#4aa5df!important;
}


/* Conteneur de pagination centré et espacé */
.elementor-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 60px;
	margin-bottom:60px;
}

/* Style général des boutons de pagination */
.elementor-pagination .page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid #37a2ac; /* gris clair */
  background-color: #fff;
  color: #2c2c2c;
  font-weight: 500;
  font-size: 16px;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
}

/* Hover effet */
.elementor-pagination .page-numbers:hover {
  border-color: #4aa5df;
  background-color: #4aa5df;
  color: #fff;
}

/* Page active */
.elementor-pagination .current {
  background-color: #37a2ac;
  color: white;
  border-color: #37a2ac;
}

/* Ellipsis style (le "...") */
.elementor-pagination .dots {
  pointer-events: none;
  color: #aaa;
}


.elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  position: relative;
}

.elementor-widget-image img {
  transition: transform 0.5s ease;
  transform-origin: center center;
  display: block;
  width: 100%;
  height: auto;

}
.elementor-widget-image:hover img {
  transform: scale(1.1);
}

.elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  position: relative;
}

.elementor-widget-image img {
  transition: transform 0.5s ease;
  transform-origin: center center;
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.elementor-widget-image:hover img {
  transform: scale(1.1);
}


/*SINGLE ACTU*/

/* Hero Actualité */
.hero-actualite {
    width: 100%;
    background-color: #4aa5df;
    color: white;
    padding: 80px 0;
	margin-bottom:40px;
}

.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}

.hero-pretitle {
    color: white;
    margin-bottom: 10px;
	text-align: center;
}


.hero-title {
    font-size: 30px;
    font-weight: 700;
    color: white;
    margin-bottom: 10px;
	text-align: center;
}

.hero-underline .line {
    display: inline-block;
    height: 4px;
}

.hero-underline .blue {
    width: 90px;
    background-color: #ffF;
    margin-right: 10px;
}

.hero-underline .beige {
    width: 20px;
    background-color: #f9df19;
}

.hero-date {
    font-size: 14px;
    font-style: italic;
    margin-top: 15px;
    color: white;
	text-align: center;
}


@media (max-width: 640px) {
    .hero-title {
        font-size: 32px;
    }
}





/* Conteneur de l’article */
.single-article {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}

/* Titre principal */
.single-article h1,
h1.entry-title {
  font-size: 30px !important;
}
@media (max-width: 640px) {
  .single-article h1 {
    font-size: 24px !important;
    margin-top: 60px;
  }
}

/* Meta : date & tags */
.date-article {
  font-size: 14px !important;
  text-decoration: italic !important;
}
.tag-list {
  display: none !important;
}

/* Description courte en gras */
.entry-content strong {
  font-weight: bold !important;
}

/* Bloc "Articles similaires" */
.related-articles {
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid #eee;
  margin-bottom: 60px;
}
.related-articles h2 {
  font-size: 1.8em;
  margin-bottom: 30px;
  text-align: center;
}
.related-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.related-item {
  background: #f9f9f9;
  padding: 20px;
  transition: transform 0.2s ease;
  border-radius: 10px;
}
.related-item:hover {
  transform: translateY(-5px);
}
.related-item img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.related-item h3 {
  font-size: 1.1em;
  margin-top: 15px;
}


/*GALERIE LOGOS MEMBRES*/


/* Pour les blocs individuels */
.gllr_image_block {
  width: 50% !important;
  box-sizing: border-box;
  padding: 5px;
  float: left;
}

/* Réinitialiser le conteneur */
.gllr_image_row {
  display: contents;
}

/* Pour éviter des débordements sur mobile */
@media screen and (min-width: 768px) {
  .gllr_image_block {
    width: 20% !important; /* 5 colonnes par ligne en version desktop */
  }
}


/*ANNUAIRE*/

/*Supprimer bouton isncription annuaire version anglaise*/

html[lang="en-US"] .cta-annuaire-button {
  display: none !important;
}


.annuaire-wrapper {
	margin-top:60px;
	margin-bottom:90px!important;
}


.page-id-5202 .hero {
      width: 100%;
    background-color: #4aa5df;
    color: white;
    padding: 80px 0;
	margin-bottom:40px;
}
.page-id-5202 .hero-title {
    font-size: 3rem;
    margin: 0;
    color: #fff;
}

.page-id-5251 .hero {
      width: 100%;
    background-color: #4aa5df;
    color: white;
    padding: 80px 0;
	margin-bottom:40px;
}
.page-id-5251 .hero-title {
    font-size: 3rem;
    margin: 0;
    color: #fff;
}
.cta-annuaire-wrapper {
    position: relative;
    z-index: 10;
    text-align: center;
    margin: 2em 0 1em;
}

.cta-annuaire-button {
    display: inline-block;
    padding: 0.75em 1.5em;
    background-color: #99CC00;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.2;
    transition: background-color 0.3s ease;
    position: relative;
    z-index: 20;
}

.cta-annuaire-button:hover {
    background-color: #37A2AC;
color: #fff;
}






/* FILTRES */
.annuaire-filtres {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin-bottom: 2em;
    align-items: flex-end;
}

.annuaire-filtres div {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
}

.annuaire-filtres label {
    font-weight: bold;
    margin-bottom: 0.3em;
}

.annuaire-filtres input[type="text"],
.annuaire-filtres select {
    padding: 0.5em;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* BOUTONS DE FILTRE */
.btn-group {
    display: flex;
    flex-direction: row;
    gap: 0.5em;
    align-items: center;
}


.filter-button,
.reset-button {
    padding: 0.45em 1em;
    border-radius: 4px;
    font-size: 0.95em;
    text-decoration: none;
    border: none;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
}

.filter-button {
    background-color: #0073aa;
    color: white;
    border: 1px solid #0073aa;
}

.reset-button {
    font-size: 0.85em;
    padding: 0.4em 0.9em;
    min-width: auto;
}
/* CONTENEUR DES FILTRES - version page annuaire */
body.page-id-5202 .annuaire-filtres {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
}
body.page-id-52(1) .annuaire-filtres {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
}

/* CHAMPS INDIVIDUELS (dropdown thématique) */
body.page-id-5202 .annuaire-filtres > div {
    flex: 1 1 auto;
    min-width: 220px;
}
body.page-id-5251 .annuaire-filtres > div {
    flex: 1 1 auto;
    min-width: 220px;
}

/* Corrige l'ouverture du select sur mobile */
body.page-id-5202 select {
    position: relative;
    z-index: 10;
    appearance: auto;
    -webkit-appearance: menulist; /* iOS Safari */
    background-color: white;
}


/* BOUTONS DE FILTRE */
body.page-id-5202 .btn-group {
    display: flex;
    flex-direction: row;
    gap: 0.5em;
    align-items: center;
    margin-bottom: 0;
}
body.page-id-5251 .btn-group {
    display: flex;
    flex-direction: row;
    gap: 0.5em;
    align-items: center;
    margin-bottom: 0;
}


/* Résultat */
.result-count {
    margin-bottom: 1em;
    font-weight: bold;
    font-size: 1.1em;
}

/* Cartes sociétés */
.liste-societes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.2em;
}

.societe-card {

    display: flex; 
}

.accordion-toggle {
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    transition: box-shadow 0.2s ease;
    width: 100%;
    text-align: left;
    padding: 1rem;
    cursor: pointer;
}

.accordion-toggle:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.05); 
}
.societe-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.societe-header:focus {
    outline: none;
}

.societe-nom {
    font-size: 1.1em;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.3em;
    font-weight: 600;
}

.societe-nom .chevron {
    font-size: 0.8em;
    opacity: 0.6;
}

.pastille-statut {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    color: white;
    margin-left: auto;
}

.statut-associe {
    background-color: #51a7d5; 
}

.statut-adherent {
    background-color: #75b3a1;
}

.statut-partenaire {
    background-color:#afc74e;
}

.statut-associate {
    background-color: #51a7d5; 
}

.statut-member {
    background-color: #75b3a1;
}

.statut-partner {
    background-color:#afc74e;
}

.thematique-liste {
    margin-top: 1em;
    font-size: 0.95em;
    color: #444;
}
.thematique-liste strong {
    text-transform: uppercase;
    display: block;
    margin-bottom: 1.5em;
    font-weight: bold;
}


.thematique-liste ul {
    list-style-type: disc;
    margin-left: 1.5em;
    margin-bottom: 1em;
}

.thematique-liste ul ul {
    list-style-type: circle;
    margin-top: 0.3em;
}

.section-title {
    color: #94b32a;
    font-size: 1.2em;
    font-weight: 600;
    margin: 1.5em 0 0.5em;
}


/* Logo */
.societe-logo {
    margin: 1em 0;
    text-align: center;
}

.societe-logo img {
    max-width:15%;
    height: auto;
	border:1px solid #dfdfdf;
}

@media (max-width: 640px) {
	.societe-logo img {
    max-width:50%;
		margin-bottom:20px;
}
	}

/* Contenu déroulant */
.societe-details {
    margin-top: 1em;
    padding-top: 1em;
    border-top: 1px dashed #ccc;
}

.societe-details p {
    margin-bottom: 0.5em;
    font-size: 0.95em;
}


.societe-details h4 {
    margin-bottom: 0.5em;
	font-size:26px;
color: #67afb6;
}

.societe-details:not([hidden]) {
    grid-column: 1 / -1; /* Magique ! L'élément prend toute la largeur de la grille */
    padding: 1.5rem;
    background: #ffff; 
    border-radius: 8px;
	border:1px solid #b4d2a3;
    margin-bottom: 1.5rem; 
}


/*GRAVITY FORMS*/

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    border: 1px solid #9cc59e;
}
    .gform_wrapper textarea.medium {
       border: 1px solid #9cc59e;
    }

input[type=submit] {
	background-color:#99CC00;
	border:1px solid #99CC00;
	padding:10px;
	color:white;
}
input[type=submit]:hover {
	background-color:#37A2AC;
	border:1px solid #37A2AC;
}
.gform_wrapper.gravity-theme .gsection {
    margin-top: 40px;
}

/*AGENDA*/

/* Police générale */
.ajde_evcal_calendar .evcal_month_line p,
#evcal_list .eventon_list_event .evcal_desc span.evcal_event_title,
.evo_popup .eventon_events_list .eventon_list_event .evcal_desc span.evcal_event_title,
.eventon_events_list .eventon_list_event .evcal_desc span.evcal_event_subtitle,
.evo_pop_body .evcal_desc span.evcal_event_subtitle,
.ajde_evcal_calendar .evcal_evdata_row .evcal_evdata_cell h3.evo_h3,
#evcal_list .eventon_list_event .evcal_eventcard p,
.ajde_evcal_calendar .eventon_events_list .eventon_desc_in ul,
.eventon_events_list .eventon_list_event .evcal_cblock em,
.evo_pop_body .evcal_cblock em,
#evcal_list .eventon_list_event p.no_events {
    font-family: 'heebo' !important;
    color: black;
}

/* Titres */
#evcal_list .eventon_list_event .evcal_desc span.evcal_event_title,
.evo_popup .eventon_events_list .eventon_list_event .evcal_desc span.evcal_event_title {
    color: #000000;
}

/* Sous-titres */
.eventon_events_list .eventon_list_event .evcal_desc span.evcal_event_subtitle,
.evo_pop_body .evcal_desc span.evcal_event_subtitle {
    color: #79b170;
    font-weight: bold;
}

/* Paragraphes dans la fiche événement */
#evcal_list .eventon_list_event .evcal_eventcard p {
    color: #2d2d2d;
    font-size: 16px !important;
    padding-top: 10px;
}

/* Autres paragraphes et listes */
#evcal_list .eventon_list_event .evcal_eventcard p,
.ajde_evcal_calendar .eventon_events_list .evcal_desc_in ul,
#evcal_list .eventon_list_event p.no_events {
    margin-top: 10px;
    font-size: 16px !important;
}

/* Liste principale */
#evcal_list {
    margin-bottom: 50px;
}
.evcal_evdata_row, .evorow {
    background-color: #fff !important;
}
.evcal_event_details .evcal_evdata_cell .eventon_details_shading_bot {background:transparent;}

.ev_more_text {
    color: #4aa5df;
	margin-top:20px;
	opacity:1!important;
	font-weight: bold;
}

.evo_metarow_ICS .evcal_evdata_cell p a, .evo_metarow_ICS .evcal_evdata_cell p a {
	font-family: 'heebo' !important;
}
.evcal_evdata_icons fa-calendar {
    margin-top:20px!important;
}

.evcal_evdata_icons i.fa-calendar {
	padding-top:24px!important
}
