/*
Theme Name: Divi Enfant 
Description: Feebf, theme enfant de Divi
Author: Claire Janssens
Template: Divi
*/

/* *************** || COLORS ***************/
/* 
heading : #273C3f
body : #355154 
pqge :#F2F7F7
*/

/*************** || HEADINGS et typo ***************/

:root {
	/* Mobile base */
	--font-size-base: 16px;

	/* Type scale using 1.15 ratio */
	--font-size-sm: 14px;
	/* 16 ÷ 1.15 */

	--font-size-md: 16px;
	/* base */

	--font-size-lg: 18.4px;
	/* 16 × 1.15 */

	--font-size-xl: 21px;
	/* 18.4 × 1.15 */

	--font-size-2xl: 24px;
	/* 21 × 1.15 */

	--font-size-3xl: 27.6px;
	/* 24 × 1.15 */

	--font-size-4xl: 31.8px;
	/* 27.6 × 1.15 */
}

@media (min-width: 768px) {
	:root {
		--font-size-base: 18px;
		/* Slightly larger on tablets */
		--font-size-sm: 15.6px;
		--font-size-md: 18px;
		--font-size-lg: 20.7px;
		--font-size-xl: 23.8px;
		--font-size-2xl: 27.4px;
		--font-size-3xl: 31.5px;
		--font-size-4xl: 40px; /* entorse */
	}
}

@media (min-width: 1024px) {
	:root {
		--font-size-base: 18px;
		/* Same as tablet */
		/* Or adjust further if needed */
	}
}



body {
	font-size: var(--font-size-md) !important;
	letter-spacing: 0;
	line-height: 1.5;
}

h1 {
	font-size: var(--font-size-4xl) !important;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

h2 {
	font-size: var(--font-size-3xl) !important;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

h3 {
	font-size: var(--font-size-2xl) !important;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

h4 {
	font-size: var(--font-size-xl) !important;
	letter-spacing: 0.01em;
	line-height: 1.4;
}

h5 {
	font-size: var(--font-size-lg) !important;
	letter-spacing: 0.01em;
	line-height: 1.4;
}

h6 {
	font-size: var(--font-size-md) !important;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

small {
	font-size: var(--font-size-sm);
	letter-spacing: 0.02em;
}



.content-width {
	width: 100%;
}

@media (min-width: 768px) {
	.content-width {
		max-width: 640px;
	}
}

@media (min-width: 1024px) {
	.content-width {
		max-width: 720px;
	}
}

/* h1 {
  font-size: clamp(3em, 3em + 1vw, 4em);
  line-height: 1.5;
}

h2 {
 font-size: clamp(1.875em, 1.6em + 0.7vw, 2.25em);
  line-height: 1.5;
}

h6 {
  font-size: 1.25em;
  font-weight:700;
  line-height: 1.5;
} */


/* *************** || DIVERS  ***************/



.cj-section-titre-page {
	padding-top:20px !important;
	padding-bottom:20px !important;
}

@media (max-width: 767px) {
.cj-section-titre-page {
	padding-top:0px !important;
}
}

.cj-buttons-side-by-side .et_pb_button_module_wrapper {
	display: inline-block;
}

.cj-buttons-side-by-side {
	text-align: center !important;
}

@media (max-width: 980px) {
	.cj-colonne-bloc-color {
		min-height: calc(230px - 0.5vw) !important;
	}
}

@media (max-width: 767px) {
	.cj-colonne-bloc-color {
		min-height: calc(200px - 0.5vw) !important;
	}
}

img
{pointer-events:none
} 

/* align vertical blurb */
.cj-blurb-vertical-align .et_pb_blurb_position_left .et_pb_blurb_container, 
.cj-blurb-vertical-align .et_pb_blurb_position_right .et_pb_blurb_container {
vertical-align: middle !important;
position: relative !important;
top: -4px !important;
}

/* enlever le style auto sur ios pr les telephones */
a[href^="tel"] {
  color: #fff;
  text-decoration: none;
}


/* *************** || MENU  ***************/

/* #my-menu .et_pb_menu ul li a {
	color: #FCFDFD !important;
} */

#my-menu .cj-bouton-menu-primary a,
#my-menu .cj-bouton-menu-secondary a {
	border-radius: 100px;
	height: 55px;
	text-transform: uppercase;
	letter-spacing: 1%;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 20px 16px !important;
	color: #FCFDFD !important;
}

.et_pb_button[data-icon]:not([data-icon=""]):after {
	margin-left: 8px !important;
}

#my-menu .cj-bouton-menu-primary a {
	background-color: #00909b;
}

#my-menu .cj-bouton-menu-secondary a {
	background-color: #997000;
}


#my-menu .cj-bouton-menu-primary a:hover {
	background-color: #00666f;
	opacity: 1 !important;
}

