/*
* Theme Name: Inodia
* Description:
* Author: Vincent Michelet - Inodia
* Version: 1.0.0
*/

/*---------- Imports ----------*/
/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');


/* Icons */
@font-face {
	font-family: 'icomoon';
	src: url('./static/fonts/icomoon.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}



/*
 * CONFIGURATION
 */

/*
 For change main variables : static/css/variables.css
 For change mobile breakpoint : static/css/theme.css - line ~ 340
 */


/*---------- Réglages généraux ----------*/
body {
	background: var(--background-color);
	color: var(--dark-title-color);
	font-family: var(--font-text);
	font-size: var(--text-font-size);
	font-weight: 300;
}

.wrapper_body {
	background: var(--background-color);
}

h1, .h1 { 
	color: var(--dark-title-color);
    font-family: var(--font-title);
	font-size: var(--h2-font-size) !important; 
    font-weight: 700;
    line-height: 1 !important;
	letter-spacing: -.03em;
    text-transform: initial;
	position: relative;
}

.fonce h1,
.fonce .h1,
.fonce .h1 .elementor-heading-title {
	color: var(--light-title-color) !important;
}

h1 span, .h1 span,
.h2 .elementor-heading-title span { 
	color: inherit;
    font-family: inherit;
	font-size: var(--h1-produit-font-size); 
    font-weight: 300;
    line-height: 1 !important;
	letter-spacing: 0;
}

h2, .h2,
.h2 .elementor-heading-title { 
	color: var(--dark-title-color) !important;
	display: flex;
	align-items: flex-start;
	font-family: var(--font-title);
	font-size: var(--h2-font-size) !important; 
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -.03em;
	text-transform: initial;
	position: relative;
}

body:not(.single-produits) h2, 
body:not(.single-produits) .h2,
body:not(.single-produits) .h2 .elementor-heading-title { 
	line-height: 1 !important;
}

body:not(.single-produits) .elementor-widget-heading:has(h2):not(.h3):not(.h4),
body:not(.single-produits) .elementor-widget-heading.h2,
body:not(.single-produits) #content .section_mea .elementor-widget-heading:has(p),
.single-produits #content .elementor-widget-heading.chapo {
    display: flex;
    align-items: baseline !important;
}

body:not(.single-produits) .elementor-widget-heading:has(h2):not(.h3):not(.h4)::before,
body:not(.single-produits) .elementor-widget-heading.h2::before,
.single-produits #content .elementor-widget-heading.chapo::before {
    content: "\67";
    color: var(--primary-color) !important;
    display: flex !important;
    font-family: "icomoon" !important;
    font-size: var(--h2-picto-font-size);
    font-weight: 400 !important;
    line-height: 1 !important;
    text-transform: lowercase !important;
    margin-inline-end: 16px;
}

body.single-produits h2, 
body.single-produits .h2,
body.single-produits .h2 .elementor-heading-title {
	font-size: var(--h2-product-font-size) !important; 
}

body.single-produits .elementor-widget-heading:has(h2),
body.single-produits .elementor-widget-heading.h2,
body.single-produits #content .section_mea .elementor-widget-heading:has(p) {
    display: flex;
    flex-flow: column;
    align-items: flex-start !important;
}

body.single-produits .elementor-widget-heading:has(h2)::after,
body.single-produits .elementor-widget-heading.h2::after {
    content: "";
    background: var(--primary-color);
    display: flex;
    aspect-ratio: 90 / 15;
    width: 90px;
    height: auto;
    margin-block-start: .9375rem;
}

.fonce h2,
.fonce .h2,
.fonce .h2 .elementor-heading-title {
	color: var(--light-title-color) !important;
}

h2, .h2 {
	margin-block-end: var(--margin-h2);
}

h3, .h3,
.h3 .elementor-heading-title { 
	color: var(--dark-title-color) !important;
	font-family: var(--font-title);
	font-size: var(--h3-font-size) !important;
	font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em;
    text-transform: initial;
}

.fonce h3,
.fonce .h3,
.fonce .h3 .elementor-heading-title {
	color: var(--light-title-color) !important;
}

h3, .h3 {
	margin-block-end: var(--margin-h3);
}

h4, .h4,
.h4 .elementor-heading-title,
.page-id-1630 #content .section_docs .block_lang .elementor-widget-text-editor p { 
	color: var(--dark-title-color) !important;
	font-family: var(--font-title);
	font-size: var(--h4-font-size) !important; 
	font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    text-transform: initial;
}

.rose h4, 
.h4.rose,
.h4.rose .elementor-heading-title { 
	color: var(--primary-color) !important;
}

.fonce h4,
.fonce .h4,
.fonce .h4 .elementor-heading-title {
	color: var(--light-title-color) !important;
}

h4, .h4 {
	margin-block-end: var(--margin-h4);
}

.h2.elementor-widget-heading,
.h3.elementor-widget-heading,
.h4.elementor-widget-heading {
	margin-block-end: 0 !important;
}

h2.elementor-heading-title, 
.h2 .elementor-heading-title,
.h2.elementor-widget-heading {
	margin-block-end: 0 !important;
}

h3.elementor-heading-title, 
.h3 .elementor-heading-title,
.h3.elementor-widget-heading {
	margin-block-end: 0 !important;
}

h4.elementor-heading-title, 
.h4 .elementor-heading-title,
.h4.elementor-widget-heading {
	margin-block-end: 0 !important;
}

.center:not(.owl-item) h1, 
.center:not(.owl-item) h2, 
.center:not(.owl-item).h2, 
.center:not(.owl-item) .h2,
.center:not(.owl-item).h2 .elementor-heading-title, 
.center:not(.owl-item) h3, 
.center:not(.owl-item).h3, 
.center:not(.owl-item) .h3,
.center:not(.owl-item).h3 .elementor-heading-title, 
.center:not(.owl-item) h4, 
.center:not(.owl-item).h4, 
.center:not(.owl-item) .h4,
.center:not(.owl-item).h4 .elementor-heading-title {
    align-items: center;
	text-align: center;
    justify-content: center;
}

.center:not(.owl-item).h2 .elementor-heading-title,
.right.h2 .elementor-heading-title {
	position: relative;
}

.center:not(.owl-item) .elementor-widget-container,
.right .elementor-widget-container {
	display: flex;
    flex-flow: column;
}

.center:not(.owl-item) .elementor-widget-container {
    align-items: center;
}

.right .elementor-widget-container {
    align-items: flex-end;
}

.right h1, 
.right h2, 
.right.h2, 
.right .h2,
.right.h2 .elementor-heading-title, 
.right h3, 
.right.h3, 
.right .h3,
.right.h3 .elementor-heading-title, 
.right h4, 
.right.h4, 
.right .h4,
.right.h4 .elementor-heading-title {
    align-items: flex-end;
	text-align: right;
}

p, 
li,
span {
	font-weight: 300;
	letter-spacing: var(--letter-spacing);
}

p,
li,  
span, 
strong {
	color: rgba(var(--dark-text-color), .75);
	font-family: var(--font-text);
}

p.elementor-blockquote__content {
    font-weight: 300;
    font-style: italic;
    margin-block-start: 0 !important;
}


/* LOCK WIDGET STYLE */
.elementor .elementor-tab-content,
.elementor .elementor-tab-content p,
.elementor .elementor-tab-content li,
.elementor .elementor-tab-content span,
.elementor .elementor-tab-content strong,
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor li,
.elementor .elementor-widget-text-editor span,
.elementor .elementor-widget-text-editor strong,
.elementor .elementor-testimonial__text {
    background: transparent !important;
	color: rgba(var(--dark-text-color), .75) !important;
    font-family: var(--font-text) !important;
    font-size: var(--text-font-size) !important;
    line-height: 1.618 !important;
    letter-spacing: var(--letter-spacing) !important;
}

.elementor .elementor-tab-content,
.elementor .elementor-tab-content p,
.elementor .elementor-tab-content li,
.elementor .elementor-tab-content span,
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor li,
.elementor .elementor-widget-text-editor span,
.elementor .elementor-testimonial__text {
    font-weight: 200 !important;
}

.elementor .elementor-tab-content a *,
.elementor .elementor-widget-text-editor a * {
	color: inherit !important;
}

.elementor .elementor-tab-content strong,
.elementor .elementor-widget-text-editor strong {
    font-weight: 600 !important;
}

.fonce p,  
.fonce li, 
.fonce span,
.fonce cite,
.fonce strong,
.elementor .fonce .elementor-counter-title,
.elementor .fonce .elementor-tab-content,
.elementor .fonce .elementor-tab-content p,
.elementor .fonce .elementor-tab-content li,
.elementor .fonce .elementor-tab-content span,
.elementor .fonce .elementor-tab-content strong,
.elementor .fonce .elementor-widget-text-editor,
.elementor .fonce .elementor-widget-text-editor p,
.elementor .fonce .elementor-widget-text-editor li,
.elementor .fonce .elementor-widget-text-editor span,
.elementor .fonce .elementor-widget-text-editor strong,
.elementor .fonce .elementor-testimonial__text {
	color: rgba(var(--light-text-color), .9) !important; 
}
 
a {
	color: var(--primary-color);
}

a:hover {
	color: var(--primary-hover-color);
}

a:active {
	color: var(--primary-focus-color);
}

label, .label,
input[type="file" i] {
    color: var(--dark-title-color);
} 

.fonce label, 
.fonce .label,
.fonce input[type="file" i] {
    color: var(--light-title-color);
} 

input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
select, 
textarea, 
textarea.elementor-field-textual,
.elementor-field-group .elementor-select-wrapper select {
	background: transparent !important;
    border: var(--border-width) solid rgba(var(--dark-text-color), .6) !important;
    border-radius: var(--border-radius) !important;
    color: rgba(var(--dark-text-color), .7) !important;    
    font-family: var(--font-text);
    font-size: var(--text-font-size);
    font-weight: 200 !important;
	letter-spacing: var(--letter-spacing);
    text-overflow: ellipsis;
    min-height: initial;
}

input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
textarea, 
textarea.elementor-field-textual {
    padding: 12px 20px !important;
}

select,
.elementor-field-group .elementor-select-wrapper select {
    padding: 12px 48px 12px 20px !important;
}

input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]):hover,
select:hover,
textarea:hover,
.elementor-field-group .elementor-select-wrapper select:hover {
    border-color: rgba(var(--dark-text-color), .75) !important;
	color: rgba(var(--dark-text-color), .85);
}

input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]):focus,
select:focus,
textarea:focus,
.elementor-field-group .elementor-select-wrapper select:focus {
    border-color: var(--dark-title-color) !important;
    box-shadow: 0px 0px 0px 2px rgba(var(--dark-text-color), .1) !important;
	color: var(--dark-title-color) !important;
	outline: none !important;
}

.fonce input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
.fonce select, 
.fonce textarea,
.fonce .elementor-field-group .elementor-select-wrapper select {
    border-color: rgba(var(--light-text-color), .25) !important;
	color: rgba(var(--light-text-color), .65) !important;
}

.fonce input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]):hover,
.fonce select:hover,
.fonce textarea:hover,
.fonce .elementor-field-group .elementor-select-wrapper select:hover {
    border-color: rgba(var(--light-text-color), .5) !important;
	color: rgba(var(--light-text-color), .8) !important;
}

.fonce input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]):focus,
.fonce select:focus,
.fonce textarea:focus,
.fonce .elementor-field-group .elementor-select-wrapper select:focus {
    border-color: var(--secondary-color) !important;
	color: var(--light-title-color) !important;
}

#content .elementor-select-wrapper.remove-before::before {
    content: "\61" !important;
    font-family: "icomoon" !important;
    font-size: .375rem;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-transform: lowercase !important;
    text-shadow: none !important;
    transform: translate3d(0,-50%,0);
    inset: 50% 24px auto auto;
}

#content .elementor-select-wrapper .select-caret-down-wrapper {
    display: none !important;
}

input[type="file"]:focus {
	border: none !important;
}

