/*
Theme Name: SoHappy Theme Astra Gutenberg
Theme URI: https://www.sohappy-studio.com
Author: Agence So'Happy
Author URI: hhttps://www.sohappy-studio.com
Description: Astra child theme
Template: astra
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Version: 1.0.0
*/
/******************************/
/********** Variables CSS *****/
/******************************/
:root {
	--main-color: var(--ast-global-color-0, #a3ff00);
	--sub-color: var(--ast-global-color-1, #1F8796);
	--third-color: var(--ast-global-color-2, #003042);
	--white: #fff;
	--grey: #f1f1f1;
	--black: #000;

	--raleway: 'Raleway', sans-serif;
	--manrope: 'Manrope', var(--raleway);
	--arial: "Arial Narrow", Arial, sans-serif;
}

/* --------------- GENERAL ---------------- */
html {
	font-size: 62.5%;
	margin: 0;
	padding: 0;
	width: 100%;
	height: unset;
}

body {
	margin: 0;
	padding: 0;
	width: 100vw;
	height: 100%;
	font-size: 1.5rem;
	font-family: var(--raleway);
	color: #000;
}
body.ast-main-header-nav-open{
	overflow: hidden;
}
body.single #primary {
	margin: 40px 0!important;
}

h1,
.entry-content h1 {
	font-size: 6rem;
	font-family: var(--manrope);
	font-weight: 400;
	color: var(--sub-color);
	margin: 0 0 .2lh 0;
}

h2,
.entry-content h2 {
	font-size: 4rem;
	font-family: var(--manrope);
	font-weight: normal;
	margin: 0 0 .2lh 0;
}

h3,
.entry-content h3 {
	font-size: 4rem;
	font-weight: 700;
	font-family: var(--manrope);
	color: var(--sub-color);
	margin: 0 0 .2lh 0;
}

h4,
.entry-content h4 {
	font-size: 2.6rem;
	font-weight: 300;
	color: var(--sub-color);
	font-family: var(--manrope);
	margin: 0 0 .4lh 0;
}

h5,
.entry-content h5 {}

/* définit un style commun pour les paragraphes */
p,
a,
ul li {
	font-family: var(--manrope);
	font-weight: 400;
	line-height: 1.3;
	font-size: 1.7rem;
}

p,
.entry-content p {
	margin-top: 0;
	margin-bottom: .6lh;
	color: var(--sub-color);
}

p a,
.entry-content li a {
	padding-bottom: 2px;
	text-decoration: none !important;
	color: inherit;
	font-weight: inherit;
}

.entry-content p a,
.entry-content li a {
	color: var(--sub-color);

}

.entry-content p a:hover,
.entry-content li a:hover,
.entry-content h4 a:hover {
	color: var(--main-color);
	border-bottom-color: var(--main-color);
}

p a:hover {
	color: var(--main-color);
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

.color-black {
	color: var(--black);
}

.color-white {
	color: var(--white);
}

/*********BOUTON**********/
.wp-block-button {
	position: relative;
	display: inline-block;
	border-radius: 50px;
	background: linear-gradient(to right, var(--third-color), var(--sub-color), var(--main-color));
	padding: 2px;
}

.wp-block-button .wp-element-button {
	display: block;
	padding: 10px 20px;
	background-color: var(--white);
	border: none;
	border-radius: 50px;
	box-sizing: border-box;
	line-height: 1.2;
	font-size: 1.6rem;
	color: var(--sub-color);
	font-family: var(--raleway);
	font-weight: 600;
	text-decoration: none !important;
	background-clip: padding-box;

	transition: all .3s ease-in-out;
	width: 100%;
}

.wp-block-button .wp-element-button:hover {
	background-color: var(--third-color);
	color: var(--white);
	border-radius: 50px;
}

/****************************/
/**********SPECIFIC**********/
/****************************/
.FlexContainer {
	display: flex !important;
	flex-flow: row wrap;
}

.ContainerFlex {
	display: flex;
	flex-flow: column;
}

.center-row {
	display: flex !important;
	flex-flow: row wrap;
	align-items: center;
}

.align-center-row {
	align-items: center;
}

.justify-center-row {
	justify-content: center;
}

.align-end-row {
	align-items: flex-end !important;
}

.justify-end-row {
	justify-content: end;
}

.justify-between-row {
	justify-content: space-between;
}

.justify-around-row {
	justify-content: space-around;
}

/* enlève la marge interne*/
.no-padding {
	padding: 0 !important;
}

/* enlève la marge externe*/
.no-margin {
	margin: 0 !important;
}

/* bouton non cliquable */
.no-click {
	pointer-events: none;
	cursor: none;
}

/* sections en fullwidth */
.fullwidth {
	width: 100% !important;
	max-width: 100% !important;
}

/* Centre le background et remplit la div */
.full-background-fit {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* cache le after et le before */
.no-after:after {
	visibility: hidden !important;
}

.no-before:before {
	visibility: hidden !important;
}

.no-desktop {
	display: none !important;
}

@media (max-width: 980px) {
	.no-desktop {
		display: unset !important;
	}

	.no-tablet {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.no-tablet {
		display: unset !important;
	}

	.no-mobile {
		display: none !important;
	}
}

.min-width {
	width: 60% !important;
	margin: auto;
}

.text_image {
	height: 2.5rem;
	padding: 0 10px;
}

.img-zoom,
.img-zoom * {
	overflow: hidden;
}

.img-zoom img {
	transition: all .5s ease-out;
}

.img-zoom:hover img {
	transform: scale(1.1);
}

/****************************/
/********** HEADER **********/
/****************************/
#masthead {
	position: relative;
}

#masthead::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateY(100%);
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, var(--third-color), var(--sub-color), var(--main-color));
}

#masthead .site-header-primary-section-right .current-menu-item > a {
	font-weight: 700;
	display: block;
}

#masthead .main-header-menu li {
	padding: 0 20px;
}

