@charset "UTF-8";
/**
Theme Name: Divi child
Author: Brainstorm Force
Author URI: Éclaté
Description: Child theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: divi-child
Template: Divi
*/


.swiper-container {
	overflow: hidden;
}

.custom-notif-bar {
	top: 0;
	left: 0;
	padding: 10px 30px;
	width: 100%;
	text-align: center;
	background-color: #ccc;
	z-index: 1000000;
}
@media (min-width:981px) {
	.custom-notif-bar {
		position: fixed;
	}
}
@media (max-width:767px) {
	.custom-notif-bar {
		position: absolute;
	}
}

/* Test CF7 */


.cf7-field:has( + .cf7-field) {
	margin-bottom: 20px
}

.cf7-field {
	width: fit-content;
	width: -moz-fit-content;
	position: relative;
	--left: 20px;
	transition: all 200ms ease-in-out;
}

.cf7-field .wpcf7-form-control-wrap {
	display: block;
	transition: all 200ms ease-in-out;
}

.cf7-field .wpcf7-form-control-wrap:has(input:focus),
.cf7-field .wpcf7-form-control-wrap:has(input:not(:placeholder-shown)) {
	margin-top: -0.25em;
	padding-top: 0.25em;
}

.cf7-field:not(:nth-child(2)) .wpcf7-form-control-wrap:has(input:focus),
.cf7-field:not(:nth-child(2)) .wpcf7-form-control-wrap:has(input:not(:placeholder-shown)) {
	margin-top: 2em;
	padding-top: 0.25em;
}

.cf7-field .wpcf7-form-control-wrap > :is(.wpcf7-text, .wpcf7-tel, .wpcf7-email, .wpcf7-textarea) {
	padding: 12px var(--left);
}

.cf7-field .wpcf7-form-control-wrap:has(input:focus) ~ .placeholder,
.cf7-field .wpcf7-form-control-wrap:has(input:not(:placeholder-shown)) ~ .placeholder {
	font-size: 14px!important;
	top: -1em;
}

.cf7-field .placeholder {
	position: absolute;
	left: var(--left);
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	transition: all 200ms ease-in-out;
}



/**/


.posts-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
}

.pagination {
	grid-column: 1 / span 3;
}

.et_pb_code.my-custom-code {
	position: fixed;
	top: 172px;
	z-index: 10000000000;
	left: 0;
	width: 100%;
}

.et_pb_code.my-custom-code .toggle {
	display: flex;
	gap: 30px;
}

@font-face {
	font-family: "Conthrax";
	src: url("fonts/conthraxrg-bold.woff2") format("woff2"), url("fonts/conthraxrg-bold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: "Conthrax";
	src: url("fonts/conthraxrg-bolditalic.woff") format("woff2"), url("fonts/conthraxrg-bolditalic.woff") format("woff");
	font-weight: 600;
	font-style: italic;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Conthrax" !important;
}

.entry-content {
	padding-top: 200px;
}

.title-filters ul.filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style-type: none !important;
	padding: 0 !important;
	gap: 0 15px;
}

.grid-gabarit > div {
	--grid-item--min-width: 300px;
	--gap-count: calc(var(--grid-column-count) - 1);
	--total-gap-width: calc(var(--gap-count) * var(--column-gap));
	--grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));

	--breakpoint-size: calc(var(--total-gap-width) + calc(var(--grid-item--min-width) * var(--grid-column-count)) + 20vw);
	--breakpoint-element: calc(var(--total-gap-width) + calc(var(--grid-item--min-width) * var(--grid-column-count)));

	/*max-width:var(--breakpoint-element);
   margin:auto;*/
}

.grid-gabarit.flex > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.grid-gabarit.flex > div > div {
	width: var(--grid-item--max-width);
	min-width: var(--grid-item--min-width);

	/*width:max(24%, 300px);*/
	/*width:calc(calc(100% / var(--grid-column-count)) - calc(var(--column-gap) * var(--gap-count)) );*/

	/*width:calc(calc(100% / var(--grid-column-count)) - calc(var(--total-gap-width) * --grid-column-count));*/

	/*flex-grow:1;*/
	/*flex:1 1 auto;*/
}

.grid-gabarit:not([data-ratio="equal"]) > div {
	/*--grid-column-count: 2!important;
   max-width:calc(var(--total-gap-width) + calc(var(--grid-item--min-width) * var(--grid-column-count)));*/
	grid-template-columns: repeat(auto-fit, minmax(clamp(calc(100% / var(--grid-column-count)) - var(--column-gap), 300px, 100%), 1fr)) !important;
}

@media only screen and (min-width: 980px) and (max-width: 1612px) {
	.grid-gabarit[data-ratio="equal"] > div {
		/*--grid-column-count: 2!important;
      max-width:calc(var(--total-gap-width) + calc(var(--grid-item--min-width) * var(--grid-column-count)));*/
		grid-template-columns: repeat(auto-fit, minmax(clamp(calc(100% / var(--grid-column-count) * 2) - var(--column-gap), 300px, 100%), 1fr)) !important;
	}

	.grid-gabarit.columns-4 > div {
	}
}