input ~ span em {
    color: rgba(var(--light-text-color), .5);
	font-size: .75rem;
}

.fonce input ~ span em {
    color: rgba(var(--dark-text-color), .5);
}

blockquote {
    position: relative;
    padding: 25px 35px;
    margin: .9375rem 0;
}

blockquote > * {
    font-style: italic;
    position: relative;
    z-index: 1;
}

p.rgpd {
	font-size: .75rem;
    text-align: left;
    margin: 0 0 1.875rem 0;
}

.fond.bleu_fonce:not(.block) {
	background: var(--background-dark);
}

.fond.bleu:not(.block) {
	background: var(--secondary-color);
}

.fond.gris:not(.block) {
	background: rgba(var(--dark-text-color), .05);
}

.fond.blanc:not(.block) {
	background: var(--background-color);
}

.fond.block.fonce > div {
	background: var(--background-dark);
}

.fond.block.bleu > div {
	background: var(--secondary-color);
}

.fond.block.gris > div {
	background: rgba(var(--dark-text-color), .05);
}

.fond.block.blanc > div {
	background: var(--background-color);
}


/* Dropdown */
select {
	color: rgba(var(--dark-title-color), .65) !important;
}

.fonce select {
	color: rgba(var(--light-title-color), .65) !important;
}

#content .elementor-widget-testimonial-carousel .swiper-pagination-bullets,
#content .elementor-widget-image-carousel:not(.elementor-pagination-position-inside) .swiper-pagination-bullets {
    position: static;
    margin-block-start: var(--margin-h3);
}

#content .elementor-widget-image-carousel.elementor-pagination-position-inside .swiper-pagination-bullets {
    bottom: 15px;
    z-index: 1;
}

#content .swiper-pagination-bullet {
    background: var(--dark-title-color);
}

#content .fonce .swiper-pagination-bullet {
    background: var(--light-title-color);
}


/* Upload */
#content .elementor-widget-form .elementor-field-type-upload > label {
    background: var(--primary-color);
    border-radius: var(--border-radius);
    color: var(--light-title-color);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;    
    height: 100%;
    font-size: .75rem;
    font-weight: 400;
    padding: 12px 24px;
    margin: 0;
    transition: all .3s ease-in-out;
}

#content .elementor-widget-form .elementor-field-type-upload > label.file-loaded {
    font-weight: 700;
}

#content .elementor-widget-form .elementor-field-type-upload > label.file-loaded::after {
    display: none;
}

#content .elementor-widget-form .elementor-field-type-upload > label:hover {
    background: var(--primary-hover-color);
}

#content .elementor-widget-form .elementor-field-type-upload > label:has(+ input:focus:focus-visible) {    
    outline: var(--outline-width) solid rgba(var(--primary-rgb), .3) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 5px var(--primary-color) !important;
}

#content .elementor-widget-form .elementor-field-type-upload > label:active {
    background: var(--primary-focus-color);
}

#content .fonce .elementor-widget-form .elementor-field-type-upload > label {
    color: var(--secondary-color);
}

#content .fonce .elementor-widget-form .elementor-field-type-upload > label:hover {
    background: var(--secondary-hover-color);
}

#content .fonce .elementor-widget-form .elementor-field-type-upload > label:has(+ input:focus:focus-visible) {    
    outline: var(--outline-width) solid rgba(var(--secondary-rgb), .3) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 5px var(--secondary-color) !important;
}

#content .fonce .elementor-widget-form .elementor-field-type-upload > label:active {
    background: var(--secondary-focus-color);
}

#content .elementor-widget-form .elementor-field-type-upload > label::before {
    content: "\68";
    color: var(--light-title-color);
    font-family: "icomoon" !important;
    font-size: .9375rem;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-transform: lowercase !important;
    margin-inline-end: 10px;
}

#content .elementor-widget-form .elementor-field-type-upload > input {
    position: absolute;
    top: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}


/* STRUCTURE */
body:not(.home) #content > .wrapper {
    padding-top: 3rem;
}

#footer .wrapper_footer,
#content .elementor-top-section:not(.no_margin):not(:first-child),
.post-type-archive-realisations #content .archive-realisations + .elementor {
	margin-block-start: var(--margin-section);
}

body:not(.elementor-page) #content,
#content .elementor-top-section:not(.no_margin):not(.fond):last-child {
	margin-block-end: var(--margin-section);
}

#content .elementor-top-section .elementor-column[data-settings="{\"background_background\":\"classic\"}"] > .elementor-widget-wrap {
    padding: var(--padding-block) !important;
}

#content #breadcrumb {
	margin-block-end: 1.5625rem;
}

#content #breadcrumb p {
	font-size: .8125rem;
}

#content #breadcrumb p a,
#content #breadcrumb p span.separator {
	font-weight: 300;
}

#content #breadcrumb p a {
	color: var(--dark-title-color);
}

#content #breadcrumb p span.separator,
#content #breadcrumb p a:hover {
	color: var(--primary-color);
}

#content #breadcrumb p a:active {
	color: var(--primary-hover-color);
}

#content #breadcrumb p span.separator {
	margin: 0 5px;
}

#content #breadcrumb p span.last {
	font-weight: 700;
}

#content .elementor-top-section.fond:not(.block) {
	padding-block: var(--padding-section);
}

#content .elementor-top-section.fond:not(.block):last-child {
	margin-block-end: 0;
}

#content .elementor-top-section.fond.block > div {
    border-radius: var(--border-radius);
    overflow: hidden;
}

#content .elementor-top-section .block_slider .elementor-widget-shortcode {
    overflow: hidden;
}

#content .elementor-top-section.block_txt_img .block_img.forme .elementor-widget-image {
    display: flex;
    align-items: center;
}

#content .elementor-top-section.fond:not(.block) + .elementor-top-section.fond:not(.block) {
	margin-block-start: 0;
}

#content .elementor-top-section.fond.bleu + .elementor-top-section.fond.bleu,
#content .elementor-top-section.fond.gris + .elementor-top-section.fond.gris,
#content .elementor-top-section.fond.blanc + .elementor-top-section.fond.blanc,
#content .elementor-top-section.fond.bleufonce + .elementor-top-section.fond.bleu_fonce {
	padding-block-start: 0;
}

#content .elementor-top-section .elementor-inner-section + .elementor-inner-section:not(.block_boutons),
#content .elementor-top-section .elementor-widget-text-editor + .elementor-inner-section:not(.block_boutons) {
	margin-block-start: var(--margin-block);
}

#content .elementor-top-section .elementor-inner-section:first-child,
#content .elementor-top-section .elementor-inner-section.titre + .elementor-inner-section {
	margin-block-start: 0;
}

#content .center .elementor-widget-wrap,
#footer .center .elementor-widget-wrap {
	display: flex;
	flex-flow: column;
	align-items: center;
}

#content .elementor-widget + .block_boutons,
#content .elementor-widget + .elementor-widget-form,
#content .elementor-widget + .elementor-widget-text-editor,
#content .elementor-widget-text-editor + .elementor-widget,
#content .elementor-widget-accordion + .elementor-widget,
#content .elementor-widget-image + .elementor-widget-button,
#content .elementor-widget-shortcode + .elementor-widget-button,
#footer .elementor-widget + .block_boutons,
#footer .elementor-widget + .elementor-widget-form,
#footer .elementor-widget-text-editor + .elementor-widget,
#footer .elementor-widget-shortcode + .elementor-widget-button {
	margin-block-start: calc(var(--margin-section) / 3.5);
}

#content .elementor-widget-button + .elementor-widget-image:not(.logo),
#content .elementor-widget-text-editor + .elementor-widget-image:not(.logo),
#content .elementor-widget-text-editor + .elementor-widget-hotspot {
	margin-block-start: calc(var(--margin-section) / 1.75);
}

#content .elementor-widget-image + .elementor-widget-text-editor {
	margin-block-start: calc(var(--margin-section) / 4);
}

#content .elementor-inner-section + .elementor-widget {
	margin-block-start: calc(var(--margin-h2) + (var(--margin-h2) / 2));
}

#content .elementor-widget-heading:has(h3) + .elementor-inner-section {
	margin-block-start: calc(var(--margin-h3) + (var(--margin-h3) / 2));
}

#content .elementor-widget + .elementor-widget-heading.no_margin {
	margin-block-start: 0 !important;
}

#content .section_titre + .elementor-top-section {
	margin-block-start: calc(var(--margin-h2) + (var(--margin-h2) / 2)) !important;
}

#content .elementor-widget-image .elementor-image figure figcaption,
#content .elementor-widget-image-carousel .swiper-slide figure figcaption {
    background: rgba(var(--dark-text-color), .25);
	border-radius: var(--border-radius);
    color: var(--dark-title-color);
	font-family: var(--font-text);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: var(--letter-spacing);
	text-shadow: 0 2px 20px var(--light-title-color);
    padding: 10px;
}

#content .quote p {
    font-size: 2rem;
    line-height: 1.3;
}

#content .elementor-widget-blockquote .elementor-blockquote::before,
#content .elementor-widget-testimonial-carousel .elementor-swiper-button {
    display: none;
}

#content .elementor-widget-testimonial-carousel .elementor-main-swiper {
    width: 100%;
}

#content .elementor-widget-testimonial-carousel .swiper-slide {
    padding: 0;
}

#content .elementor-widget-testimonial-carousel .elementor-testimonial__text,
#content .elementor-widget-testimonial-carousel .elementor-testimonial__name {
    font-size: 1.125rem !important;
}

#content .elementor-widget-testimonial-carousel .elementor-testimonial__title {
    line-height: 1.3;
    margin-block-start: .3125rem;
}

#content .section_img_full img {
    border-radius: 0;
    width: 100%;
}

#content .block_txt_img .block_img .bouton.icon {
    display: flex;
    justify-content: center;
    margin: 0 !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%,-50%,0);
    z-index: 1;
}

#content .block_txt_img .block_img .bouton.icon a {
    background: var(--primary-color);
    color: var(--light-title-color);
    height: 80px;
    padding: 20px !important;
}

#content .block_txt_img .block_img .bouton.icon a:hover {
    background: var(--primary-hover-color);
}

#content .block_txt_img .block_img .bouton.icon a:active {
    background: var(--primary-focus-color);
}

#content .block_txt_img .block_img .bouton.icon a > span {
    font-size: 1.875rem;
}


/* MARGES TITRES */
#content .elementor-widget-heading + .offres-list,
#content .elementor-widget + .quote,
#content .elementor-widget-heading:has(h1) + .elementor-widget,
#content .elementor-widget-heading:has(h1) + .elementor-inner-section,
#content .elementor-widget-heading.h2 + .elementor-widget,
#content .elementor-widget-heading.h2 + .elementor-inner-section,
body:not(.single-post) #content .elementor-widget-heading:not(.h3):not(.h4):has(h2) + .elementor-widget {
	margin-block-start: var(--margin-h2);
}

#content .elementor-widget-heading:not(.h3):not(.h4):has(h2) + .elementor-inner-section {
	margin-block-start: calc(var(--margin-h2) + (var(--margin-h2) / 2));
}

#content .elementor-widget-heading.h3 + .elementor-widget,
.page-id-699 #content #bootstrap3 .catalogue-main .list-group-item h2 + div,
.page-id-699 #content #bootstrap3 .catalogue-main .list-group-item h3 + .catalogue-bullet,
body:not(.single-post) #content .elementor-widget-heading:not(.h2):not(.h4):has(h3) + .elementor-widget,
body.single-post #content .elementor-widget-heading:not(.h3):not(.h4):has(h2) + .elementor-widget {
	margin-block-start: var(--margin-h3);
}

#content .elementor-widget-heading.h4 + .elementor-widget,
body:not(.single-post) #content .elementor-widget-heading:not(.h2):not(.h3):has(h4) + .elementor-widget,
body.single-post #content .elementor-widget-heading:not(.h2):not(.h4):has(h3) + .elementor-widget {
	margin-block-start: var(--margin-h4);
}