/* 1. Style général pour TOUS les éléments du menu */
#masthead .site-header-primary-section-right .menu-item > a {
	position: relative;
	padding: 0
	/* display: inline-block; */
}

/* 2. Soulignement au hover (pour les non-actifs) */
#masthead .site-header-primary-section-right .menu-item > a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -4px; /* Ajuste si besoin */
	width: 0;
	height: 2px;
	background: linear-gradient(to right, var(--third-color), var(--sub-color), var(--main-color));
	transition: width 0.4s ease;
}

#masthead .site-header-primary-section-right .menu-item > a:hover::after {
	width: 100%;
}

/* 3. Pour l'élément actif (current) : filet toujours présent + animation au hover */
#masthead .site-header-primary-section-right .current-menu-item > a::after {
	width: 100%;
	background: linear-gradient(to right, var(--third-color) 10%, var(--sub-color) 40%, var(--main-color) 60%);
	background-size: 200% auto;
	background-position: left center;
	transition: background-position 0.5s ease;
}

#masthead .site-header-primary-section-right .current-menu-item > a:hover::after {
	background-position: right center;
}


/****************************/
/********** CONTENT *********/
/****************************/
.slide_up,
.slide_down,
.slide_right,
.slide_left {
	opacity: 0;
	/*ANIMATION GSAP*/
}

#content .entry-content .ligne-droite {
	display: block;
	text-align: right;
}

#content .entry-content .wp-block-heading strong {
	background: linear-gradient(to right, var(--third-color)10%, var(--sub-color)45%, var(--main-color)70%);
	background-clip: text;
	color: transparent;
}

#content .entry-content .wp-block-columns .home-title {
	font-weight: bold;
	color: var(--main-color);
	font-size: 3.8rem;
}

.entry-content .wp-block-column.centrer-home {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 100px;
}


.entry-content .wp-block-column .picto-flamme {
	position: absolute;
	transform: translate(-2px, -130px);
	z-index: -2;
}

.entry-content .wp-block-column .image-center {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.entry-content .wp-block-column .image-center img {
	max-width: 100%;
	height: auto;
	display: block;
}

#content .entry-content .wp-block-columns .percent-size {
	color: var(--main-color);
	font-size: 20rem;
	font-weight: 200;
}

#content .entry-content .wp-block-columns .p-home {
	font-weight: 300;
	color: var(--white);
}

#content .entry-content .wp-block-columns .p-black {
	color: var(--black);
}

#content .entry-content .wp-block-column.background-gris {
	background-color: var(--grey);
	border-radius: 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 200px;
	padding: 70px;
}

.wp-block-columns.background-gris {
	background-color: var(--grey);
	border-radius: 50px;
	min-height: 200px;
	padding: 70px;
}

#content .entry-content .wp-block-column.top-test {
	top: -117px;
	position: relative;
}

.entry-content .chevauchement-top {
	margin-top: -100px!important;
}

.entry-content .wp-block-image.picture-form {
	height: 100%;
}