#my-menu .cj-bouton-menu-secondary a:hover {
	background-color: #ca9e42;
	opacity: 1 !important;
}

/* Make sure that the alignment in the menu is correct */
.et_pb_menu .et_pb_menu__menu>nav>ul>li {
	align-items: center;
}

/* rendre tt le header sticky et baisser le contenu */
header.et-l.et-l--header {
	position: fixed;
	width: 100%;
	z-index: 9999;
}

#et-main-area {
	padding-top: 100px;
}


.et-menu a:hover {
	opacity: 1 !important;
}



/* trait grandissant sous items du menu */
#my-menu .et-menu a::before {
	content: "";
	background: #273c3f;
	height: 3px;
	width: 0;
	border-radius: 5%;
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 18px;
	opacity: 1;
	transition: all .3s ease-in-out;
}

#my-menu .et-menu a:hover::before {
	width: 45px;
}

#my-menu .et-menu .sub-menu a::before,
.cj-bouton-menu-primary a::before,
.cj-bouton-menu-secondary a::before {
	display: none;
}

#my-menu .et-menu .sub-menu a {
	margin-left: 0px;
	transition: all .5s ease-in-out;
}

#my-menu .et-menu .sub-menu a:hover {
	background-color: transparent !important;
	margin-left: 5px;
}



.et_pb_menu--style-left_aligned .et_pb_menu__logo {
	margin-right: 20px;
}

/* search bar */
.et_pb_menu__search-form input {
	width: 70% !important;
}

/* cadenas pr annuaire */
.cj-menu-annuaire {
	display: flex !important;
	align-items: center;
}

.cj-menu-annuaire a {
	padding-right: 2% !important;
}

.cj-menu-annuaire::after {
	font-family: "ETmodules";
	content: "\7e";
	font-size: 16px;
	margin-right:30% !important;
}

@media (max-width: 1500px) {
#cj-section-with-menu {
	padding-right:10vw;
	padding-left:10vw;
}
}
/* *************** || MENU MOBILE  ***************/

/* forcer le menu type mobile à 1160*/
@media (max-width: 1160px) {
	.et_mobile_nav_menu {
		display: block !important;
	}

	.et-menu-nav {
		display: none !important;
	}

	/* icone burger devient un X quand menu ouvert */
	.mobile_nav.opened .mobile_menu_bar:before {
		font-family: "ETmodules";
		content: "\4d";
	}

	/*remove bullet points from submenu*/
	.et_pb_menu .et_mobile_menu li {
		list-style-type: none;
	}

	.et_mobile_menu {
		overflow: scroll !important;
		max-height: 60vh;
		padding: 2% !important;
		z-index: -1;
		top: 90px;
	}

	#my-menu .cj-bouton-menu-primary a,
	#my-menu .cj-bouton-menu-secondary a {
		width: fit-content !important;
		margin-top: 10px !important;
		margin-left: 3% !important;
		padding: 16px 16px !important;
	}

	#my-menu .cj-bouton-menu-secondary a {
		margin-bottom: 20px !important;
	}


	.et_mobile_menu .menu-item-has-children>a {
		background-color: transparent !important;

	}

	.et_pb_menu .et_mobile_menu,
	.et_pb_menu .et_mobile_menu ul {
		list-style: none !important;
		text-align: left;
	}

	.et_mobile_menu li a {
		border-bottom: 0px solid;
	}

	.et_mobile_menu .cj-menu-annuaire a {
		padding-right: 2% !important;
	}


	.et_pb_menu--style-left_aligned .et_pb_menu_inner_container,
	.et_pb_menu--style-left_aligned .et_pb_row {
		align-items: center;
	}

	/* search bar */
	.et_pb_menu__search-form input {
		width: 90% !important;
	}

	#et-main-area {
		padding-top: 100px;
	}

}