#content .elementor-widget-heading.sur_titre + .elementor-widget-heading {
	margin-block-start: calc(var(--margin-h2) / 2) !important;
}

#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading.h2,
#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading:has(h2) {
	margin-block-start: calc(var(--margin-h2) + (var(--margin-h2) / 2)) !important;
}

#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading.h3,
#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading:has(h3) {
	margin-block-start: calc(var(--margin-h3) + (var(--margin-h3) / 2)) !important;
}

#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading.h4,
#content .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + .elementor-widget-heading:has(h4) {
	margin-block-start: calc(var(--margin-h4) + (var(--margin-h4) / 2)) !important;
}

#content .elementor-widget-image + .elementor-widget-heading {
	margin-block-start: var(--padding-section);
}


/* FORMULAIRES */
/*#content .section_contact .elementor-inner-section {
    max-width: 800px;
    margin-inline: auto;
}*/

#content .elementor-widget-form .elementor-field-type-checkbox .elementor-field-subgroup {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin: -.625rem -15px 0;
}

#content .elementor-widget-form .elementor-field-type-checkbox .elementor-field-subgroup > .elementor-field-option {
    margin: .625rem 15px 0;
}

#content .elementor-widget-form .e-form__buttons:has(.elementor-field-type-previous),
#content .elementor-widget-form .e-form__buttons:has(.elementor-field-type-next) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button,
#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button {
    background: transparent;
    border-radius: 0;
    color: var(--secondary-color);
    display: flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .2em;
    text-transform: uppercase;
    padding: 0;
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after,
#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
    color: inherit;
    font-family: "icomoon" !important;
    font-size: .5rem;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0;
    text-transform: lowercase !important;
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
    content: "\6b";
    margin-inline-end: 10px;
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after {
    content: "\6a";
    margin-inline-start: 10px;
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button:hover,
#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button:hover {
    color: var(--secondary-hover-color);
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button:active,
#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button:active {
    color: var(--secondary-focus-color);
}

#content .elementor-widget-form .e-form__buttons .elementor-field-type-next button:focus:focus-visible,
#content .elementor-widget-form .e-form__buttons .elementor-field-type-previous button:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--secondary-rgb), .3) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 5px var(--secondary-color) !important;
}

#content .elementor-widget-form .e-form__indicators__indicator__number {
    background: transparent;
}

#content .elementor-widget-form .e-form__indicators__indicator--state-inactive {
    border-color: rgba(var(--light-text-color), .25);
    color: rgba(var(--light-text-color), .25);
}

#content .elementor-widget-form .e-form__indicators__indicator__separator {
    background: rgba(var(--light-text-color), .25);
    height: var(--border-width);
    width: calc(100% - 100px);
}

#content .elementor-widget-form .e-form__indicators__indicator--state-active {
    border-color: var(--secondary-color);
    color: var(--secondary-color);
}

#content .elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
    background: var(--secondary-color);
    border-color: transparent;
    color: var(--light-title-color);
}

#content .elementor-widget-form .e-form__indicators__indicator--state-completed + .e-form__indicators__indicator__separator {
    background: var(--secondary-color);
}

#content .elementor-blockquote--skin-border .elementor-blockquote {
    border: none;
    padding: 0;
    margin: 0;
}

#content .elementor-widget-icon svg path {
    fill: var(--dark-title-color);
}


/* BLOCK BOUTONS */
#content .block_boutons .elementor-widget-wrap {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
    gap: 12px; 
}

#content .center .block_boutons .elementor-widget-wrap {
	justify-content: center;
}

#content .block_boutons .bouton {
	width: auto;
	margin: 0;
}


/* BOUTONS */
.bouton {
	border: none;
}

.block_boutons .bouton {
	display: table;
	margin-block-end: 0 !important;
}

.block_boutons .bouton:not(:last-child) {
	margin-inline-end: 20px;
}

.bouton,
.bouton span,
#btn_form span,
#btn_form_message span,
.post-type-archive-realisations #content .facetwp-facet-realisations_pager button,
#content .elementor-post.type-post .elementor-post__read-more,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all,
body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn, 
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
    font-family: var(--font-title);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.bouton span,
.fonce .bouton span,
#btn_form span,
#btn_form_message span,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all,
body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
    color: inherit !important;
	text-align: center;
}

.bouton:not(.link):not(.icon) span span {
    position: relative;
    inset: 1px auto auto auto;
}

.bouton a,
a.bouton,
button.bouton,
#btn_form,
#btn_form_message,
#content .elementor-post.type-post .elementor-post__read-more,
.post-type-archive-realisations #content .facetwp-facet-realisations_pager button,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all,
body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn, 
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
	border: var(--border-width) solid transparent;
	border-radius: var(--border-radius);
	display: inline-block;
    min-height: initial;
	padding: 16px 32px;
    text-align: center;
}

#btn_form,
#btn_form_message,
.bouton:not(.link):not(.icon):not(.menu-item) a,
a.bouton:not(.link):not(.icon):not(.menu-item),
button.bouton:not(.link):not(.icon):not(.menu-item) {
    min-width: 150px;
}

body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn {
    background: transparent;
    border: var(--border-width) solid var(--light-title-color) !important;
	color: var(--light-title-color) !important;
}

body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn:hover {
    background: var(--light-title-color);
	border: var(--border-width) solid transparent !important;
	color: var(--dark-title-color) !important;
}

body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn:active {
    background: rgba(var(--light-text-color), .85);
	color: var(--dark-title-color) !important;
}

.elementor-widget-button.icomoon a,
.elementor-widget-button.inodia-icons a,
.elementor-widget-lightbox.icomoon a,
.elementor-widget-lightbox.inodia-icons a {
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.center:not(.owl-item) .bouton,
.bouton.center {
	display: flex;
    justify-content: center;
}

.right .bouton,
.bouton.right {
	display: flex;
    justify-content: flex-end;
}


/* BOUTON ROSE */
#btn_form,
#btn_form_message,
a.bouton.primary,
a.bouton.rose,
.bouton.primary a,
.bouton.rose a,
button.bouton.primary,
button.bouton.rose,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-allow-all {
	background: var(--primary-color);
    color: var(--light-title-color) !important;
}

#btn_form:hover,
#btn_form_message:hover,
a.bouton.primary:hover,
a.bouton.rose:hover,
.bouton.primary a:hover,
.bouton.rose a:hover,
button.bouton.primary:hover,
button.bouton.rose:hover,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all:hover,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-allow-all:hover {
    background: var(--primary-hover-color);
}

#btn_form:active,
#btn_form_message:active,
a.bouton.primary:active,
a.bouton.rose:active,
.bouton.primary a:active,
.bouton.rose a:active,
button.bouton.primary:active,
button.bouton.rose:active,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all:active,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-allow-all:active {
	background: var(--primary-focus-color);
}

#btn_form:focus:focus-visible,
#btn_form_message:focus:focus-visible,
a.bouton.primary:focus:focus-visible,
a.bouton.rose:focus:focus-visible,
.bouton.primary a:focus:focus-visible,
.bouton.rose a:focus:focus-visible,
button.bouton.primary:focus:focus-visible,
button.bouton.rose:focus:focus-visible,
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all:focus:focus-visible,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-allow-all:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--primary-rgb), .3) !important;
    box-shadow: 0 0 5px var(--primary-color) !important;
}


/* BOUTON BLEU */
a.bouton.secondary,
a.bouton.bleu,
.bouton.secondary a,
.bouton.bleu a,
button.bouton.secondary,
button.bouton.bleu {
	background: var(--secondary-color);
    color: var(--dark-title-color) !important;
}

a.bouton.secondary:hover,
a.bouton.bleu:hover,
.bouton.secondary a:hover,
.bouton.bleu a:hover,
button.bouton.secondary:hover,
button.bouton.bleu:hover {
	background: var(--secondary-hover-color);
}

a.bouton.secondary:active,
a.bouton.bleu:active,
.bouton.secondary a:active,
.bouton.bleu a:active,
button.bouton.secondary:active,
button.bouton.bleu:active {
	background: var(--secondary-focus-color);
}

a.bouton.secondary:focus:focus-visible,
a.bouton.bleu:focus:focus-visible,
.bouton.secondary a:focus:focus-visible,
.bouton.bleu a:focus:focus-visible,
button.bouton.secondary:focus:focus-visible,
button.bouton.bleu:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--secondary-rgb), .3) !important;
    box-shadow: 0 0 5px var(--secondary-color) !important;
}


/* BOUTON NOIR */
a.bouton.noir,
.bouton.noir a,
button.bouton.noir {
	background: var(--dark-title-color);
    color: var(--light-title-color) !important;
}

.fonce a.bouton.noir,
.fonce .bouton.noir a,
.fonce button.bouton.noir {
	background: var(--light-title-color);
    color: var(--dark-title-color) !important;
}

a.bouton.noir:hover,
.bouton.noir a:hover,
button.bouton.noir:hover {
	background: rgba(var(--dark-text-color), .8);
}

.fonce a.bouton.noir:hover,
.fonce .bouton.noir a:hover,
.fonce button.bouton.noir:hover {
	background: rgba(var(--light-text-color), .8);
}

a.bouton.noir:active,
.bouton.noir a:active,
button.bouton.noir:active {
	background: rgba(var(--dark-text-color), .7);
}

.fonce a.bouton.noir:active,
.fonce .bouton.noir a:active,
.fonce button.bouton.noir:active {
	background: rgba(var(--light-text-color), .7);
}

a.bouton.noir:focus:focus-visible,
.bouton.noir a:focus:focus-visible,
button.bouton.noir:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--dark-text-color), .3) !important;
    box-shadow: 0 0 5px var(--dark-title-color) !important;
}

.fonce a.bouton.noir:focus:focus-visible,
.fonce .bouton.noir a:focus:focus-visible,
.fonce button.bouton.noir:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--light-text-color), .3) !important;
    box-shadow: 0 0 5px var(--light-title-color) !important;
}


/* BOUTON CONTOUR ROSE */
a.bouton.contour.rose,
a.bouton.contour.primary,
.bouton.contour.rose a,
.bouton.contour.primary a,
button.bouton.contour.rose,
button.bouton.contour.primary,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-save-settings {
	background: transparent !important;
	border: var(--border-width) solid var(--primary-color) !important;
	color: var(--primary-color) !important;
}

a.bouton.contour.rose:hover,
a.bouton.contour.primary:hover,
.bouton.contour.rose a:hover,
.bouton.contour.primary a:hover,
button.bouton.contour.rose:hover,
button.bouton.contour.primary:hover,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-save-settings:hover {
	background: var(--primary-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--light-title-color) !important;
}

a.bouton.contour.rose:active,
a.bouton.contour.primary:active,
.bouton.contour.rose a:active,
.bouton.contour.primary a:active,
button.bouton.contour.rose:active,
button.bouton.contour.primary:active,
body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.moove-gdpr-modal-save-settings:active  {
	background: var(--primary-hover-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--light-title-color) !important;
}


/* BOUTON CONTOUR BLEU */
a.bouton.contour.bleu,
a.bouton.contour.secondary,
.bouton.contour.bleu a,
.bouton.contour.secondary a,
button.bouton.contour.bleu,
button.bouton.contour.secondary {
	background: transparent !important;
	border: var(--border-width) solid var(--secondary-color) !important;
	color: var(--secondary-color) !important;
}

a.bouton.contour.bleu:hover,
a.bouton.contour.secondary:hover,
.bouton.contour.bleu a:hover,
.bouton.contour.secondary a:hover,
button.bouton.contour.bleu:hover,
button.bouton.contour.secondary:hover {
	background: var(--secondary-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--dark-title-color) !important;
}

a.bouton.contour.bleu:active,
a.bouton.contour.secondary:active,
.bouton.contour.bleu a:active,
.bouton.contour.secondary a:active,
button.bouton.contour.bleu:active,
button.bouton.contour.secondary:active {
	background: var(--secondary-hover-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--dark-title-color) !important;
}