.entry-content .wp-block-image.picture-form>img {
	height: 100%;
	object-fit: cover;
}

.entry-content .wp-block-group.border-blue {
	border-color: var(--sub-color);
}

.entry-content .wp-block-column .picto-esp {
	transform: translate(-50%, -150%);
	position: absolute;
	width: 150px;
	height: 150px;
}


.bouton-cercle {
	width: 100%;
	height: 100%;
	overflow: hidden;
	cursor: pointer;
}

.bouton-cercle .texte-cercle {
	position: absolute;
	width: 100%;
	height: 100%;
	animation: rotateText 20s linear infinite;
	z-index: 1;
	object-position: center;
}

.bouton-cercle .fleche {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.4s ease;
	z-index: 2;
}

.bouton-cercle:hover .fleche {
	transform: translate(-50%, -50%) rotate(47deg);
}

@keyframes rotateText {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.particles_visu {
	width: 100% !important;
	position: relative;
	margin: 0 !important;
	overflow-x: clip;
}

.news-section {
	margin: auto;
	position: relative;
}

.news-grid {
	--gutter-size: 2%;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(var(--grid-col, 3), 1fr)
}
.get_realisations.has-sort .news-grid {
	display: block;
	gap: 0;
}
.get_realisations.has-sort .news-grid .news-item {
	width: calc(100% / var(--grid-col));
	box-sizing: border-box;
	padding: 10px;
}

.news-item {
	overflow: hidden;
}

.news-item .news-link {
	text-decoration: none !important;
	color: inherit !important;
	display: block;
}

.news-image {
	position: relative;
	border-radius: 50px;
	height: 400px;
	overflow: hidden;
}

.news-item .news-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background-color: var(--third-color);
	opacity: .7;
	transition: all .2s ease-out;
	z-index: 1;
	mix-blend-mode: multiply;
}
.news-item:hover .news-overlay {
	opacity: .7;
}

.news-image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news-cats {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 30px;
	gap: 10px;
	z-index: 2;
}
.news-cats span {
	display: block;
	padding: 5px 15px;
	border-radius: 50px;
	border: 1px solid var(--main-color);
	background-color: var(--third-color);
	text-transform: uppercase;
	font-size: 1.6rem;
	color: var(--main-color);
}
.news-image .news-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	gap: 10px;
	z-index: 2;
	opacity: 1;
	transition: all .2s ease-in-out;
}
.news-item:hover .news-image .news-content {
	opacity: 1;
}
.news-image .news-content .news-title {
	color: var(--white);
	font-weight: 700;
}
.news-image .news-content .news-arrow {
	display: block;
	width: 40px;
	height: 25px;
	object-fit: contain;
}

.news-content {
	padding: 15px;
	text-align: center;
}

.news-item .news-content .news-heading {
	font-weight: bold;
	margin-bottom: 10px;
	text-decoration: none !important;
	border-bottom: none !important;
}

.news-item .news-content .news-excerpt {
	margin-bottom: 15px;
	color: var(--black);
	font-weight: bold;
	text-decoration: none !important;
	border-bottom: none !important;
}

.filters-container {
	gap: 10px;
	padding: 20px;
}

.filters-container a {
	display: block;
	padding: 5px 15px;
	border-radius: 50px;
	border: 1px solid var(--main-color);
	background-color: var(--third-color);
	text-transform: uppercase;
	font-size: 1.6rem;
	color: var(--main-color);
	text-decoration: none!important;
	cursor: pointer;
}
.filters-container a:hover, .filters-container a.is-checked {
	border: 1px solid var(--main-color);
	background-color: var(--main-color);
	color: var(--third-color);
	outline: none!important;
}
#content .entry-content .wp-block-columns .percent-size-ctx {
	color: var(--main-color);
	font-size: 10rem;
	font-weight: 200;
}

#content .entry-content .wp-block-column.background-blue-ctx {
	background-color: var(--third-color);
	border-radius: 50px;
	display: flex;
	flex-direction: column;
	justify-content: start;
	padding: 45px;
}

#content .entry-content .wp-block-columns .ctx-title {
	font-weight: bold;
	color: var(--main-color);
	font-size: 3.8rem;
}

#content .entry-content .wp-block-group.background-gris-ctx {
	background-color: var(--grey);
	border-radius: 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 200px;
	margin-bottom: 70px;
}