@media only screen and (max-width: 1330px) {
  .et_mobile_menu {
	margin-top: 0px !important;
  }
}

/* *************** || MOBILE ORDRE des MODULES ****************/

@media all and (max-width: 980px) {

	/*** wrap row in a flex box ***/
	.custom_row {
		display: flex;
		-webkit-flex-wrap: wrap;
		/* Safari 6.1+ */
		flex-wrap: wrap;
	}

	/*** classes pr gérer ordre des éléments ***/
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
	}

	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	}

	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	}

	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}

	/*** ajout marge à la dernière colonne***/
	.custom_row:last-child .et_pb_column:last-child {
		margin-bottom: 30px;
	}
}



/* *************** || ACCUEIL  ***************/

#cj-hero .cj-h1-hero h1 {
	font-size: clamp(23px, 2vw, 30px) !important;
}

#cj-hero .cj-h2-hero h2 {
	font-size: clamp(42px, 3vw, 64px) !important;
}

.cj-hero-cercle-or .dsm_shapes_wrapper {
	width: 12vw !important;
	height: 12vw !important;
}

@media (min-width: 1800px) {
	.cj-hero-cercle-or .dsm_shapes_wrapper {
		width: 10vw !important;
		height: 10vw !important;
	}

}

.cj-hero-cercle-turquoise-fun .dsm_shapes_wrapper {
	width: 8vw !important;
	height: 8vw !important;
}

.cj-hero-cercle-turquoise .dsm_shapes_wrapper {
	width: 4vw !important;
	height: 4vw !important;
}


@media (max-width: 980px) {
	.cj-hero-cercle-or .dsm_shapes_wrapper {
		width: 15vw !important;
		height: 15vw !important;
	}

	.cj-hero-cercle-turquoise-fun .dsm_shapes_wrapper {
		width: 10vw !important;
		height: 10vw !important;
	}

	.cj-hero-cercle-turquoise .dsm_shapes_wrapper {
		width: 5vw !important;
		height:
			5vw !important;
	}
}

@media (max-width: 767px) {
	#cj-hero .cj-h2-hero h2 {
		font-size: 40px !important;
	}

	#cj-hero .cj-h1-hero h1 {
		line-height: 1.3 !important;
	}
}

@media (min-width: 981px) {

	.cj-hero-section-tablette,
	.cj-hero-section-mobile {
		display: none !important;
	}
}

/* *************** || NOS SERVICES  ***************/

@media (max-width: 1599px) {
	.cj-section-services-desktop {
		display: none;
	}
}

@media (min-width: 1600px) {
	.cj-section-services-tablette {
		display: none;
	}
}



/* *************** || TEXTES CADRES  ***************/

@media all and (min-width: 10px) and (max-width: 1100px) {
	.cj-section-textes-desktop {
		display: none;
	}
}

@media (min-width: 1101px) {
	.cj-section-textes-tablette {
		display: none;
	}
}

@media all and (min-width: 10px) and (max-width: 1100px) {
	.cj-section-textes-tablette .et_pb_row.et_pb_equal_columns {
		display: flex !important;
	}
}

/* *************** || ANNUAIRE  ***************/


.et_pb_de_mach_filter_posts_0 .divi-filter-item {
	border-radius:24px;
}

.et_pb_de_mach_acf_item p,
.et_pb_de_mach_acf_item a {
	word-break: break-word;
}


.cj-membre-civilite:has(p.mme) {
	background-color: #CA9E42 !important;
}

.dmach-icon {
	padding: 0px !important;
}