/* BOUTON CONTOUR NOIR */
a.bouton.contour.noir,
.bouton.contour.noir a,
button.bouton.contour.noir {
	background: transparent !important;
	border: var(--border-width) solid var(--dark-title-color) !important;
	color: var(--dark-title-color) !important;
}

.fonce a.bouton.contour.noir,
.fonce .bouton.contour.noir a,
.fonce button.bouton.contour.noir {
	border: var(--border-width) solid var(--light-title-color) !important;
	color: var(--light-title-color) !important;
}

a.bouton.contour.noir:hover,
.bouton.contour.noir a:hover,
button.bouton.contour.noir:hover {
	background: var(--dark-title-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--light-title-color) !important;
}

.fonce a.bouton.contour.noir a:hover,
.fonce .bouton.contour.noir a:hover,
.fonce button.bouton.contour.noir:hover {
	background: var(--light-title-color) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--dark-title-color) !important;
}

a.bouton.contour.noir:active,
.bouton.contour.noir a:active,
button.bouton.contour.noir:active {
	background: rgba(var(--dark-text-color), .8) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--light-title-color) !important;
}

.fonce a.bouton.contour.noir:active,
.fonce .bouton.contour.noir a:active,
.fonce button.bouton.contour.noir a:active {
	background: rgba(var(--light-text-color), .8) !important;
	border: var(--border-width) solid transparent !important;
	color: var(--dark-title-color) !important;
}


/* BOUTON LIEN */
.bouton.link {
    text-align: initial;
}

a.bouton.link,
.bouton.link a,
button.bouton.link,
#content .elementor-post.type-post .elementor-post__read-more {
    background: transparent !important;
    border: none !important;
	border-radius: 0 !important;
    display: inline-block;
    position: relative;
    padding: 0 10px 10px 10px !important;
}

a.bouton.link span span,
.bouton.link a span span,
button.bouton.link span,
#content .elementor-post.type-post .elementor-post__read-more {
    font-size: .875rem;
}

a.bouton.link span span::after,
.bouton.link a span span::after,
button.bouton.link span::after,
#content .elementor-post.type-post .elementor-post__read-more::after {
    content: "";
    background: var(--primary-color);
    display: flex;
    width: 100%;
    height: var(--border-width);
    position: absolute;
    inset: auto auto 0 50%;
    transform: translateX(-50%);
	transition: all .3s ease-out;
}

a.bouton.link:hover span span::after,
.bouton.link a:hover span span::after,
button.bouton.link:hover span::after,
#content .elementor-post.type-post .elementor-post__read-more:hover::after {
    color: var(--primary-hover-color) !important;    
    width: 10%;
}

a.bouton.link:active span span::after,
.bouton.link a:active span span::after,
button.bouton.link:active span::after,
#content .elementor-post.type-post .elementor-post__read-more:active::after {
    color: var(--primary-focus-color) !important;
    width: 0;
}


/* ICON */
.bouton.icon .elementor-button-wrapper {
    display: table;
}

.bouton.icon a {
    color: var(--dark-title-color);
    aspect-ratio: 1 / 1;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    filter: initial;
    padding: 16px !important;
}

.bouton.icon a > span {
    font-size: 1.5rem;
    letter-spacing: 0 !important;
}

.bouton.icon a span span {
    clip: rect(0,0,0,0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}



/*--------- ARCHIVES ---------*/
#content .posts-list {
	display: grid;
	grid-template-columns: repeat(var(--items-by-row), minmax(0,1fr));
	gap: calc(var(--items-margin) * 2.5) var(--items-margin);
}


/* Pagination */
.pagination-block{
	margin: 3.75rem 0 0 0;
}

.pagination-block,
.pagination-block .pagination {
	display: flex;
	align-items: center;
	justify-content:center;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

#content .pagination-block .pagination,
#content .pagination-block .pagination li {
	padding: 0;
	margin: 0;
}

#content .pagination-block .pagination li {
	margin-inline-start: 20px;
}

#content .pagination-block .pagination li:first-child {
	margin-inline-start: 0;
}

#content .pagination-block .pagination li.disabled,
#content .pagination-block .pagination li::before {
	display: none;
}

#content .pagination-block .pagination li a,
#content .pagination-block .pagination li button,
#content .pagination-block .pagination li span {
	background: transparent;
	color: var(--light-title-color);
	display: flex;	
	padding: 0;
	margin: 0;
}

#content .pagination-block .pagination li a:hover {
	color: var(--primary-color);
}

#content .pagination-block .pagination li a:active {
	color: var(--primary-hover-color);
}

#content .pagination-block .pagination li a,
#content .pagination-block .pagination li a i,
#content .pagination-block .pagination li a span {
	line-height: 1;
	padding: 0;
}

#content .pagination-block .pagination li a {
	display: flex;
	align-items: center;
}

#content .pagination-block .pagination li.current span {
	color: var(--primary-color);
}

#content .pagination-block .pagination li a span {
	font-weight: 500;
}

#content .pagination-block .pagination li.prev a span {
	margin-inline-start: 10px;
}

#content .pagination-block .pagination li.next a span {
	margin-inline-end: 10px;
}


/*--------- TEASES ---------*/
#content .tease a.thumbnail {
    border-radius: var(--border-radius);
    display: flex;
    overflow: hidden;
}

#content .tease a.thumbnail picture,
#content .tease a.thumbnail img,
#content .tease a.thumbnail svg {
    display: flex;
    width: 100%;
    height: 100%;
}

#content .tease a.thumbnail img,
#content .tease a.thumbnail svg {
    object-fit: cover;
    transition: all .3s ease-in-out, outline .1s ease-in-out !important;
}

#content .tease a.thumbnail:hover img,
#content .tease a.thumbnail:hover svg {
    transform: scale(1.025);
}

#content .tease a.thumbnail:active img,
#content .tease a.thumbnail:active svg {
    transform: scale(1.05);
}

#content .tease .description time {
    background: var(--secondary-color);
    color: var(--light-title-color);
    font-size: .6875rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    padding: 6px 8px;
    margin-block-end: .625rem;
}

#content .tease .description a.title {    
    color: var(--dark-title-color);
}

#content .tease .description a.title:hover {
    color: var(--primary-color);
}

#content .tease .description a.title:active {
    color: var(--primary-hover-color);
}

#content .tease .description a.title p {
    color: inherit !important;
    display: table;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .02em;
}

#content .tease .description .title + p {
    line-height: 1.4;
    margin-block: .9375rem 0;
}


/* ACTUS */
#content .tease-post,
#content .tease-post .description,
#content .elementor-post.type-post,
#content .elementor-post.type-post .elementor-post__text {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    flex-grow: 1;
}

#content .tease-post a.thumbnail {
    aspect-ratio: 16 / 9;
    margin: 0;
}

#content .tease-post a.thumbnail img {
    border-radius: 0;
    position: static;
    transform: initial;
}

#content .tease-post .description {
    margin-block-start: var(--margin-h4);
}

#content .tease-post .description a.title p {
    font-size: 1.375rem;
    text-transform: uppercase;
}

#content .tease-post .description .title + p {  
    font-size: 1rem;
}

#content .tease-post .description .bouton {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    flex-grow: 1;
    margin-block-start: 1.5rem;
}


/* PRODUITS */
#content .tease-produits {
    display: flex;
    flex-flow: column;
    height: 100%;
}

#content .tease-produits a.thumbnail {
    aspect-ratio: 275 / 218;
    margin: 0;
}

#content .tease-produits .description a.title p {
    font-size: 1.875rem;
}

#content .tease-produits a.thumbnail + .description,
#content .tease-produits .bouton {
    margin-block-start: 1.875rem;
}

#content .tease-produits .description {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    flex-grow: 1;
}

#content .tease-produits .bouton {
    display: flex;
    align-items: flex-end;
    flex-grow: 1;
}

#content .tease-produits .bouton a {
    min-width: initial;
}



/* BACK TO TOP */
#back-to-top {
	background: transparent;
	border: var(--border-width) solid var(--primary-color);
	border-radius: var(--border-radius);
	color: var(--primary-color);
	cursor: pointer;
    font-size: .375rem;
	width: 40px;
	height: 40px;
	padding: 0;
	position: fixed;
	inset: auto 30px 30px auto;
    z-index: 50;
}

#back-to-top:hover {
	background: var(--primary-color);
	border: var(--border-width) solid transparent;
	color: var(--light-title-color);
}

#back-to-top:active {
	background: var(--primary-hover-color);
	border: var(--border-width) solid transparent;
	color: var(--light-title-color);
}

#back-to-top:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--primary-rgb), .3) !important;
    box-shadow: 0 0 5px var(--primary-color) !important;
}

#back-to-top.hide {
	display: none;
}

#back-to-top.hide i {
    color: inherit;
}





/**
 * ----------------------------------------
 * ------------- ANIMATIONS ---------------
 * ----------------------------------------
 */





/*------------------------------------------*/
/*
/*---------------- SITE H+L ----------------*/
/*
/*------------------------------------------*/

/*--------- HEADER ---------*/
#pre-header {
    background: var(--secondary-color);
	overflow: auto;
}

#pre-header .container {
	padding-block: 12px 8px;
}

#pre-header p {
	color: var(--light-title-color);
	font-size: .8125rem;
	font-weight: 600;
    line-height: 1.3;
	text-align: center;
}


/* HEADER */
.sr-only, 
.screen-reader-text, 
.screen-reader-text span {
	position: absolute;
	inset: -10000em auto auto auto;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}

header {
	background: transparent;
	position: relative;
    z-index: 5;
}

header .wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
    padding-block: 32px;
}

.home header .wrapper {
	position: absolute;
    inset: 0 auto auto 50%;
    transform: translateX(-50%);
    transition: all .3s ease-in-out, outline .1s ease-in-out !important;
}

header .nav-main ul {
	display: flex;
	align-items: center;
	list-style: none;
}

header .nav-main ul li a {
	color: var(--light-title-color);
    display: table;
	font-family: var(--font-title);
	font-size: 1rem;
	font-weight: 700;
    line-height: 1;
	letter-spacing: .05em;
	text-transform: uppercase;
    white-space: nowrap;
}

header .nav-main ul li a:hover {
	color: var(--primary-color);
}

header .nav-main ul li a:active {
	color: var(--primary-hover-color);
}

header.header .logo a:focus:focus-visible,
header.header .nav-main ul li a:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--light-text-color), .3) !important;
    box-shadow: 0 0 5px var(--light-title-color) !important;
}

header nav ul > li.menu-item > a[href="#"] {
    cursor: default;
}

header .toggle-nav {
	background: none;
	border: 0;
	cursor: pointer;
	height: 20px;
	width: 30px;
	flex-direction: column;
	justify-content: space-between;
	padding: 0;
}

header #nav-wrapper .toggle-nav {
	position: absolute;
    inset: 55px 7.5% auto auto;
}

header .toggle-nav .line {
	background: var(--light-title-color);
	border-radius: 10px;
	display: block;
	height: 2px;
	width: 100%;
    letter-spacing: 0 !important;
    transform-origin: center center;
    position: relative;
}

header .toggle-nav .line1 {
	transition: transform .4s ease-in-out;
}

header .toggle-nav .line2 {
	transition: transform .2s ease-in-out;
}

header .toggle-nav .line3 {
	transition: transform .4s ease-in-out;
}

header #nav-wrapper.active .toggle-nav .line1 { 
    top: 50%; 
    transform: translateY(-50%) rotate(45deg);
}

header #nav-wrapper.active .toggle-nav .line2 {
	transform: scaleY(0);
}

header #nav-wrapper.active .toggle-nav .line3 {
    bottom: 50%; 
    transform: translateY(50%) rotate(-45deg);
}

header .wrapper .logo img {
    aspect-ratio: var(--logo-ratio);
    height: 51px;
}

header .menu_wrapper {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
    position: relative;
}

header .menu_wrapper a.logo-link {
    display: flex;
}