#content .entry-content .wp-block-group.background-gris-exp {
	background-color: var(--grey);
	border-radius: 50px;
	min-height: 200px;
	margin-bottom: 70px;
}

#content .entry-content .wp-block-heading.ctx-h4 {
	font-weight: 300;
}

#content .entry-content .wp-block-heading.ctx-h4 strong {
	color: var(--sub-color);
	text-decoration: underline;
}

.biomethane-list {
	position: relative;
	width: 100%;
	/* display: flex;
	align-items: flex-start; */
	border-bottom: 1px solid var(--sub-color);
	padding: 10px 0;
	margin-bottom: 0 !important;
	padding-left: 3ch;
}


.biomethane-list::before {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	content: counter(item);
	counter-increment: item;
	font-size: 25px;
	font-weight: 600;
	color: var(--sub-color);
	display: inline-flex;
	align-items: center;
}

.biomethane-list p {
	margin: 0;
	line-height: 1.5;
	color: var(--black);
}

.biomethane-list strong {
	font-weight: 700;
}

.biomethane-list-container {
	counter-reset: item;
}

.h3-soli {
	color: var(--white) !important;
}

.h3-soli strong {
	color: var(--white) !important;
}

.picto-ampoule img {
	width: 110px;
}

.picto-feu img {
	width: 110px;
}

#content .p-black {
	color: var(--black);
}

.wp-block-group.background-blue {
	background-color: #002F42;
	border-radius: 50px;
	display: flex;
	flex-direction: column;
	justify-content: start;
	padding-top: 50px;
}

.stk-container:not(.stk--no-background) {
	border: none !important;
	box-shadow: none !important;
}

.custom-table-wrapper {
	overflow-x: auto;
	margin: 2em 0;
}

.custom-table {
	width: 100%;
	text-align: center;
}

table.custom-table {
	border: none;
}

.custom-table th {
	border-bottom: 1px solid var(--sub-color);
	border-right: 1px solid var(--white);
}

.custom-table td {
	border: none;
	border-bottom: 1px solid var(--sub-color);
	border-right: 1px solid var(--sub-color);
	padding: 1em;
	vertical-align: middle;
}

.custom-table .border-alone {
	border-top: 1px solid var(--sub-color);
}

.custom-table thead th {
	background-color: var(--sub-color);
	color: var(--white);
	font-weight: bold;
	text-align: center;
}

.custom-table .rounded-left {
	border-top-left-radius: 40px;
}

.custom-table .rounded-right {
	border-top-right-radius: 40px;
}

.custom-table .transparent-bg {
	background: transparent;
	border: none;
}

.custom-table td:first-child {
	background-color: var(--white);
	font-weight: bold;
	text-align: left;
}

.partners-slider a, .partners-slider img {
	width: 100%!important;
	height: 80px!important;
	padding: 0 20px;
	object-fit: contain;
}
.partners-slider a img {
	padding: 0;
}

/* CONTACT FORM 7 */
.CForm {
	width: 100%;
	gap: 20px;
}
.CForm .CF-full {
	width: 100%;
}
.CForm .CF-half { width: calc(50% - 10px); }
.CForm .CF-onethird { width: calc(33% - 10px); }
.CForm .CF-twothird { width: calc(66% - 10px); }
.CForm .CF-onequarter {	width: calc(24% - 10px); }
.CForm .CF-threequarter { width: calc(74% - 10px); }

.CForm input, .CForm textarea {
	font-size: 1.5rem;
}
.CForm input:focus, .CForm textarea:focus {
	border: 1px solid var(--grey)!important;
}
.CForm .CF-highlight {
	color: var(--sub-color);
	font-weight: 800;
}

.CForm .CF-checkbox .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
}
.CForm .CF-checkbox .wpcf7-list-item {
	margin: 0 0 5px 1%;
	width: 32%;
	min-width: 250px;
}
.CForm .CF-radio .wpcf7-radio {
	display: block;
}
.CForm .CF-radio .wpcf7-list-item {
	margin: 0 0 5px 1%;
	width: 99%;
}
.CForm .wpcf7-not-valid {
	border: 1px solid #dc3232;
}
.CForm .wpcf7-not-valid-tip {
	position: absolute;
	font-size: 1rem;
	bottom: 0;
	transform: translate(0,80%);
}
.CForm .CF-number label > span {
	width: 150px;
	display: block;
}
.CForm .CF-textarea .wpcf7-textarea  {
	resize: vertical;
}