@media (max-width: 1250px) {

	.et_pb_section .filtered-posts-cont .divi-filter-archive-loop .col-desk-2>:not(.no-results-layout),
	body .et_pb_section .filtered-posts-cont .divi-filter-archive-loop.col-desk-2>:not(.no-results-layout),
	body .et_pb_section .filtered-posts-cont .divi-filter-archive-loop .col-desk-2>:not(.no-results-layout),
	body.woocommerce .divi-filter-archive-loop ul.products.columns-2 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.grid-item-cont .et_pb_section {
		max-width: 450px;
	}
}

.cj-colonne-coin-arrondi::after {
	content: url(https://feebf.com/wp-content/uploads/2026/04/coin-arrondi.png);
	position: absolute;
	right: 0%;
	bottom: 0%;
	height: 23px;
	width: 24px;
}

@media (max-width: 980px) {
	.cj-colonne-coin-arrondi {
		width: 18% !important;
	}

	.cj-colonne-statut {
		width: 82% !important
	}

	.cj-colonne-coin-arrondi::after {
		height: 22px !important;
		right:-2%;
	}
}

.cj-colonne-coin-arrondi:has(.et_pb_de_mach_acf_item.hidethis) {
	min-height: 72px !important;
}

.passster-form button[type="submit"],
.passster-form .passster-submit {
	border-radius: 24px !important;
	width: fit-content !important;
}

.password-form .passster-hidden {
	display: none !important;
}

.passster-form>form {
	width: 90% !important;
}

/* *************** || ÉVENEMENTS  ***************/
.griditem {
	border-radius: 24px;
	background-color: #fcfdfd;
	margin-left: 15px !important;
	margin-right: 15px !important;
}


.rhg_grid figure {
	padding: 9px !important;
}


.rhg_grid figcaption {
	background: transparent !important;
}

.rhg_grid li img {
	border-radius: 18px;
}

.grid-gallery figcaption h3 {
	font-family: "Quicksand", sans-serif !important;
	font-weight: 600 !important;
	font-size: 18px !important;
	color: #00909b !important;
	margin-bottom: 20px;
}

[class*="rhg"] [class*=grid-] .icon-postmeta-fc_start_datetime:before {
	content: "Du";
}

[class*="rhg"] [class*=grid-] .icon-postmeta-fc_end_datetime:before {
	content: "Au";
}

[class*="rhg"] [class*=grid-] .icon-postmeta-fc_start_datetime:before,
[class*="rhg"] [class*=grid-] .icon-postmeta-fc_end_datetime:before {
	font-family: "DM Sans", sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	top: 0px !important;
}

/*font date*/
.fe-extrainfo-holder {
	font-family: "DM Sans", sans-serif;
	font-size: 18px !important;
}

/*position date*/
.rhc-info-cell span {
	margin-left: 30px !important;
	text-transform: lowercase !important;
}

/*margin date*/
[class*="rhg"] [class*=grid-] [class*=icon-postmeta-] {
	margin-bottom: 11px !important;
}

.grid-wrap {
	padding-bottom: 0px !important;
}

/* 2 col d'event */
@media (max-width: 1300px) {
	.rhg_grid li {
		width: 50% !important;
	}
	.cj-grid-cal-3 {
		display: none;
	}
}

@media (min-width: 1301px) {
	.cj-grid-cal-4 {
		display: none;
	}
	.cj-grid-cal-3 {
		display: block;
	}
}

/* 1 col d'event */
@media (max-width: 800px) {
	.rhg_grid li {
		width: 100% !important;
	}
}

/* tooltip */
.fct-header .fc-title a {
	font-size:20px !important;
}
.fct-tooltip .rhc-info-cell span {
	margin-left: 1px !important;
}

.fct-tooltip .dbox-taxonomy-venue {
	margin-top:-25px !important;
}

/*** corriger position fleches next prev ***/
@media all and (min-width: 482px) and (max-width: 830px) {

  .fc-small .fc-button-prev:before,
  .fc-small .fc-button-next:before,
  .fc-small .fc-button-prevYear:before,
  .fc-small .fc-button-nextYear:before {
	right: 7px !important;
  }
 }

@media (max-width: 1100px) {
.fullCalendar .fc-header-title {
	 top:-70px !important;
 }
 }
 
/* *************** || EVENT TEMPLATE ***************/


.cj-event-titre h1 {
	font-size:42px !important;
}


@media (max-width: 780px) {
.cj-event-titre h1 {
	font-size:36px !important;
}

}



.cj-event-orga-lieu .rhc-info-cell span {
	margin-left:0px !important;
} 

.cj-event-orga-lieu .fe-extrainfo-label {
	display:none;
}
.cj-event-orga-lieu .fe-extrainfo-value {
	pointer-events: none !important;
}

.cj-champ-date-start::before {
	font-family: "ETmodules";
	content: "\e023";
	font-size: 16px;
	margin-right:15px !important;
}

.cj-champ-date-end {
	margin-left:30px;
}

@media (max-width: 780px) {
.cj-champ-date-end {
	margin-left:4px;
}
}


.cj-event-map .rhc-gmap {
max-height: 400px;
}


/* *************** || ENFANCE ET JEUNESSE ***************/

.cj-date-actus-enfance {
	padding: 6px 20px !important;
	background-color: #f2f7f7;
	color: #273C3f;
	border-radius: 24px;
	margin-bottom: 20px;
	width: fit-content;
}

@media (max-width: 1500px) {
	.cj-date-actus-enfance {
		margin-bottom: 0px;
		margin-top: 80px;
		background-color: #CDDDDF;
	}
}

@media (max-width: 768px) {
	.cj-date-actus-enfance {
		margin-top: 0px;
	}
}

.cj-colonne-actus-enfance {
	border-radius: 24px !important;
}


/* *************** || ECOLE PASTO ***************/

.cj-date-session-ep {
	padding: 6px 20px !important;
	background-color: #f2f7f7;
	color: #273C3f;
	border-radius: 24px;
	margin-bottom: 20px;
	width: fit-content;
}

@media (max-width: 1700px) {
	#cj-date-session-ep {
		max-width: 100% !important;
	}
	
.cj-date-session-ep {
		margin-bottom: 0px;
		margin-top: 90px;
		background-color: #f2f7f7;
	}
}