header .menu_wrapper a.logo-link img {
    aspect-ratio: var(--logo-ratio);
    width: auto;
    transition: all .3s ease-in-out;
}

header .menu_wrapper a.logo-link:focus:not(:focus-visible) img {
    opacity: .85;
}

header #nav-main-desktop {
    margin-inline-start: 90px;
}

header #nav-main-desktop > ul > li:not(:first-child) {
    margin-inline-start: 44px;
}

header #nav-main-desktop > ul > li.menu-item-has-children {
    outline: none !important;
    position: relative;
    z-index: 111;
}

header #nav-main-desktop > ul > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
}

header #nav-main-desktop > ul > li.menu-item-has-children > a span.icon-dropdown-arrow {
    color: inherit !important;
    font-size: .3125rem;
    margin-inline-start: 12px;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul {
    background: var(--background-dark);
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    min-width: calc(100% + 40px);
    padding-block: 50px 20px;
    opacity: 0;
    position: absolute;
    inset: auto auto 0 -20px;
    transform: translateY(100%);
    z-index: 111;
    pointer-events: none;
    transition: all .3s ease-in-out;
}

.home header #nav-main-desktop > ul > li.menu-item-has-children > ul {
    background: transparent;
    padding-block: 20px;
}

header #nav-main-desktop > ul > li.menu-item-has-children:hover > ul,
header #nav-main-desktop > ul > li.menu-item-has-children:focus-within > ul {
    opacity: 1;
    pointer-events: initial;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul li {
    display: flex;
    margin-block: 8px;
    padding-inline: 20px;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul li:first-child {
    margin-block-start: 0;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul li:last-child {
    margin-block-end: 0;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul li a {
    font-size: 1rem;
    font-weight: 500;
    text-transform: initial;
    white-space: nowrap;
}

header #nav_menu-8 {
    margin-inline-start: auto;
}

header #nav_menu-8 ul.menu {
    display: flex;
    gap: 8px;
}

header #nav_menu-8 ul.menu li {
    list-style: none;
}



/*--------- FOOTER ---------*/
#footer {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    overflow: hidden;
    position: relative;
}

#pre-footer .wrapper .column ul,
#footer-content .wrapper .column ul {
	list-style: none;
	padding: 0;
}


/* FOOTER CONTENT */
#footer-content {
	padding-block: var(--padding-section);
}

#footer-content .wrapper {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 80px 6%;
}

#footer-content .wrapper .column:not(:first-child) ul.menu > li:not(:first-child) {
    margin-block-start: 2rem;
}

#footer-content .wrapper .column a {
    display: table;
}

#footer-content .wrapper .column:first-child a img {
    aspect-ratio: var(--logo-ratio);
    width: 100%;
    height: auto;
}

#footer-content .wrapper .column:first-child figure + p {
    line-height: 1.3;
    margin-block-start: 1.875rem;
}


/* lINKS */
#footer-content .wrapper .widget-title,
#footer-content .wrapper .column ul.menu > li > a {
    text-transform: uppercase;
}

#footer-content .wrapper .widget-title,
#footer-content .wrapper .column ul li a {
    color: var(--light-title-color);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .05em;
}

#footer-content .wrapper .column ul li a:hover {
    color: var(--primary-color);
}

#footer-content .wrapper .column ul li a:active {
    color: var(--primary-hover-color);
}

#footer-content .wrapper .column ul.sub-menu {
    margin-block-start: .9375rem;
}

#footer-content .wrapper .column ul.sub-menu li {
    list-style: none;
    padding-inline-start: 20px;
    position: relative;
}

#footer-content .wrapper .column ul.sub-menu li::before {
    content: "•";
	font-size: 1.25rem;
    line-height: .9;
    position: absolute;
    inset: auto auto auto 0;
}

#footer-content .wrapper .column ul.sub-menu li:not(:first-child) {
    margin-block-start: .625rem;
}

#footer-content .wrapper .column ul.sub-menu li a {
    font-size: .75rem;
}

#footer-content .wrapper .column ul li.revendeurs a {
    color: var(--secondary-color);
    font-weight: 700;
}

#footer-content .wrapper .column ul li.revendeurs a:hover {
    color: var(--secondary-hover-color);
}

#footer-content .wrapper .column ul li.revendeurs a:active {
    color: var(--secondary-focus-color);
}

#footer-content .wrapper .widget-title {
    margin-block-end: 1.25rem;
}


/* POST FOOTER */
#post-footer > .container {
	padding-block-end: 1.25rem;
}

#post-footer .column {
    display: flex;
    justify-content: center;
    width: 100%;
}

#post-footer p,
#post-footer a {
    color: rgba(var(--light-text-color), .8);
	font-weight: 300;
    line-height: 2.5;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase;
}

#post-footer a:hover {
    color: var(--primary-color);
}

#post-footer a:active {
    color: var(--primary-hover-color);
}



/*--------- HOMEPAGE ---------*/
#content .section_mea {
    min-height: 1140px;
    align-content: center;
    padding-block: calc(var(--margin-section) + calc(var(--padding-section) / 2)) var(--margin-section) !important;
}

#content .section_mea::before {
    content: "";
    background: rgba(var(--dark-text-color), .3);
    display: flex;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
}

#content .section_mea > .elementor-container {
    width: 85% !important;
    max-width: 1140px !important;
}

#content .section_mea > .elementor-container,
#content .section_mea .elementor-top-column,
#content .section_mea .elementor-widget-wrap {
    position: static;
}

#content .section_mea .elementor-widget-heading:has(p) p {
    color: var(--light-title-color) !important;
    font-size: var(--h4-font-size);
    font-weight: 500;
    line-height: 1.2;
}

#content .section_mea .bouton.icon {
    position: absolute;
    inset: auto auto 60px 50%;
    transform: translateX(-50%);
}

#content .section_mea .bouton.icon a {
    background: transparent;
    border-radius: 0 !important;
    color: var(--light-title-color);
    aspect-ratio: initial;
    padding: 0 !important;
}

#content .section_mea .bouton.icon a:hover {
    color: var(--primary-color);
}

#content .section_mea .bouton.icon a:active {
    color: var(--primary-hover-color);
}

#content .section_mea .bouton.icon a:focus:focus-visible {
    outline: var(--outline-width) solid rgba(var(--light-text-color), .3) !important;
    box-shadow: 0 0 5px var(--light-title-color) !important;
}

#content .section_mea .bouton.icon a > span {
    font-size: 1.25rem;
}

/* ACTUALITÉS */
#content .section_actus .block_txt .elementor-widget-wrap {
    justify-content: center;
}

#content .section_actus .block_txt .elementor-widget-wrap::before {
    content: "";
    background: rgba(var(--dark-text-color), .5);
    display: flex;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    position: absolute;
    inset: 0;
}

#content .slider_actus .owl-nav {
    display: none;
}

#content .slider_actus .tease-post {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 1.25rem 6%;
}

#content .slider_actus .tease-post a.thumbnail,
#content .slider_actus .tease-post a.thumbnail img {
    width: 100%;
    height: 100%;
}

#content .slider_actus .tease-post a.thumbnail img {
    object-fit: cover;
}

#content .slider_actus .tease-post .description {
    margin: 0;
}


/* REASSURANCES */
#content .section_reassurances > .elementor-container {
	display: grid;
    align-items: flex-start;
	gap: 80px 6%;
    max-width: 1250px !important;
}

#content .section_reassurances > .elementor-container:has(.elementor-col-33) {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

#content .section_reassurances > .elementor-container:has(.elementor-col-25) {
    grid-template-columns: repeat(4,minmax(0,1fr));
}

#content .section_reassurances > .elementor-container:has(.elementor-col-20) {
    grid-template-columns: repeat(5,minmax(0,1fr));
}

#content .section_reassurances .reassurance {
    width: 100% !important;
    margin: 0 !important;
}

#content .section_reassurances .reassurance .elementor-widget-icon {
    margin-block-end: 1.5625rem;
}

#content .section_reassurances .reassurance .elementor-widget-icon svg {
    fill: var(--dark-title-color);
    width: auto;
    height: 4.375rem;
}

#content .section_reassurances .reassurance .elementor-widget-icon svg,
#content .section_reassurances .reassurance .elementor-widget-icon svg g {
    fill: var(--dark-title-color);
    
}

#content .section_reassurances .reassurance p {
    color: var(--dark-title-color);
    display: flex;
    flex-flow: column;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .02em;
    text-transform: uppercase;
}

#content .section_reassurances .reassurance p span {
    color: var(--secondary-color);
    font-size: 3.4375rem;
    font-weight: 700;
    line-height: .9;
    letter-spacing: .02em;
    text-transform: initial;
    margin-block-end: .625rem;
}



/*--------- SINGLE PRODUIT ---------*/
.single-produits #content .elementor-widget-heading.chapo::before {
    font-size: calc(var(--h3-font-size) / 2);
    margin-inline-end: 12px;
}

.single-produits #content .elementor-widget-heading.chapo p {
    color: var(--dark-title-color);
    font-size: var(--h3-font-size);
    line-height: 1.2;
}


/* BÉNÉFICES */
.single-produits #content .section_benefices .benefice + .benefice {
    margin-block-start: var(--margin-h3);
}

.single-produits #content .section_benefices .benefice > .elementor-container {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    column-gap: 30px;
}

.single-produits #content .section_benefices .benefice .elementor-column {
    width: 100% !important;
    margin: 0 !important;
}

.single-produits #content .section_benefices .benefice .elementor-widget-icon {
    background: var(--background-grey);
    border-radius: 100%; 
    aspect-ratio: 1 / 1;
    width: auto;
    height: 65px;
    padding: 12px;
}

.single-produits #content .section_benefices .benefice .elementor-widget-icon .elementor-widget-container,
.single-produits #content .section_benefices .benefice .elementor-widget-icon .elementor-icon-wrapper,
.single-produits #content .section_benefices .benefice .elementor-widget-icon .elementor-icon,
.single-produits #content .section_benefices .benefice .elementor-widget-icon .elementor-icon svg {
    width: 100%;
    height: 100%;
}

.single-produits #content .section_benefices .benefice .elementor-widget-icon .elementor-icon {
    font-size: initial;
}

.single-produits #content .section_benefices .benefice .elementor-widget-icon svg {
    fill: var(--secondary-color);
}

.single-produits #content .section_benefices .benefice .elementor-widget-heading:not(.h2) p,
.single-produits #content .section_description .block_txt .elementor-widget-heading:not(.h2) p {
    color: var(--dark-title-color);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
}

.single-produits #content .section_benefices .benefice .elementor-widget-heading + .elementor-widget-text-editor {
    margin-block-start: 0;
}

.single-produits #content .section_description .block_txt .elementor-widget-heading:has(p):not(.h2) + .elementor-widget-text-editor {
    margin-block-start: 1rem;
}


/* DESCRIPTION */
.single-produits #content .section_description .block_txt .elementor-widget-heading:not(.h2) p::before {    
    content: "\67";
    color: var(--secondary-color);
    font-family: "icomoon" !important;
    font-size: .875rem;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-transform: lowercase !important;
    margin-inline-end: 10px;
}

#content .section_appel_contact > .elementor-container {
    display: flex;
    align-items: center;
}

#content .section_appel_contact .h3 p {
    letter-spacing: -.03em;
}



/*--------- OU NOUS TROUVER ? ---------*/
#content .section_contacts .elementor-widget-accordion li,
#content .section_contacts .elementor-widget-text-editor li {
    padding: 0;
}

#content .section_contacts .elementor-widget-accordion li::before,
#content .section_contacts .elementor-widget-text-editor li::before {
    display: none;
}



/*--------- ACTUALITÉS ---------*/
.blog #content .archive-news,
.archive.category #content .container:has(.h2) + #content-details,
.post-type-archive-produits #content .archive-products {
    margin-block-start: var(--margin-h2);
}



