/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.4.1760287962
Updated: 2025-10-12 18:52:42

*/
.breadcrumb .breadcrumb_last, .breadcrumb a{
	color:#545454 !important
}
.nav li li {
    line-height: 1.5em !important;
	    padding: 5px 10px !important;
}
/*HOME PAGE*******************/
.homeSectionSeFormer .textBlockLeft{
	display:inline-flex;
}
.homeSectionSeFormer .textBlockRight{
	display:inline-flex;
	margin-left: 75px;

}
@media screen and (max-width: 768px) {
	.homeSectionSeFormer .textBlockRight{
	margin-left: 0;
	}
}
/*************NEWSLETTER********************/

.et_pb_searchsubmit {
  font-size: 0 !important;
background-color:rgba(0,0,0,0) !important;
  background: url('https://univpro.en-dev.space/wp-content/uploads/2025/10/pictoloupe.png') no-repeat center center;
  background-size: 16px 16px;
  width: 40px;
  height: 40px;
  border: none;
  cursor: pointer;
}


@media screen and (max-width: 768px) {
 .frmNewsletter input#nom{
	  	 width: 100% !important;
	 margin-bottom:12px
  
	}
	 .frmNewsletter input#nom,.frmNewsletter input#prenom{
	  	 width: 100% !important;
		margin-left:0 !important
	}
}
/***************FIN NEWSLETTER***********************/
/****************SECTION UNIVPRO************************/
.objectifs {

 z-index:1;
  position:relative;


}

.objectifs h2 {
  text-align: center;
  margin-bottom: 2rem;
  color: #333;
}

.objectifs ul {
  list-style: none;
  padding: 0;
  z-index:1;
  position:relative;
}

.objectifs li {
  display: flex;
  align-items: center;
  margin-bottom: 2.5rem;
position:relative;
}

.objectifs li::before {
  content: "";
  position: absolute;

  bottom: 0;
  width: 2px;
  background-color:#9D0A6D;
  z-index: 0;
}

.numero {
  position: relative;
  width: 55px;
  height: 55px;
	border:1px solid #9D0A6D;
  color: #9D0A6D;
  font-weight: bold;
  border-radius: 50%;
  background:#eaeaea;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  flex-shrink: 0;
  z-index: 1;
  font-size:1.7em
}


.objectifs li:first-child::before {
  display: none;
}

.objectifs p {
  margin: 0;
  color: #354248;
	line-height:1.5em
}
/****************FIN SECTION*********************/

/*END HOME PAGE*****************/
form.mc4wp-form input {
	    background-color: rgba(0, 0, 0, 0);
    border-radius: 25px;
    color: #fff;
    padding: 5px 10px;
    font-size: 1em;

}
form.mc4wp-form input#nom, form.mc4wp-form input#prenom{
	width:49%
}
form.mc4wp-form input#prenom{
margin-left:1%
}
form.mc4wp-form input#email{
	width:100%
}
form.mc4wp-form input::placeholder {
    opacity: 0.5;
  color: #fff;
}
form.mc4wp-form label{
	color:#fff
}
form.mc4wp-form label a{
	color:#fff;
	text-decoration:underline
}
form.mc4wp-form input[type=submit]{
	    background-color: #fff;
    border: none;
    color: #9D0B6D;
	border:1px solid #fff;
    position: relative;
    left: calc(100% - 95px);
	cursor:pointer
}
form.mc4wp-form input[type=submit]:hover{
	background-color:rgba(0,0,0,0);
	color:#fff;
	border:1px solid #fff
}

/**********HEADER - RECHERCHE******************/
/* Nécessite la classe "header-search" sur le module Recherche
   (Avancé > ID et classes CSS > Classe CSS) */
.header-search .et_pb_searchform {
  max-width: 560px;
  margin-left: auto; /* aligne à droite */
}

.header-search input.et_pb_s {
  background: #EBEBEB !important;
  border: none !important;
  border-radius: 19px !important;
  height: 37px;
  padding: 0 45px 0 20px;
  font-size: 14px;
  color: #999;
}
/* NB : pas de règle searchsubmit ici, le picto loupe est
   déjà géré par .et_pb_searchsubmit plus haut */
/**********FIN HEADER - RECHERCHE**************/