.CForm .CF-hr {
	position: relative;
}
.CForm .CF-hr h3 {
	display: inline-block;
	padding-right: 20px;
	margin: 0;
	background-color: var(--white);
}
.CForm .CF-hr::before {
	position: absolute;
	content: "";
	display: block;

	width: 100%;
	height: 2px;
	background-color: var(--main-color);

	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	z-index: -1;
}
.CForm .wpcf7-spinner {
	position: absolute;
}

/****************************/
/***********FOOTER***********/
/****************************/
#main-footer {
	border-radius: 50px 50px 0 0;
	background-color: var(--grey);
	position: relative;
	z-index: 2;
	overflow: hidden;
}

#main-footer>* {
	position: relative;
	z-index: 1;

}

#colophon>* {
	background: transparent !important;
}


#main-footer::after {
	content: "";
	position: absolute;
	width: 876px;
	height: 710px;
	background-image: url(assets/svg/imgfooter.svg);
	background-repeat: no-repeat;
	background-size: contain;
	right: -21px;
	bottom: -245px;
	z-index: 0;
	pointer-events: none;
}

#astra-footer-menu > .menu-item > .menu-link {
	font-size: 1.5rem;
	color: var(--black);
}

.bouton-footer .wp-element-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	text-align: center;
	background-color: var(--third-color);
	background-image: url(assets/svg/btndl.svg);
	background-repeat: no-repeat;
	background-position: top;
	background-position-y: 25px;
	background-size: 80px;
	color: var(--main-color);
	padding: 2rem !important;
	text-decoration: none;
	height: 220px;
	width: 220px;
	transition: all 0.3s ease-in-out;
}

.wp-block-buttons.is-content-justification-center.is-layout-flex.wp-container-core-buttons-is-layout-6.wp-block-buttons-is-layout-flex {
	position: relative;
	z-index: 1;
}

/****************************/
/********DESKTOP ONLY********/
/****************************/
@media (min-width: 981px) {
	.news-item .news-overlay {
		opacity: 0;
	}
	.news-item .news-image .news-content {
		opacity: 0;
	}
}

/****************************/
/**********TABLETTE**********/
/****************************/
@media (max-width: 980px) {
	#masthead .menu-toggle svg{
		scale: 1.7;
		fill: var(--sub-color);
	}
	#masthead #ast-mobile-header .ast-mobile-header-content  {
		display: block!important;
	}
	#masthead #ast-mobile-header .main-header-bar-navigation {
		position: fixed;
		display: block!important;
		transform: translateY(calc(-100% - var(--masthead-height)));
		opacity: 0;
		transition: all .2s ease-out;
		top: 0;
	}
	#masthead #ast-mobile-header .main-header-bar-navigation.toggle-on {
		transform: translateY(0);
		opacity: 1;
	}

	#masthead #ast-mobile-header .main-header-menu  {
		height: 100vh;
		padding-top: var(--masthead-height);
		background-color: var(--white);
		flex-flow: column;
		align-items: center;
		justify-content: center;
		transition: all .2s ease-out;
	}
	#masthead .ast-menu-toggle {
		box-shadow: none !important;
		top: 15px;
		border: 3px solid;
	}
	#masthead .ast-builder-menu-mobile .main-navigation .menu-item > .ast-menu-toggle .ast-icon {
        color: var(--sub-color);
		
    }
	#masthead #ast-mobile-header .main-header-menu  li a.menu-link {
		background-color: transparent;
		text-align: center;
		color: var(--black);
		margin: 15px 0;
		font-size: 2rem;
	}
	#masthead .main-header-menu li a.menu-link a {
		color: var(--black);
	}
	#masthead .menu-toggle {
		position: relative;
	}
	#masthead .menu-toggle:focus {
		border: none!important;
		outline: transparent;
	}
	#masthead .menu-toggle::after {
		position: absolute;
		content: 'MENU';
		display: block;
		color: var(--sub-color);
		text-align: center;
		font-family: var(--raleway);
		font-size: .8rem;
		width: max-content;
		bottom: 4px;
		left: 50%;
		transform: translate(-50%,100%);
		font-weight: 600;
	}
	#masthead .menu-toggle.toggled::after {
		content: 'FERMER';
	}

	#main-footer .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-7.wp-block-columns-is-layout-flex {
		gap: 60px;
	}

	.no-mobile-padding {
		padding: 0 !important;
	}

	h1,
	.entry-content h1 {
		font-size: 3rem;
	}

	h2,
	.entry-content h2 {
		font-size: 2.8rem;;
	}

	h3,
	.entry-content h3 {
		font-size: 2.5rem;
	}

	h4,
	.entry-content h4 {
		font-size: 2rem;
	}
	p, a, ul li {
		font-size: 1.6rem;
	}

	.entry-content .wp-block-column .picto-flamme {
		transform: translate(-2px, -210px);
		height: 150px;
		width: 150px;
	}

	.entry-content .wp-block-column .picto-esp {
		transform: translate(-35px, -160px);
		width: 90px;
		height: 90px;
	}

	.entry-content .wp-block-column .image-center {
		width: 300px;
	}

	#main-footer .wp-block-columns .respon-footer {
		width: 260px;
	}

	.entry-content .respon-tab {
		display: flex;
		align-items: center;
	}

	#content .entry-content .wp-block-columns .percent-size {
		font-size: 10rem;
	}

	#content .entry-content .wp-block-column.background-gris {
		padding: 40px;
		border-radius: 30px;
	}

	.entry-content .wp-block-columns.chevauchement {
		height: auto;
		margin-bottom: -50px;
	}

	.entry-content .wp-block-columns.chevauchement-top {
		margin-top: -100px;
	}

	.entry-content .wp-block-column.respon-format {
		height: 500px;
	}
	.news-grid {
		--grid-col: 2;
	}
	#content .entry-content .wp-block-columns .ctx-title {
		font-size: 2.7rem;
	}
	#content .entry-content .wp-block-columns .percent-size-ctx {
		font-size: 4.5rem;
	}
}