/*--------- SINGLE ACTUALITÉ ---------*/
.single-post #content .article-content > .container {
    max-width: var(--wrapper-size-small);
}

.single-post #content .elementor-page-title + .elementor-widget {
    margin-block-start: var(--padding-section);
}



/*--------- CONTACT ---------*/    
.page-id-46 #content .section_contact .block_txt {
    padding: var(--padding-block);
}

#content .elementor-message {
	border-radius: var(--border-radius);
    display: flex;
	font-size: .875rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: var(--letter-spacing);
    padding: 12px 24px;
	width: 100%;
    margin: 1.25rem 0 0 0;
}

#content .elementor-message.elementor-message-success {
	background: rgba(var(--alert-success-rgb), .15);
	color: var(--alert-success-color);
}

#content .elementor-message.elementor-message-danger {
	background: rgba(var(--alert-danger-rgb), .15);
	color: var(--alert-danger-color);
}

.elementor-field-group {
	position: relative;
}

.elementor-field-group .elementor-message {
    font-size: .75rem;
	margin: 0;
    padding: 5px;
}


/* FORMULAIRE */
#content .elementor-widget-form .elementor-form-fields-wrapper {
	margin: 0 -5px;
}

#content .elementor-widget-form .elementor-field-group {
	padding: 0 5px !important;
}

#content .elementor-widget-form .elementor-field-label {
    font-size: var(--text-small-size);
	font-weight: 500;
    margin-block-end: .625rem;
	padding: 0;
}

#content .elementor-widget-form .elementor-field-group-rgpd {
	margin-block-end: 0 !important;
}



/*--------- CONNEXION ---------*/
.page-id-1624.logged-in #content .elementor-top-section:has(+ .section_inscription) {
    margin-block-end: var(--margin-section);
}

.page-id-1624.logged-in #content .section_inscription {
    display: none;
}



/*--------- REVENDEURS ---------*/
.page-id-1630 #content .section_docs .elementor-inner-section + .elementor-inner-section:not(.block_boutons) {
    margin-block-start: var(--margin-block);
}

.page-id-1630 #content .section_docs .grid_doc:nth-child(2n - 1) {    
    background: rgba(var(--dark-text-color), .05);
}

.page-id-1630 #content .section_docs .grid_doc > .elementor-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: var(--margin-h2) 9%;
    padding: var(--padding-block);
}

.page-id-1630 #content .section_docs .grid_doc .block_title {
    grid-column: 1 / 4;
}

.page-id-1630 #content .section_docs .grid_doc .elementor-inner-column {
    width: 100% !important;
    margin: 0 !important;
}




 
/* ----------------------------------- */
/*
/* ----------- RESPONSIVE ------------ */
/*
/* ----------------------------------- */

@media screen and (min-width: 1801px) {
    
    /*----- HOMEPAGE -----*/
    #content .section_map > .elementor-container {
        max-width: calc(var(--wrapper-size) + ((calc(100vw - 8px) - var(--wrapper-size)) / 2));
        margin-inline: 0 auto;
    }
}



@media screen and (min-width: 1701px) and (max-width: 1800px) {
    
    /* SLIDER PRODUITS */
    #content .slider_products .tease-produits a.thumbnail + .description, 
    #content .slider_products .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .slider_products .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .slider_products .tease .description .title + p {
        font-size: .875rem;
    }
    
    #content .slider_products .tease .description .bouton a {
        padding: 12px 24px;
    }
    
    #content .slider_products .tease .description .bouton a span {
        font-size: .75rem;
    }
}



@media screen and (min-width: 1701px) {
    
	/*----- HEADER -----*/
	header #nav-wrapper.menu_mobile {
		display: none;
	}
}



@media screen and (max-width: 1700px) {

	/*----- HEADER -----*/
	.toggle-nav {
		display: flex;
	}
    
    header .menu_wrapper {
        gap: 24px;
    }

	header #nav-wrapper #nav-main {
		position: fixed;
		width: 100%;
		height: 100vh;
		height: fill-available;
        height: -webkit-fill-available;
		inset: 0 0 auto 0;
		z-index: -1;
		background-color: var(--background-dark);
		visibility: hidden;
		opacity: 0;
		transform: translateX(100%);
		transition: all .3s ease-out;
		overflow: auto;
		scrollbar-color: rgba(var(--dark-text-color), 0) rgba(var(--dark-text-color), 0);
		scrollbar-width: thin;
	}

	header #nav-wrapper #nav-main::-webkit-scrollbar {
    	background: rgba(var(--dark-text-color), 0);
	}

	header #nav-wrapper #nav-main::-webkit-scrollbar-thumb {
		background: rgba(var(--dark-text-color), 0);
	}

	header #nav-wrapper.active #nav-main{
    	background: var(--background-dark);
		opacity: 1;
		transform: translateX(0);
		visibility: visible;
		z-index: 999999;
	}

	header #nav-wrapper.active .toggle-nav {
		z-index: 1000;
	}
	
	header #nav-wrapper-desktop {
		display: flex;
        align-items: center;
        order: 1;
	}
	
	header #nav-main-desktop {
		display: none;
	}
	
	header #nav-wrapper-desktop .widget_block {
		margin-inline-end: 30px;
	}

	header #nav-wrapper .nav-main {
		display: flex;
		justify-content: center;
		align-items: center;
	}
    
    header #nav-wrapper .nav-main .wrapper_menu_mobile {
        width: 100%;
        height: 100%;
    }
    
    header #nav-wrapper.menu_mobile .nav-main .wrapper_menu_mobile > .menu_mobile {
        box-sizing: border-box;
        display: flex;
        flex-flow: column;
        align-items: center;
        min-height: 100%;
        padding-block: 96px;
        position: relative;
    }
    
    header #nav-wrapper.menu_mobile .nav-main .wrapper_menu_mobile > .menu_mobile > ul {
        display: flex;
        flex-flow: column;
        width: auto;
        max-width: var(--wrapper-size);
        margin: auto;
    }

	header #nav-wrapper .nav-main ul {
		display: block;
		padding: 0;
	}

	header #nav-wrapper .nav-main ul > li {
        display: flex;
        flex-flow: column;
        align-items: center;
        line-height: 1;
	}

	header #nav-wrapper .nav-main ul > li:not(:first-child) {
        margin-block-start: var(--margin-block);
	}
    
    header #nav-wrapper .nav-main ul > li > a {
        line-height: 1.3;
        text-align: center;
        white-space: initial;
    }
    
    header #nav-wrapper .nav-main > .wrapper_menu_mobile > .menu_mobile > ul > li:not(.bouton) > a {
        font-size: 1.5rem;
    }
    
    header #nav-wrapper .nav-main > .wrapper_menu_mobile > .menu_mobile > ul > li:not(.bouton) > a:has(.arrow_down) {
        display: flex;
        align-items: center;
    }
    
    header #nav-wrapper .nav-main > .wrapper_menu_mobile > .menu_mobile > ul > li:not(.bouton) > a .arrow_down {
        color: inherit !important;
        font-size: .375rem;
        margin-inline-start: 12px;
    }
    
    header #nav-wrapper .nav-main ul li.menu-item-has-children > ul {
        display: none;
    }    
    
    header #nav-wrapper .nav-main ul li.menu-item-has-children.open > ul {
        display: flex;
        flex-flow: column;
        align-items: center;
    }

	header #nav-wrapper .nav-main ul li.menu-item-has-children ul > li {
        margin-block-start: 1.5rem;
	}

	header #nav-wrapper .nav-main ul li.menu-item-has-children ul li a {
        font-size: 1.125rem;
        font-weight: 400;
	}
}



@media screen and (min-width: 1501px) {
    
    /*----- FOOTER -----*/
    #footer-content .wrapper .column:last-child {
        display: flex;
        justify-content: flex-end;
        grid-column: 4 / 6;
    }
    
    
    /*----- CONTACT -----*/    
    .page-id-46 #content .section_contact .block_txt {
        padding: var(--padding-section);
    }
}



@media screen and (max-width: 1500px) {    
    
    /*----- FOOTER -----*/
    #footer-content .wrapper {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    
    
    /*----- HOMEPAGE -----*/
    #content .section_mea {
        min-height: 900px;
    }
    
    
    /*----- REVENDEURS -----*/    
    .page-id-1630 #content .section_docs .grid_doc > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    .page-id-1630 #content .section_docs .grid_doc .block_title {
        grid-column: 1 / 3;
    }
}



@media screen and (min-width: 1251px) {
    
    #content .section_txt_form > .elementor-container {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(410px, .5fr);
        gap: calc(var(--padding-block)* 2);
    }
    
    #content .section_txt_form > .elementor-container > .elementor-top-column {
        width: 100% !important;
        margin: 0 !important;
    }
}



@media screen and (min-width: 1251px) and (max-width: 1500px) {
    
    #content .section_txt_form .elementor-col-33.block_form {
        padding: 35px !important;
    }
    
    
    /*----- PRODUITS -----*/
    #content .tease-produits a.thumbnail + .description, 
    #content .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .tease-produits .description .title + p {
        font-size: .875rem;
    }
    
    #content .tease-produits .bouton a {
        padding: 12px 24px;
    }
    
    #content .tease-produits .bouton a span {
        font-size: .75rem;
    }
    
    
    /*----- ACTUALITÉS -----*/
    #content .posts-list .tease-post .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .posts-list .tease-post .description .title + p {
        font-size: .875rem;
    }
    
    #content .posts-list .tease-post .description .bouton a span {
        font-size: .75rem;
    }
}



@media screen and (max-width: 1250px) {	
    
    /*----- HEADER -----*/	
   	header #nav-main-desktop {
		display: none;
	}
    
    
    /*----- HOMEPAGE -----*/
    /* REASSURANCE */
    #content .section_reassurances > .elementor-container:has(.elementor-col-33) {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    #content .section_reassurances > .elementor-container:has(.elementor-col-25) {
        grid-template-columns: repeat(4,minmax(0,1fr));
    }

    #content .section_reassurances > .elementor-container:has(.elementor-col-20) {
        grid-template-columns: repeat(5,minmax(0,1fr));
    }
    
    #content .section_reassurances .reassurance p {
        font-size: .875rem;
    }
    
    #content .section_reassurances .reassurance .elementor-widget-icon {
        margin-block-end: 1.125rem;
    }
    
    #content .section_reassurances .reassurance .elementor-widget-icon svg {
        height: 3.125rem;
    }
    
    #content .section_reassurances .reassurance p span {
        font-size: 2.5rem;
    }
}



@media screen and (min-width: 1141px) {
    
    .show-tablet {
        display: none !important;
    }
        
    html.open-menu {
        padding-right: 8px;
    }
    
    #content .owl-carousel {
        cursor: grab;
    }

    #content .owl-carousel:active {
        cursor: grabbing;
    }

    #content .quote {
        max-width: 375px;
    }
    
    
    /*----- HOMEPAGE -----*/    
    #content .section_map .elementor-container {
        flex-wrap: nowrap;
    }
    
    #content .section_map .elementor-column {
        width: 54% !important;
        z-index: 1;
    }
    
    #content .section_map .elementor-column.block_img {
        margin: var(--padding-section) -4% 0 0 !important;
    }
    
    #content .section_map .elementor-column.block_txt {
        margin: 0 0 var(--padding-section) -4% !important;
    }
    
    #content .section_map .block_txt > .elementor-widget-wrap {
        padding: var(--margin-section) !important;
    }
    
    
    /*----- CONTACT -----*/
    .page-id-46 #content .section_contact .elementor-inner-section > .elementor-container {
        align-items: flex-start;
    }
    
    .page-id-46 #content .section_contact .block_form {
        padding-block: 0;
    }
    
    
    /*----- REVENDEURS -----*/    
    .page-id-1630 #content .section_docs > .elementor-container {
        display: grid;
        grid-template-columns: 240px minmax(0, 1fr);
        gap: calc(var(--padding-block)* 2) 5%; 
    } 
    
    .page-id-1630 #content .section_docs > .elementor-container > .elementor-top-column {
        width: 100% !important;
        margin: 0 !important;
    }
    
    .page-id-1630 #content .section_docs .block_lang {
        display: table;
    }
    
    .page-id-1630 #content .section_docs .block_lang .elementor-widget-wrap {
        display: table;
        height: auto;
        position: sticky;
        inset: calc(var(--margin-section) * 1.5) auto auto 0;
    }
    
    .page-id-1630 #content .section_docs .block_lang .elementor-widget-text-editor {
        max-height: 80vh;
        overflow-y: scroll;
        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }
    
    .page-id-1630 #content .section_docs .block_lang .elementor-widget-text-editor .elementor-widget-container > * {
        position: relative;
        z-index: 1;
    }
}