/**********HEADER - BOUTON CONTACT******************/
.btnHeaderContact{
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.btnHeaderContact a{
	background-color: #9D0B6D;
	border: 1px solid #9D0B6D;
	color: #fff !important;
	margin: 0 0 0 50px;
	padding: 0 24px !important;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 25px;
	line-height: 1;
}

.btnHeaderContact a:hover{
	background-color: #7C0856;
	border-color: #7C0856;
	color: #fff !important;
	opacity: 1;
}
/**********FIN HEADER - BOUTON CONTACT**************/

.footerMenu #menu-footer-menu{
	flex-direction:column !important
}
/**********FILTRES*******************/
.filters{
	border: 1px solid;
    border-radius: 50px;
    padding: 0 25px;
    display: flex;
    width: fit-content;
	height:50px
}
.filters .wpc-filter-header{
	display:none
}
.filters .wpc-filter-content ul{
	display:flex
}
.filters a{
	color:#2D2D2D
}

.filters input[type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
}
.filters input[type='checkbox'] {
    border-radius: 10px;
    height: 15px;
    width: 15px;
    background: #fff;
    border: 1px solid #444;
}

.filters input[type="checkbox"]:checked {
  background: #9D0B6D;
	border: none;
  position: relative;
}
.filters input[type='checkbox']:hover {
 
   background: #444 !important;
	border: none;
  position: relative;

}
/******FIN FILTRES ************************/
/***********ACTUALITES******************/
.actualites{
	display: flex;
    flex-wrap: wrap;
	gap: 2%;
}
.actualites .postColumn{
	display: flex;
    width:23%;
	flex-direction:column;
	border-radius: 40px;
	background:#354248;
	margin-bottom: 20px;
	justify-content: space-between;
	
}
div.pagination{
	    display: flex;
    justify-content: space-between;
	margin-top:30px;
	height:40px
}
div.pagination a{
	 color:#444;
	font-size:1.1em;
}
div.pagination a i{
	font-weight:bold;
    font-size: 1.5em;
    font-style: normal;
    position: relative;
	display:block
}
div.pagination .prev a i{
	    margin-right: 10px;
	float:left
}
div.pagination .next a i{
	    margin-left: 10px;
	float:right
}
div.pagination a:hover{
	color:#9D0A6D
}
@media screen and (max-width: 768px) {
 	.actualites .postColumn{
    	width:100%;
		margin-bottom:5px
	}
}
@media screen and (min-width: 769px) and (max-width: 960px) {
 	.actualites .postColumn{
    	width:49%;
		margin-bottom:25px
	}
}
.actualites .postColumn .img{
	display: block;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 210px;
    cursor: pointer;
    border-radius: 40px;
    margin-top: 20px;
}

.actualites .postColumn h3{
	font-size: 1.2em;
    font-weight: bold;
    padding: 30px 50px 0 30px;
    color: #ffffff;
    min-height: 90px;
}
.actualites .postColumn p{
	display:block;
	color: #ffffff;
	padding: 0 0 0 30px;
	line-height: 1.2em;
}
.actualites .cat{
	background-color: #fff;
    color: #354248;
    display: flex;
    margin: 30px 30px 0 30px;
    padding: 2px 10px;
    border-radius: 25px;
    width: fit-content;
}
.actualites .postDate{
	    display: block;
    color: #fff;
    font-weight: 300;
    font-size: 0.9em;
    margin: 5px 0 0 30px;
    text-transform: uppercase;
}
/*************FIN ACTUALITES****************************/
/***********ESPACE RESSOURCES******************/
.ressources{
	display: flex;
    flex-wrap: wrap;
	column-gap: 50px;
}
.ressources .ressourceRow{
	display:flex;
	 width:30.5%;
	min-width: 360px;
	border-radius: 40px;
	background:#EBEBEB;
	margin-bottom: 20px;
	border:1px solid #b4b6b9
}
@media screen and (max-width: 1490px) {
	.ressources{
		column-gap: 4%;
	}
 	.ressources .ressourceRow{
		width:29.5%;
		min-width: 280px;
	}
}
.ressources .ressourceRow .ressourceColumn{
	display: block;
    left: -25px;
    position: relative;
    padding: 15px 0;
	
}
@media screen and (max-width: 768px) {
 	.ressources .ressourceRow{
    	width:100%;
		margin-bottom:5px
	}
}
@media screen and (min-width: 769px) and (max-width: 1290px) {
 	.ressources .ressourceRow{
    	width:47%;
		margin-bottom:25px
	}
}
.ressources .ressourceRow .img{
	display: block;
    position: relative;
    width: 300px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 250px;
    cursor: pointer;
    border-radius: 40px;
    border: 1px solid #707070;
    background-color: #A72178;
    margin: 15px 0;
    left: -35px;
}