@media (max-width: 1200px) {
	.cj-date-session-ep {
font-size:14px !important;
	}
}

@media (max-width: 768px) {
	.cj-date-session-ep {
		margin-top: -10px !important;
		margin-bottom: 10px !important;
	}
}

.cj-annulation{
	overflow: visible !important;
} 

.cj-annulation::before {
	content:"ANNULÉ";
	font-size:14px;
	background-color: red;
	padding: 10px 14px;
	border-radius: 24px;
	font-weight: 600;
	color: white;
	position: absolute;
	z-index: 1000;
	top: -20px;
	left: 30px;
} 


/* *************** || PASSWORD PROTECTION ANNUAIRE ***************/


.et_password_protected_form h1 { /* cacher ancien titre */
	display: none;
}

.password-protected-title {
text-align: center;
padding-top: 72px;
background-color: #fff;
}

.post-password-required .et_pb_section {
 height:400px;
 padding-top:50px;
 padding-left:50px;
 padding-right:50px;
}

.et_password_protected_form h1, .et_password_protected_form p {
 color:#273C3f;
}

.post-password-required .et_password_protected_form p input {
 margin-top:30px;
 border: 1px solid #273C3f !important;
 border-radius:50px !important;
 width:60% !important;
 float:left;
}

.post-password-required .et_submit_button {
	color:white;
	text-transform: uppercase;
	font-size:16px;
	letter-spacing: 1%;
	font-weight: 600;
 float:left;
 margin-top: 10px;
 padding: 10px 20px !important;
 margin-left: 40px;
 background: #01909B;
 border-radius:50px !important;

}

.post-password-required .et_submit_button:hover {
 background: #00666F;
}

.post-password-required .et_pb_button {
border: 0px solid transparent;
}

.post-password-required .et_pb_button:hover {
border: 0px solid transparent;
}

.post-password-required .et_pb_button:hover::after {
display: none;
}