@media only screen and (max-width: 1612px) {
}

.grid-gabarit.grid > div {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
}

/*@media only screen and (min-width: 768px) and (max-width: 1612px) {
   .grid-gabarit.columns-4 > div {
      grid-template-columns: repeat(2, 1fr);
   }
}*/

/*
.grid-gabarit.columns-3 {
   grid-template-columns: repeat(auto-fit, minmax(clamp(33.3333% - var(--gap), (300px - 100%) * 999, 100%), 1fr));
}
*/

.grid-gabarit.columns-3 {
	/*grid-template-columns: repeat(auto-fit, minmax(clamp(33.3333% - var(--gap), (300px - 100%) * 999, 100%), 1fr));*/
	grid-template-columns: repeat(auto-fit, minmax(clamp(calc(100% / var(--grid-column-count)) - var(--gap), (40rem - 100%) * 999, 100%), 1fr));
}

.grid-gabarit > div {
	-webkit-column-gap: var(--column-gap);
	   -moz-column-gap: var(--column-gap);
	        column-gap: var(--column-gap);
	row-gap: var(--row-gap);
}

@media only screen and (max-width: 700px) {
	.grid-gabarit > div {
		--grid-item--min-width: 100%;
	}
}
.grid-gabarit > div > * {
	display: flex;
	flex-direction: column;
	height: 100%;
	/*justify-content: space-between;*/
	gap: 20px;
}

.grid-gabarit div.image {
	/*height: 300px;*/
	padding-top: 100%;
	position: relative;
}

.grid-gabarit img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.posts-container > div > :is(h1, h2, h3, h4, h5, h6) {
	text-align: center;
}

/* debug */
/*

body #page-container #main-content :is(a[href="#"],a[href="#"] > *,a[href=""],a[href=""] > *){
   color:red!important;
   background-color: #ffaaaa;
}

*/
/* end debug */

:root {
	--min-fs: 43%;
	--max-fs: 100%;
	--fluid-size: var(--min-fs) * 1px + (var(--max-fs) - var(--min-fs)) * ((100vw - 350px) / (1600 - 350));
	font-size: clamp(var(--min-fs) * 1px, var(--fluid-size), var(--max-fs) * 1px);

	--radius-size: 8px + (24 - 8) * ((100vw - 350px) / (1600 - 350));
	--radius: clamp(8px, var(--radius-size), 24px);

	--easing: cubic-bezier(0.6, 0.27, 0.4, 0.74);
}

body,
#page-container :is(h1, h2, h3, h4, h5, h6) {
	--font-fluid-size: var(--font-min-fs) * 1px + (var(--font-max-fs) - var(--font-min-fs)) * ((100vw - 350px) / (1600 - 350));
	font-size: clamp(var(--font-min-fs) * 1px, var(--font-fluid-size), var(--font-max-fs) * 1px) !important;
}

#page-container :is(h1, h2, h3, h4, h5, h6, p:not(:last-child)) {
	padding-bottom: 0.5em;
}

#page-container h1 {
	--font-max-fs: 60;
	--font-min-fs: 23;
}

#page-container h2 {
	--font-max-fs: 50;
	--font-min-fs: 21;
}

#page-container h4 {
	--font-max-fs: 42;
	--font-min-fs: 19;
}

#page-container h4 {
	--font-max-fs: 35;
	--font-min-fs: 18;
}

#page-container h5 {
	--font-max-fs: 28;
	--font-min-fs: 17;
}

#page-container h5 {
	--font-max-fs: 24;
	--font-min-fs: 16;
}

body {
	--font-max-fs: 20;
	--font-min-fs: 18;
}

/*
@media all and (min-width: 1601px) {
   :root {
      font-size: 100% !important;
   }
}
@media all and (min-width: 1401px) and (max-width: 1600px) {
   :root {
      font-size: 94% !important;
   }
}
@media all and (min-width: 981px) and (max-width: 1400px) {
   :root {
      font-size: 82% !important;
   }
}
@media all and (min-width: 768px) and (max-width: 980px) {
   :root {
      font-size: 76% !important;
   }
}
@media all and (min-width: 501px) and (max-width: 767px) {
   :root {
      font-size: 63% !important;
   }
}
@media all and (max-width: 500px) {
   :root {
      font-size: 50% !important;
   }
}

.et_pb_text h1 {
   font-size: ;
}
.et_pb_text h2 {
   font-size: ;
}
.et_pb_text h3 {
   font-size: ;
}
.et_pb_text h4 {
   font-size: ;
}
.et_pb_text h5 {
   font-size: ;
}
.et_pb_text h6 {
   font-size: ;
}
*/

/*.text_font-size-1{font-size:;}*/

a,
.wpcf7-submit {
	cursor: pointer;
}