.ressources .ressourceRow .ressourceColumn h3{
	font-size: 1.2em;
    font-weight: bold;
    max-width: 250px;
    color: #354248;
    min-height: 50px;
}
.ressources .ressourceRow .ressourceColumn p{
	display:block;
	color: #354248;
	line-height: 1.2em;
	    max-width: 250px;
	    min-height: 80px;
}
.ressources .ressourceRow .cat{
	background-color: #fff;
    color: #354248;
    display: flex;
    padding: 2px 10px;
    border-radius: 25px;
    width: fit-content;
	font-size: 0.8em;
   margin: 10px 0 5px 0;
}
.ressources .ressourceRow .postDate{
	display:block;
	color:#354248;
	font-weight:300;
	font-size:0.8em;
	margin-bottom:30px;
	text-transform:uppercase
}
.ressources .ressourceRow a.readMore{
    color: #2D2D2D;
    font-size: 0.9em;
    font-weight: 700;
    display: block;
    text-align: right;
}
/**********FIN ESPACE RESSOURCES**********************/



.btnInscriptionNewsletter{
  -webkit-animation:spin 15s linear infinite;
    -moz-animation:spin 15s linear infinite;
    animation:spin 15s linear infinite;
}

/************CARTE ADHERENTS*****************************************/
.wpgmp_tabs_container .fc-infobox-title{
	text-align: center;
    font-size: 1.2em !important;
}
.fc-infobox-body{
	padding:10px !important
}
div.info.legend.leaflet-control {
	display:none
}
.wpgmp_tabs_container {
     right: -220px !important;
    width: 50% !important;
    max-width: 270px !important;
}
.wpgmp_tabs_container div{
	font-size: 	1em !important
}
.wpgmp_tabs_container li a{
	font-size: 	0.8em !important
}
div.wpgmp_tabs_container div.wpgmp_tab_item span.arrow img {
    width: 15px !important;
}
.mapInfoBox{
	    border: 4px solid #A8217A;
    border-radius: 10px;
}
.leaflet-popup-tip{
	 background: #A8217A !important;
}
.wpgmp-infowindow-addon~a.leaflet-popup-close-button {
	    background-color: #A8217A !important;
}
.mapInfoBox .fc-infobox-title{
	font-size: 0.9em !important;
    margin-bottom: 20px !important;;
}
.mapInfoBox .fc-feature-img{
	text-align:center
}
.mapInfoBox .fc-infobox-img{
	height:auto !important
}
.mapInfoBox .fc-infobox-img img {
    height: 60px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

.mapInfoBox .fc-infobox-address {
    font-style: normal;
    margin: 0;
    text-align: center;
}
.mapInfoBox .fc-infobox-address {
 text-align: center;
    font-size: 0.9em;
    line-height: 1.1em;
}
.wpgmp_tabs_container  .scroll-pane {
      max-height: fit-content !important;
}
/******FIN CARTE ADHERENTS****************************************/
@-moz-keyframes spin { 
    100% { -moz-transform: rotate(360deg); } 
}
@-webkit-keyframes spin { 
    100% { -webkit-transform: rotate(360deg); } 
}
@keyframes spin { 
    100% { 
        -webkit-transform: rotate(360deg); 
        transform:rotate(360deg); 
    } 
}
@media only screen and ( min-width: 1px ) {
#footerMainMenu .et_mobile_nav_menu, #footerLegalMenu .et_mobile_nav_menu {display: none;}
#footerMainMenu .et_pb_menu__menu, #footerLegalMenu .et_pb_menu__menu  {display: block;}
	
	#footerMainMenu	.et_pb_menu__menu>nav>ul,#footerMainMenu .et_pb_menu__menu>nav>ul>li , #footerLegalMenu	.et_pb_menu__menu>nav>ul,#footerLegalMenu .et_pb_menu__menu>nav>ul>li{
		flex-direction:column;
		        text-align: center;
	}
}


.vresp-tab-content-active, .btabs .bordered-tab-contents > .tab-content > .tab-pane {
    color: #353535;
    background-color: #FFF !important	;
}
.vresp-tabs-list li, .tab-main-container .btab li {
		font-size:0.9em !important	
}
/************************************
 * ACCESSIBILITÉ RGAA - FOCUS GLOBAL
 ************************************/

/* Focus visible uniquement au clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #354249 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Évite le contour permanent au clic souris */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible) {
  outline: none;
}


/************************************
 * LIEN D'ÉVITEMENT
 ************************************/

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  transform: translateY(-150%);
  z-index: 999999;
  background: #354249;
  color: #ffffff !important;
  padding: 12px 18px;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid #ffffff !important;
  outline-offset: 3px;
}