/****************************/
/*********SMARTPHONE*********/
/****************************/
@media (max-width: 768px) {

	/**********SPECIFIC**********/
	.is-mobile-center,
	.is-mobile-center * {
		text-align: center;
	}

	.is-mobile-left,
	.is-mobile-left * {
		text-align: left!important;
	}

	.is-mobile-fullwidth {
		width: 100% !important;
	}

	.no-mobile-border {
		border: none;
	}

	.no-mobile-margin {
		margin: 0 !important;
	}

	.no-mobile-padding {
		padding: 0 !important;
	}

	.is-mobile-reverted {
		flex-direction: column-reverse;
		flex-wrap: nowrap !important;
	}

	.no-mobile-gap {
		gap: 0 !important;
	}

	.is-mobile-small, figure.is-mobile-small img {
		min-height: 300px!important;
	}
	/****************************/
	/* CONTACT FORM 7 */
	.CForm .CF-half, .CForm .CF-onethird, .CForm .CF-twothird, .CForm .CF-onequarter, .CForm .CF-threequarter  {
		width: calc(100% - 10px);
	}

	.CForm .CF-checkbox .wpcf7-list-item {
		width: 99%;
	}
	
	#main-footer .wp-block-columns .respon-footer {
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	#masthead {
		padding: 0 10px;
	}
	#masthead .custom-logo {
		max-width: 200px;
  		width: 200px;
	}

	.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
		padding: 0;
	}

	.news-grid {
		--grid-col: 1;
	}
	.news-grid .news-item .news-image {
		border-radius: 25px;
		height: 250px;
	}
	#content .entry-content .wp-block-columns .percent-size {
		font-size: 5rem;
		text-align: center;
	}

	#content .entry-content .wp-block-column.background-gris {
		padding: 25px;
		border-radius: 20px;
	}

	.entry-content .wp-block-columns.chevauchement {
		height: auto;
		flex-direction: column;
		margin-bottom: -30px;
	}

	.entry-content .wp-block-columns.chevauchement-top {
		margin-top: -50px;
	}

	.entry-content .wp-block-image.picture-form,
	.entry-content .wp-block-image.picture-form>img {
		height: auto;
		width: 100%;
		object-fit: contain;
	}

	#content .entry-content .wp-block-columns .ctx-title {
		font-size: 3rem;
	}
	#content .entry-content .wp-block-columns .percent-size-ctx {
		font-size: 6rem;
	}
	h2,
	.entry-content h2 {
		font-size: 3rem;
		font-family: var(--manrope);
	}

	#content .entry-content .border-blue {
		display: flex;
		flex-direction: column;
	}
	.random-img img {
		height: 300px!important;
	}
	.entry-content .wp-block-column .picto-esp {
		bottom: 0;
		left: 50%;
		transform: translate(-50%,50%);
	}
}

@media (max-width: 480px) {}

/****************/
/** KEYFRAMES ***/
/****************/