.et_pb_text p:last-of-type + :is(ul, ol) {
	padding-top: 1em;
	padding-bottom: 0px !important;
}
.et_pb_text :is(ul, ol) li:not(:last-of-type) {
	padding-bottom: 8px;
}
.et_pb_text :is(ul, ol) {
	line-height: 1.2em;
	padding-left: 15px !important;
}

.et_pb_text ol > li {
	text-indent: -15px;
}
.et_pb_text :is(ul, ol) :last-child {
	padding-bottom: 0;
}
.et_pb_text li :is(ul, ol) {
	margin-top: 8px !important;
	margin-bottom: 6px;
}

sup {
	bottom: 0.3em;
	font-size: 0.7em;
}

/* Button */
body .et_pb_button,
body .et_pb_button:hover {
	text-align: center !important;
	line-height: 1.3 !important;
	border-radius: 10px;
	border: none !important;
	transition: all 200ms var(--easing);
}

body .et_pb_button:not(.big),
body .et_pb_button:not(.big):hover {
	padding: 20px 30px;
}

/*  */

.fw-section {
}

.fw-row {
	width: 100% !important;
	max-width: 100 !important;
}
.fw-row .et_pb_column {
	padding: 50px;
}

/* grid */

.grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid.et_pb_row .et_pb_column {
	width: 100% !important;
	margin-right: 0 !important;
}

/*  */

.ha-center.et_pb_column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

@media only screen and (min-width: 981px) {
	.va-center.et_pb_row {
		display: flex;
	}

	.va-center.et_pb_row .et_pb_column {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.va-center.et_pb_column {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%; /* ? */
	}

	/* no-click menu */
	.menu-item.no-click > a {
		pointer-events: none !important;
	}
	/*  */
}

@media all and (max-width: 500px) {
	.et_pb_row {
		min-width: 90% !important;
	}

	/*?*/
	.title_hyphens :is(h1, h2, h3, h4, h5, h6) {
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}

#top-header li a:hover,
#top-menu li a:hover,
.et_mobile_menu li a:hover,
.nav ul li a:hover {
	opacity: 1 !important;
}

#main-footer {
	display: none;
}

/* Popup maker */

/* character pour bouton fermer : × */

html.pum-open.pum-open-overlay.pum-open-scrollable body > [aria-hidden] {
	padding-right: 0 !important;
} 

.pum-container {
	padding: 0 !important;
}

.pum-overlay {
	background-color: rgba(0, 0, 0, 0.7) !important;
}

@media only screen and (min-width: 768px) {
	.pum-container {
		width: 80% !important;
	}
}

.pum-content img {
	display: block;
}

.pum-close {
	background-color: #f15623 !important;
	line-height: 1em !important;
	padding: 0 !important;
	transition: all 200ms var(--easing);
}

.pum-close:hover {
	background-color: #fff !important;
	color: #355b6b !important;
}

@media only screen and (min-width: 768px) {
	.pum-close {
		font-size: 35px !important;
		width: 45px !important;
		height: 45px !important;
	}
}

@media only screen and (max-width: 767px) {
	.pum-close {
		font-size: 30px !important;
		width: 42px !important;
		height: 42px !important;
	}
}

/**/

/* socials */

.socials {
	display: flex;
	gap: 12px;
}

.socials > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	padding: 5px;
	background-color: #ddd;
}

.socials path {
	fill: #f00;
}

.socials svg {
	height: 90%;
}
.social.instagram svg {
	height: 100%;
}

/**/

/* Custom menus */

/* CM Buttons */
.cm_buttons {
	display: flex;
}

.cm_buttons .et_pb_button {
	width: -webkit-fit-content;
	width: fit-content;
	width: -moz-fit-content;
}

.cm_buttons.v-align {
	flex-direction: column;
}

/**/

/**/

.anim-shrink-rad {
	border-radius: var(--radius1);
}

.anim-opa-top {
	translate: 0 50px;
	opacity: 0;
	z-index: 10;
	transition: all 500ms ease-in-out;
}

.anim-opa-top.isVisible {
	translate: 0 0px;
	opacity: 1;
}

html.et-fb-root-ancestor .spinner-wrapper {
	display: none;
}

.spinner-wrapper {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: linear-gradient(0deg, #221e53 0%, #221e53 100%);
	z-index: 1000000;
	pointer-events: none;
	opacity: 1;
	transition: all 500ms ease-in-out;
	display: flex;
	align-items: center;
	justify-content: center;
}

.spinner-wrapper.hide {
	opacity: 0;
	transition: all 500ms ease-in-out;
}

.spinner-wrapper .spinner {
	width: 250px;
	height: 100px;
	/*background-color: #ccc;*/

	/*-webkit-animation:spin 1s linear infinite;
	-moz-animation:spin 1s linear infinite;
	animation:spin 1s linear infinite;*/
}

@-webkit-keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

@keyframes spin {
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