/************************************
 * MENU DIVI - NAVIGATION CLAVIER
 ************************************/

.et-menu a:focus-visible,
.et_pb_menu a:focus-visible,
#top-menu a:focus-visible {
  outline: 3px solid #354249 !important;
  outline-offset: 4px !important;
  background-color: #ffffff;
}

/* Affiche les sous-menus au focus clavier */
.et-menu li:focus-within > ul,
#top-menu li:focus-within > ul,
.nav li:focus-within > ul {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* Focus bouton menu mobile */
.mobile_menu_bar:focus-visible,
.mobile_menu_bar_toggle:focus-visible {
  outline: 3px solid #354249 !important;
  outline-offset: 5px !important;
}


/************************************
 * FORMULAIRES
 ************************************/

form input:focus-visible,
form textarea:focus-visible,
form select:focus-visible {
  outline: 3px solid #354249 !important;
  outline-offset: 3px !important;
  border-color: #354249 !important;
}

/* Bouton newsletter */
form.mc4wp-form input[type="submit"]:focus-visible,
.et_pb_searchsubmit:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 3px #354249 !important;
}


/************************************
 * CARTES / BLOCS CLIQUABLES
 ************************************/

.actualites a:focus-visible,
.ressources a:focus-visible,
.filters a:focus-visible,
.wpgmp_tabs_container a:focus-visible {
  outline: 3px solid #354249 !important;
  outline-offset: 4px !important;
}


/************************************
 * HEADER - RESPONSIVE
 ************************************/

/* --- Tablette paysage / petit desktop (981px - 1250px) ---
   Le menu desktop est encore affiché mais la place manque :
   on compacte tout pour éviter le chevauchement */
@media screen and (min-width: 981px) and (max-width: 1250px) {

  /* Liens du menu : plus petits, moins espacés */
  .et_pb_menu .et_pb_menu__menu ul li a {
    font-size: 14px;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Bouton Contact : on réduit le grand décalage gauche */
  .btnHeaderContact a {
    margin-left: 15px;
    padding: 12px 12px !important;
  }

  /* Barre de recherche moins large */
  .header-search .et_pb_searchform {
    max-width: 380px;
  }

  /* Logo un peu plus petit pour libérer de la place */
  .et_pb_menu__logo-wrap img {
    max-width: 150px;
  }
}

/* --- Option de secours si ça chevauche encore ---
   Décommenter pour forcer le menu burger jusqu'à 1250px
   au lieu des 980px par défaut de Divi.
   (Vérifier que la classe et_pb_menu_0_tb_header correspond
   bien au module dans l'inspecteur) */
/*
@media screen and (min-width: 981px) and (max-width: 1250px) {
  .et_pb_menu_0_tb_header .et_pb_menu__menu { display: none !important; }
  .et_pb_menu_0_tb_header .et_mobile_nav_menu { display: flex !important; }
}
*/

/* --- Tablette portrait (769px - 980px) : burger Divi actif --- */
@media screen and (min-width: 769px) and (max-width: 980px) {

  /* Barre de recherche : pleine largeur avec marges */
  .header-search .et_pb_searchform {
    max-width: 100%;
    margin: 0 20px;
  }
}

/* --- Menu mobile/burger déplié (jusqu'à 980px) --- */
@media screen and (max-width: 980px) {

  /* Le bouton Contact hérite du style desktop dans le menu
     déplié : on le remet en forme pour le contexte burger */
  .et_mobile_menu li.btnHeaderContact a,
  .et_mobile_menu .btnHeaderContact a {
    border: 1px solid #9D0B6D;
    border-radius: 25px;
    color: #9D0B6D !important;
    margin: 10px 0 10px 10px;
    padding: 10px 24px !important;
    height: auto;
    width: fit-content;
    display: inline-block;
  }

  .et_mobile_menu li.btnHeaderContact a:hover {
    background-color: #9D0B6D;
    color: #fff !important;
  }

  /* Neutralise le flex vertical du li (inutile en burger) */
  .et_mobile_menu .btnHeaderContact {
    display: block;
  }

  /* Confort de lecture dans le menu déplié */
  .et_mobile_menu li a {
    padding: 12px 5%;
    font-size: 16px;
  }
}

/* --- Mobile (< 768px) --- */
@media screen and (max-width: 768px) {

  /* Recherche : pleine largeur, hauteur tactile confortable */
  .header-search .et_pb_searchform {
    max-width: 100%;
    margin: 0 15px;
  }

  .header-search input.et_pb_s {
    height: 42px;
  }
}
/************************************
 * FIN HEADER - RESPONSIVE
 ************************************/