@media screen and (min-width: 1141px) and (max-width: 1800px) {
    
    /*----- HOMEPAGE -----*/
    #content .section_actus > .elementor-container {
        max-width: 92.5%;
        margin-inline: auto 0;
    }
}



@media screen and (min-width: 1141px) and (max-width: 1500px) {
    
    /*----- ACTUALITÉS -----*/
    #content .elementor-widget-posts .elementor-posts-container {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
    
    
    /*----- CONTACT -----*/    
    .page-id-46 #content .section_contact .block_txt {
        padding: var(--padding-block);
    }
    
    .page-id-46 #content .section_contact .block_txt .elementor-widget-heading.h2::before {
        display: none;
    }
    
    .page-id-46 #content .section_contact .block_txt .elementor-widget-heading.h2 p {
        font-size: var(--h3-font-size);
    }
    
    .page-id-46 #content .section_contact .block_txt .elementor-widget-heading.h2 + .elementor-widget-text-editor {
        margin-block-start: var(--margin-h3);
    }
}



@media screen and (min-width: 1141px) and (max-width: 1250px) {
    
    #content .slider_actus .tease-post {
        display: flex;
    }
    
    #content .slider_actus .tease-post a.thumbnail {
        aspect-ratio: 16 / 9;
        height: auto;
    }
    
    #content .section_txt_form > .elementor-container > .elementor-col-66,
    #content .section_txt_form > .elementor-container > .elementor-col-33 {
        width: 100%;
    }
    
    #content .section_txt_form > .elementor-container > .elementor-top-column:not(:first-child) {
        margin-block-start: var(--margin-block);
    }
}



@media screen and (max-width: 1140px) {
    
    .hidden-tablet {
        display: none !important;
    }

    #content .quote p {
        font-size: var(--h3-font-size);
    }
    
    #content .elementor-widget-testimonial-carousel .elementor-main-swiper {
        padding: 0;
    }
    
    
    /*----- FOOTER -----*/
    #footer-content .wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5rem 9%;
    }
    
    
    /*----- HOMEPAGE -----*/
    /* MISE EN AVANT */
    #content .section_mea {
        min-height: 750px;
    }
    
    /* MAP */
    #content .section_map .block_txt {
        padding-block: var(--padding-section);
    }
    
    #content .section_map .block_txt > .elementor-widget-wrap {
        width: var(--wrapper-size);
        max-width: var(--wrapper-size);
        margin-inline: auto;
    }
    
    #content .section_map .elementor-top-column {
        margin: 0 !important;
    }
    
    
    /*----- REVENDEURS -----*/
    .page-id-1630 #content .section_docs .block_lang {
        display: none !important;
    }
    
    .page-id-1630 #content .section_docs .block_lang + .elementor-top-column {
        margin-block-start: 0 !important;
    }
    
    .page-id-1630 #content .section_docs .elementor-inner-section + .elementor-inner-section:not(.block_boutons) {
        margin-block-start: 0;
    }
}



@media screen and (min-width: 990px) {
    
    #content .owl-carousel .owl-dots {
        display: none;
    }
    
    #content .owl-carousel.slider_products.owl-loaded {
        display: flex;
        flex-flow: column-reverse;
    }
    
    #content .owl-carousel.slider_products .owl-nav:not(.disabled) {
        display: flex;
        gap: 40px;
        justify-content: flex-end;
        margin-block-end: 1.25rem;
    }
    
    #content .owl-carousel.slider_products .owl-nav button {
        background: transparent;
        color: var(--secondary-color);
        padding: 0;
    }
    
    #content .owl-carousel.slider_products .owl-nav button:hover {
        color: var(--secondary-hover-color);
    }
    
    #content .owl-carousel.slider_products .owl-nav button:active {
        color: var(--secondary-focus-color);
    }
    
    #content .owl-carousel.slider_products .owl-nav button::before {
        color: inherit;
        font-family: "icomoon" !important;
        font-size: .75rem;
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-transform: lowercase !important;
    }
    
    #content .owl-carousel.slider_products .owl-nav button.owl-prev::before {
        content: "\66";
    }
    
    #content .owl-carousel.slider_products .owl-nav button.owl-next::before {
        content: "\65";
    }
}



@media screen and (min-width: 990px) and (max-width: 1250px) {    
    
    /* SLIDER PRODUITS */
    #content .slider_products .tease-produits a.thumbnail + .description, 
    #content .slider_products .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .slider_products .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .slider_products .tease .description .title + p {
        font-size: .875rem;
    }
    
    #content .slider_products .tease .description .bouton a {
        padding: 12px 24px;
    }
    
    #content .slider_products .tease .description .bouton a span {
        font-size: .75rem;
    }
    
    	
	/*----- ACTUALITÉS -----*/
    #content .tease-post .description {
        margin-block-start: var(--margin-h4);
    }
    
    #content .tease-post .description .bouton.link a span {
        font-size: 1rem;
    }
}



@media screen and (min-width: 990px) and (max-width: 1140px) {
        
    /*----- PRODUITS -----*/
    #content .tease-produits a.thumbnail + .description, 
    #content .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .tease-produits .description .title + p {
        font-size: .875rem;
    }
    
    #content .tease-produits .bouton a {
        padding: 12px 24px;
    }
    
    #content .tease-produits .bouton a span {
        font-size: .75rem;
    }
    
        
    /*----- ACTUALITÉS -----*/
    #content .posts-list .tease-post .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .posts-list .tease-post .description .title + p {
        font-size: .875rem;
    }
    
    #content .posts-list .tease-post .description .bouton a span {
        font-size: .75rem;
    }
}



@media screen and (max-width: 989px) {
	
	#back-to-top,
    #content .owl-carousel .owl-nav,
    #content .elementor-widget-testimonial-carousel .elementor-swiper-button {
        display: none;
    }
    
    #content .elementor-widget-open_street_map .osm-map {
        height: 500px !important;
    }
    
    
    /*----- HOMEPAGE -----*/
    #content .section_mea {
        min-height: initial;
    }
    
    #content .section_mea h1 {
        font-size: var(--h2-font-size);
    }
    
    #content .section_mea .bouton.icon {
        display: none;
    }
    
    
    /*----- HOMEPAGE -----*/
    /* REASSURANCE */
    #content .section_reassurances > .elementor-container:has(.elementor-col-20) {
        grid-template-columns: repeat(4,minmax(0,1fr));
    }
    
    
    /*----- REVENDEURS -----*/    
    .page-id-1630 #content .section_docs .grid_doc > .elementor-container {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    
    .page-id-1630 #content .section_docs .grid_doc .block_title {
        grid-column: 1 / 2;
    }
}



@media screen and (min-width: 768px) {
    
    .show-mobile {
        display: none !important;
    }
    
    
    /*----- HEADER -----*/
    .wrapper_header {
        background: var(--background-dark);
        position: sticky;
        top: 0;
        z-index: 10000;
    }
    
    .home .wrapper_header.show header .wrapper,
    .home .wrapper_header.show header #nav-main-desktop > ul > li.menu-item-has-children > ul {
        background: var(--background-dark);
    }
    
    .home .wrapper_header.show header #nav-main-desktop > ul > li.menu-item-has-children > ul {
        padding-block: 50px 20px;
    }
    
    
    /*----- HOMEPAGE -----*/
    #content .section_mea .elementor-widget-heading:has(p)::before {
        content: "\67";
        color: var(--secondary-color);
        font-family: "icomoon" !important;
        font-size: 1.125rem;
        font-weight: 400 !important;
        line-height: 1 !important;
        text-transform: lowercase !important;
        margin-inline-end: 12px;
    }
}



@media screen and (max-width: 767px) {	
    
    .hidden-mobile {
        display: none !important;
    }
	
    input:not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
    select, 
    textarea,
    textarea.elementor-field-textual, 
    .elementor-field-group .elementor-select-wrapper select {
        padding: 12px 24px !important;
    }
    
    a.bouton.link span span, 
    .bouton.link a span span, 
    button.bouton.link span, 
    #content .elementor-post.type-post .elementor-post__read-more {
        font-size: 1rem;
    }
    
    #content .elementor-widget-heading.inodia-icons::before {
        font-size: 3rem;
            margin-inline-end: 24px;
    }
    
    
    /* SLIDER PRODUITS */
    #content .slider_products .tease-produits a.thumbnail + .description, 
    #content .slider_products .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .slider_products .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .slider_products .tease .description .title + p {
        font-size: .875rem;
    }
    
    #content .slider_products .tease .description .bouton a {
        padding: 12px 24px;
    }
    
    #content .slider_products .tease .description .bouton a span {
        font-size: .75rem;
    }
    
    
    /*----- HEADER -----*/
    .wrapper_header {
		position: relative;
		z-index: 1000;
		transition: all .6s cubic-bezier(0.42, 0, 0.58, 1);
	}
	
	.wrapper_header.show {
    	width: 100%;	    
		position: sticky;
		inset: var(--header-height) auto auto 0;
		z-index: 1000;
	}
	
	.wrapper_header.sticky.show {
		inset: var(--banner-height) auto auto 0;
	}
	
	body.open-menu .wrapper_header,
	.wrapper_header.sticky.hide {
		transition: none;
	}
	
	body.open-menu .wrapper_header,
	.wrapper_header.hide {
		transform: initial !important;
	}
    
    .home .sticky.show header .wrapper {
        position: absolute;
    }
    
	.wrapper_header.sticky.show header,
	.home .wrapper_header.sticky.show header > .wrapper {
        background: var(--background-dark);
	}
    
	.home .wrapper_header:not(.sticky.show) header {
        background: rgba(var(--dark-text-color), 0);
	}
    
    header {        
		transition: background .4s cubic-bezier(0.42, 0, 0.58, 1);
    }
    
    header .wrapper {
        padding-block: 16px;
    }
    
    header .wrapper .logo img {
        height: 40px;
    }
    
    header #nav-wrapper .toggle-nav {
        inset: 30px 7.5% auto auto;
    }
    
    header #nav-wrapper.menu_mobile .nav-main .wrapper_menu_mobile > ul {
        width: var(--wrapper-size);
        max-width: var(--wrapper-size);
    }
    
    
    /*----- FOOTER -----*/
    /* SOCKET */
    #post-footer p,
    #post-footer a {
        font-size: .75rem;
    }
    
    
    /*----- HOMEPAGE -----*/
    #content .section_produits > .elementor-container {
        width: 100% !important;
        max-width: initial !important;
    }
    
    #content .section_produits > .elementor-container > .elementor-top-column:not(.block_slider) {
        width: var(--wrapper-size);
        max-width: var(--wrapper-size);
        margin-inline: auto;
    }
    
    
    /*----- HOMEPAGE -----*/
    /* REASSURANCE */    
    #content .section_reassurances .reassurance p {
        font-size: .75rem;
    }
    
    #content .section_reassurances .reassurance .elementor-widget-icon {
        margin-block-end: .9375rem;
    }
    
    #content .section_reassurances .reassurance .elementor-widget-icon svg {
        height: 2.5rem;
    }
    
    #content .section_reassurances .reassurance p span {
        font-size: 1.875rem;
    }
    
    
    /*----- PRODUITS -----*/
    #content .tease-produits a.thumbnail + .description, 
    #content .tease-produits .bouton {
        margin-block-start: 1.25rem;
    }
    
    #content .tease-produits .description a.title p {
        font-size: 1.25rem;
    }
    
    #content .tease-produits .description .title + p {
        font-size: .875rem;
    }
    
    #content .tease-produits .bouton a {
        padding: 12px 24px;
    }
    
    #content .tease-produits .bouton a span {
        font-size: .75rem;
    }
    
    
    /*----- CONTACT -----*/    
    #content .section_forms .boutons_forms > .elementor-container {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 16px; 
    }
    
    #content .section_forms .boutons_forms .elementor-widget-button a {
        padding: 16px 32px;
    }
    
    #content .section_forms .boutons_forms .elementor-widget-button a > span {
        flex-flow: row;
    }
    
    #content .section_forms .boutons_forms .elementor-widget-button a > span::before {
        font-size: 1.875rem;
        margin-inline-end: 16px;
        margin-block-end: 0;
    }
    
    #content .section_forms .boutons_forms .elementor-widget-button a span {
        flex-grow: initial;
    }
}



@media screen and (min-width: 576px) {
    
    /*----- OU TROUVER NOS PRODUITS -----*/
    #content .section_contacts .elementor-widget-text-editor + .elementor-widget-heading:has(h4) {
        border-block-start: var(--border-width) solid rgba(var(--primary-rgb), .33);
        margin-block-start: var(--margin-block);
        padding-block-start: var(--margin-block);
    }
}



@media screen and (min-width: 576px) and (max-width: 767px) {    
            
    /*----- ACTUALITÉS -----*/
    #content .posts-list .tease-post .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .posts-list .tease-post .description .title + p {
        font-size: .875rem;
    }
    
    #content .posts-list .tease-post .description .bouton a span {
        font-size: .75rem;
    }
}



@media screen and (max-width: 575px) {

    input:not([type="radio"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
    textarea, 
    textarea.elementor-field-textual {
        padding: 12px 16px !important;
    }

    select,
    .elementor-field-group .elementor-select-wrapper select {
        padding: 12px 48px 12px 16px !important;
    }
        
    body:not(.single-produits) .elementor-widget-heading:has(h2):not(.h3):not(.h4)::before, 
    body:not(.single-produits) .elementor-widget-heading.h2::before {
        margin-inline-end: 12px;
    }
    
    body.single-produits .elementor-widget-heading:has(h2)::after, 
    body.single-produits .elementor-widget-heading.h2::after {
        width: 70px;
    }
    
    #content .elementor-message::before,
    #content .elementor-widget-heading.inodia-icons::before {
        display: none;
    }
    
    #content .elementor-widget-heading:not(.h3):not(.h4):has(h2) + .elementor-inner-section {
        margin-block-start: var(--margin-h2);
    }

    #content .slider_actus .tease-post {
        display: flex;
    }
    
    #content .slider_actus .tease-post a.thumbnail {
        aspect-ratio: 16 / 9;
        height: auto;
    }
    
    #content .elementor-widget-open_street_map .osm-map {
        height: 400px !important;
    }
    
    #content .elementor-top-section.elementor-section-boxed:has(.elementor-column.fond):not(.section_actus):last-child {
        margin-block-end: 0;
    }
    
    #content .elementor-top-section.elementor-section-boxed:has(.elementor-column.fond):not(.section_actus) > .elementor-container,
    .page-id-1630 #content .section_docs > .elementor-container {
        width: 100% !important;
        max-width: initial !important;
    }
    
    #content .elementor-top-section.elementor-section-boxed:not(.section_actus) .elementor-column.fond > .elementor-widget-wrap,
    .page-id-1630 #content .section_docs .grid_doc > .elementor-container {
        width: var(--wrapper-size) !important;
        max-width: var(--wrapper-size) !important;
        padding-inline: 0;
        margin-inline: auto;
    }
    
    
    /*----- HEADER -----*/
    header #nav-wrapper .nav-main .wrapper_menu_mobile > .menu_mobile > ul > li > a {
        font-size: var(--text-font-size);
    }
    
    header .nav-main ul li.menu-item-has-children > a > span {
        font-size: .25rem;
	}
    
    
    /*----- FOOTER -----*/
    /* REASSURANCES */
    #footer .reassurances .elementor-widget-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3.125rem 9%;
    }
    
    /* FOOTER */
    #footer-content #block-28 {
        grid-template-columns: repeat(1, minmax(0,1fr));
    }
    
    #footer-content #block-28 .technologies {
        grid-column: initial;
    }
    
    
    /*----- HOMEPAGE -----*/
    /* REASSURANCE */
    #content .section_reassurances > .elementor-container {
        gap: 3.125rem 9%;
    }
    
    #content .section_reassurances > .elementor-container:has(.elementor-col-33),
    #content .section_reassurances > .elementor-container:has(.elementor-col-25),
    #content .section_reassurances > .elementor-container:has(.elementor-col-20) {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    
    
    /*----- OU TROUVER NOS PRODUITS -----*/
    #content .section_contacts .elementor-col-25 + .elementor-col-25 {
        margin-block-start: var(--margin-block);
        padding-block-start: var(--margin-block);
    }
    
    
    /*----- ARCHIVES -----*/
    #content .archive-products .posts-list {
        grid-template-columns: repeat(calc(var(--items-by-row) * 2), minmax(0,1fr));
    }
    
    
    /*----- SINGLE PRODUIT -----*/    
    .single-produits #content .section_benefices .benefice + .benefice {
        margin-block-start: var(--margin-h2);
    }
    
    .single-produits #content .section_benefices .benefice > .elementor-container {
        column-gap: 20px;
    }
    
    .single-produits #content .section_benefices .benefice .elementor-widget-icon {
        height: 50px;
        padding: 8px;
    }
    
    .single-produits #content .section_benefices .benefice .elementor-widget-heading:not(.h2) p, 
    .single-produits #content .section_description .block_txt .elementor-widget-heading:not(.h2) p {
        font-size: 1.125rem;
    }
    
    .single-produits #content .section_description .block_txt .elementor-widget-heading:has(p):not(.h2) + .elementor-widget-text-editor {
        margin-block-start: .625rem;
    }
    
    
    /*----- REVENDEURS -----*/    
    .page-id-1630 #content .section_docs:last-child {
        margin-block-end: 0 !important;
    }
    
    .page-id-1630 #content .section_docs .grid_doc > .elementor-container {
        padding-block: var(--padding-section);
    }
}



@media screen and (min-width: 481px) {
    
    /* FORMULAIRES */    
    #content .elementor-widget-form .e-form__buttons .elementor-field-type-previous {
        margin-inline-end: auto; 
        margin-block: 0;
    }
}



@media screen and (max-width: 480px) {
            
    #btn_form,
    #btn_form_message,
    #content .tease-produits .bouton,
    #content .elementor-widget-form .e-form__buttons__wrapper,
    .bouton:not(.link):not(.icon):not(.menu-item) a, 
    a.bouton:not(.link):not(.icon):not(.menu-item), 
    button.bouton:not(.link):not(.icon):not(.menu-item),
    .block_boutons .bouton:not(.link):not(.icon), 
    .bouton:not(.link):not(.icon)>.elementor-widget-container, 
    .bouton:not(.link):not(.icon) .elementor-button-wrapper, 
    .bouton:not(.link):not(.icon) .elementor-button-wrapper a, 
    #content .section_mea .block_boutons .elementor-widget-wrap, 
    body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all, 
    body #moove_gdpr_cookie_info_bar:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-settings-btn, 
    body #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
        width: 100% !important;
    }
    
    #content .block_boutons .bouton.contour {
        order: 1;
    }
    
    #content .block_boutons .bouton:not(.contour) {
        order: 2;
    }
    
    
    /* FORMULAIRES */
    #content .elementor-widget-form .e-form__buttons {
        flex-flow: column;
    }
    
    #content .elementor-widget-form .e-form__buttons__wrapper {
        display: flex;
        justify-content: center;
    }
    
    #content .elementor-widget-form .e-form__buttons__wrapper {
        margin-block-end: 0 !important;
    }
    
    #content .elementor-widget-form .e-form__buttons__wrapper + .e-form__buttons__wrapper {
        margin-block-start: .9375rem !important;
    }
    
    
    /*----- HEADER -----*/
    header .toggle-nav {
        width: 24px;
        height: 16px;
    }
    
    header .wrapper .logo img {
        height: 32px;
    }
    
    header #nav-wrapper .toggle-nav {
        inset: 25px 7.5% auto auto;
    }
    
    header #nav-wrapper .nav-main ul > li:not(:first-child) {
        margin-block-start: 3rem;
    }
    
    header #nav-wrapper .nav-main > .wrapper_menu_mobile > .menu_mobile > ul > li:not(.bouton) > a {
        font-size: 1.125rem;
    }
    
    header #nav-wrapper .nav-main ul li.menu-item-has-children ul li a {
        font-size: .9375rem;
    }
    
    	
	/*----- FOOTER -----*/
    #footer-content .wrapper {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 3.75rem 9%;
    }
    
    
    /*----- PRODUITS -----*/
    #content .tease-produits a.thumbnail + .description, 
    #content .tease-produits .bouton {
        margin-block-start: .9375rem;
    }
    
    #content .tease-produits .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .tease-produits .description .title + p {
        font-size: .75rem;
        margin-block: .625rem 0;
    }

        
    /*----- ACTUALITÉS -----*/
    #content .tease-post .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .tease-post .description .title + p {
        font-size: .875rem;
    }
    
    #content .tease-post .description .bouton a span {
        font-size: .75rem;
    }
    
    
    /*----- CONTACT -----*/
    #content .section_forms .boutons_forms .elementor-widget-button a > span::before {
        display: none;
    }
}



@media screen and (min-width: 376px) {
    
    .bouton.fleche a span span::after {
        content: "\65";
        color: inherit;
        font-family: "icomoon" !important;
        font-size: .75rem;
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-transform: lowercase !important;
        margin-inline-start: 24px;
    }
}



@media screen and (max-width: 375px) {
        
    body:not(.single-produits) .elementor-widget-heading:has(h2):not(.h3):not(.h4)::before, 
    body:not(.single-produits) .elementor-widget-heading.h2::before, 
    .single-produits #content .elementor-widget-heading.chapo::before {
        margin-inline-end: 8px;
    }
    
    body.single-produits .elementor-widget-heading:has(h2)::after, 
    body.single-produits .elementor-widget-heading.h2::after {
        width: 50px;
    }
        
	#content .pagination-block .pagination li.prev a span,
	#content .pagination-block .pagination li.next a span {
		display: none;
	}
    
    #content .elementor-widget-form .elementor-field-type-upload > label {
        font-size: .6875rem;
        padding: 8px 20px;
    }

    #content .elementor-widget-testimonial-carousel .elementor-testimonial__text {
        font-size: 1rem !important;
    }
    
    #content .elementor-widget-open_street_map .osm-map {
        height: 300px !important;
    }
    
    /* SLIDER PRODUITS */
    #content .slider_products .tease-produits a.thumbnail + .description, 
    #content .slider_products .tease-produits .bouton {
        margin-block-start: 1rem;
    }
    
    #content .slider_products .tease-produits .description a.title p {
        font-size: 1.125rem;
    }
    
    #content .slider_products .tease .description .title + p {
        font-size: .75rem;
    }
    
    #content .slider_products .tease .description .bouton a {
        width: 100%;
    }
    
    #content .slider_products .tease .description .bouton a span {
        font-size: .6875rem;
    }
    
    
	/*----- HEADER -----*/    
    header .wrapper .logo img {
        height: 24px;
    }
    
    
	/*----- SINGLE PRODUIT -----*/
    .single-produits #content .section_benefices .benefice .elementor-column:first-child {
        display: none;
    }
    
    
	/*----- CONTACT -----*/
	/* FORMULAIRE */
	#content .elementor-widget-form .elementor-field-group {
		margin-block-end: 1.25rem;
	}
}


