/*
* Theme Name: Inodia
* Description:
* Author: Vincent Michelet - Inodia
* Version: 1.0.0
*/

/*---------- Imports ----------*/
/* Fonts */


/* Icons */
@font-face {
	font-family: 'inodia-icons';
	src: url('./static/fonts/inodia-icons.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'inodia-icons' !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(--title-color);
    font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
    accent-color: var(--primary-color);
    caret-color: var(--primary-color);
}

h1:not(.h2):not(.h3):not(.h4), .h1 { 
	color: var(--title-color) !important;
    font: var(--text-weight-bold) var(--h1-font-size)/1.1 var(--font-title) !important;
    letter-spacing: 0;
    text-transform: initial !important;
	position: relative;
    line-height: 1 !important;
}

h1:not(.h2):not(.h3):not(.h4):not(.elementor-heading-title), 
.h1:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-xl);
}

h2:not(.h1):not(.h3):not(.h4), .h2, 
div.elementor-widget-heading.h2 .elementor-heading-title { 
	color: var(--title-color) !important;
	display: flex;
	flex-flow: column !important;
	align-items: flex-start;
    font: var(--text-weight-normal) var(--h2-font-size)/1.2 var(--font-title) !important;
	letter-spacing: 0;
	text-transform: initial !important;
	position: relative;
}

h2:not(.h1):not(.h3):not(.h4):not(.elementor-heading-title), 
.h2:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-lg);
}

#wrapper_body .special.elementor-widget-heading h2 {
    font: var(--text-weight-normal) var(--h2-font-size)/1.2 var(--font-title) !important;
    color: var(--primary-color) !important;
    flex-flow: initial !important;
    align-items: center;
    text-wrap-mode: nowrap;
}

#wrapper_body .special.elementor-widget-heading:is(.left) h2:after {
    content: "";
    display: block;
    background: var(--primary-color);
    width: 100%;
    height: 1px;
    margin-inline-start: var(--spacing-xs);
}
#wrapper_body .special.elementor-widget-heading:is(.right) h2:before {
    content: "";
    display: block;
    background: var(--primary-color);
    width: 100%;
    height: 1px;
    margin-inline-end: var(--spacing-xs);
}

h3:not(.h1):not(.h2):not(.h4), .h3,
div.elementor-widget-heading.h3 .elementor-heading-title { 
	color: var(--title-color) !important;
    font: var(--text-weight-medium) var(--h3-font-size)/1.2 var(--font-text) !important;
    letter-spacing: 0;
	text-transform: initial !important;
}

h3:not(.h1):not(.h2):not(.h4):not(.elementor-heading-title), 
.h3:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-md);
}

h4:not(.h1):not(.h2):not(.h3), .h4, 
div.elementor-widget-heading.h4 .elementor-heading-title { 
	color: var(--title-color) !important;
    font: var(--text-weight-normal) var(--h4-font-size)/1.2 var(--font-text) !important;
    letter-spacing: 0;
	text-transform: initial !important;
}

h4:not(.h1):not(.h2):not(.h3):not(.elementor-heading-title), 
.h4:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-sm);
}

.elementor-heading-title:is(h2, h3, h4),
.elementor-widget-heading:is(.h2, .h3, .h4),
:is(.h2, .h3, .h4) .elementor-heading-title {
	margin-block-end: 0 !important;
}

p, 
li,
span,
small {
	font-weight: var(--text-weight-normal);
	letter-spacing: var(--letter-spacing);
    hanging-punctuation: first last;
}

p,
li,  
span,
small,
strong {
	color: var(--text-color);
	font-family: var(--font-text);
}

p.elementor-blockquote__content {
    font-weight: var(--text-weight-normal);
    font-style: italic;
    margin-block-start: 0 !important;
}

#wrapper_body p.txt-big,
#wrapper_body .txt-big p {
    font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-text) !important;
}

#wrapper_body p.txt-small,
#wrapper_body .txt-small p {
    font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text) !important;
}

#wrapper_body .txt-big + .elementor-widget-text-editor {
    margin-block-start: var(--spacing-xs) !important;
}


/* LOCK WIDGET STYLE */
.elementor :is(.elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text),
.elementor :is(.elementor-tab-content, .elementor-widget-text-editor) :is(p, li, span, strong) {
    background: transparent !important;
	color: var(--text-color) !important;
    font: var(--text-weight-normal) var(--text-size-normal)/1.618 var(--font-text) !important;
    letter-spacing: var(--letter-spacing) !important;
}

.elementor :is(.elementor-tab-content, .elementor-widget-text-editor) strong {
	color: var(--strong-color) !important;
    font-weight: var(--text-weight-bold) !important;
}

.elementor :is(.elementor-tab-content, .elementor-widget-text-editor) a * {
	color: inherit !important;
}

.elementor :is(.elementor-tab-content, .elementor-widget-text-editor) :is(br, *:empty) {
	display: none !important;
}
 
a {
	color: var(--primary-color);
}

:is(a, button).link-dark,
#wrapper_body .widget_nav_menu a {
	color: var(--title-color);
}

:is(a, button).link-dark:focus:focus-visible,
#wrapper_body .widget_nav_menu a:focus:focus-visible {
    outline-color: var(--outline-color) !important;
    box-shadow: 0 0 4px var(--title-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    a:hover {
        color: var(--primary-hover-color);
    }

    a:active {
        color: var(--primary-active-color);
    }

    :is(a, button).link-dark:hover,
    #wrapper_body .widget_nav_menu a:hover {
        color: var(--primary-color);
    }

    :is(a, button).link-dark:active,
    #wrapper_body .widget_nav_menu a:active {
        color: var(--primary-hover-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    a:active {
        color: var(--primary-hover-color);
    }
    
    :is(a, button).link-dark:active,
    #wrapper_body .widget_nav_menu a:active {
        color: var(--primary-color);
    }
}

small {
    color: var(--muted-color);
    font-size: var(--text-size-small);
    line-height: 1.2;
}

label, .label,
input[type="file" i] {
    color: var(--title-color);
}

input:not([type="radio"]):not([type="checkbox"]):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 var(--border-color) !important;
    border-radius: calc(var(--border-radius) / 2) !important;
    color: var(--text-color) !important;
    font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
	letter-spacing: var(--letter-spacing);
    text-overflow: ellipsis;
    min-height: initial;
}

input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]), 
textarea, 
textarea.elementor-field-textual {
    padding: var(--spacing-2xs) calc(var(--spacing-2xs) * 2) !important;
}

textarea,
textarea.elementor-field-textual {
	border-radius: clamp(0px, var(--border-radius) / 2, clamp(1rem, .875rem + .625vw, 1.5rem)) !important;
    line-height: 1.3;
}

select,
.elementor-field-group .elementor-select-wrapper select {
    padding: var(--spacing-2xs) calc(var(--spacing-2xs) * 4) var(--spacing-2xs) calc(var(--spacing-2xs) * 2) !important;
}

input:not([type="radio"]):not([type="checkbox"]):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: var(--border-width) solid var(--border-hover-color) !important;
	color: var(--strong-color);
}

input:not([type="radio"]):not([type="checkbox"]):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(--border-focus-color) !important;
    box-shadow: 0 0 0 2px hsl(from var(--primary-color) h s l / .1) !important;
	color: var(--title-color) !important;
	outline: none !important;
}

#wrapper_body .elementor-select-wrapper.remove-before::before {
    content: "\e900" !important;
    font: var(--font-icon) !important;
    font-size: var(--text-size-small) !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
    text-shadow: none !important;
    translate: 0 -50% 0;
    inset: 50% var(--spacing-sm) auto auto;
}

#wrapper_body .elementor-select-wrapper .select-caret-down-wrapper {
    display: none !important;
}

input[type="file"]:focus {
	border: none !important;
}

input ~ span em {
    color: var(--muted-color);
}

blockquote {
    position: relative;
    padding: var(--spacing-sm) var(--spacing-md);
    margin: var(--spacing-xs) 0;
}

blockquote > * {
    font-style: italic;
    position: relative;
    z-index: 1;
}

p.rgpd {
	font-size: var(--text-size-small);
    text-align: left;
    margin: 0 0 var(--spacing-md) 0;
}

#wrapper_body .fond:is(.elementor-column) {
    border-radius: var(--border-radius);
}
#wrapper_body .fond:is(.elementor-column) > .elementor-widget-wrap {
    padding-block: var(--spacing-lg) !important;
    padding-inline: var(--spacing-lg);
}

.fond:is(.noir, .blanc):not(.block),
.fond.block:is(.noir, .blanc) > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
	background: var(--background-color);
}

.fond.gris:not(.block),
.fond.block.gris > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
	background: var(--background-grey);
}

.fond.primary:not(.block),
.fond.block.primary > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
	background: var(--background-primary);
}

.fond.secondary:not(.block),
.fond.block.secondary > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
	background: var(--background-secondary);
}

.light-scheme-color .fond.noir:not(.block),
.dark-scheme-color .fond.blanc:not(.block),
.light-scheme-color .fond.block.noir > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape),
.dark-scheme-color .fond.block.blanc > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
    color-scheme: dark;
}

.dark-scheme-color .fond.noir:not(.block),
.light-scheme-color .fond.blanc:not(.block),
.dark-scheme-color .fond.block.noir > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape),
.light-scheme-color .fond.block.blanc > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
    color-scheme: light;
}


/* Dropdown */
select {
	color: var(--text-color) !important;
}


/* Upload */
#wrapper_body .elementor-widget-form .elementor-field-type-upload > label {
    background: var(--primary-color);
    border-radius: var(--border-radius);
    color: var(--light-color);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;    
    height: 100%;
    font-size: var(--text-size-small);
    font-weight: var(--text-weight-medium);
    padding: var(--spacing-2xs) var(--spacing-sm);
    margin: 0;
    transition: all .3s ease-in-out;
}

#wrapper_body .elementor-widget-form .elementor-field-type-upload > label.file-loaded {
    font-weight: var(--text-weight-bold);
}

#wrapper_body .elementor-widget-form .elementor-field-type-upload > label.file-loaded::after {
    display: none;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    #wrapper_body .elementor-widget-form .elementor-field-type-upload > label:hover {
        background: var(--primary-hover-color);
    }

    #wrapper_body .elementor-widget-form .elementor-field-type-upload > label:active {
        background: var(--primary-active-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    #wrapper_body .elementor-widget-form .elementor-field-type-upload > label:active {
        background: var(--primary-hover-color);
    }
}

#wrapper_body .elementor-widget-form .elementor-field-type-upload > label:has(+ input:focus:focus-visible) {    
    outline-color: hsl(from var(--primary-color) h s l / .3) !important;
    box-shadow: 0 0 4px var(--primary-color) !important;
}

#wrapper_body .elementor-widget-form .elementor-field-type-upload > label::before {
    content: "\e904";
    color: inherit;
    font: var(--font-icon) !important;
    font-size: var(--text-size-normal) !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
    margin-inline-end: var(--spacing-3xs);
}

#wrapper_body .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 */
#content {
	margin-block-start: var(--spacing-lg);
}

#wrapper_body .elementor-top-section:not(.no_margin):not(:first-child) {
	margin-block-start: var(--spacing-xl);
}

body:not(.elementor-page) #content,
body:not(.error404) #wrapper_body .elementor-top-section:not(.no_margin):not(.fond:not(.block)):not(.supp):last-child {
	margin-block-end: var(--spacing-xl);
}

#wrapper_body .elementor-top-section.fond:not(.block):not(.elementor-section-full_width) {
	padding-block: var(--spacing-xl);
}

#wrapper_body .elementor-top-section.fond:not(.block):last-child {
	margin-block-end: 0;
}

#wrapper_body .elementor-top-section.fond.block:not(.full) > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
    position: relative;
    padding: var(--spacing-2xl);
}

#wrapper_body .elementor-top-section .elementor-inner-section:first-child,
#wrapper_body .elementor-top-section .elementor-inner-section.titre + .elementor-inner-section,
#wrapper_body .elementor-top-section:is(.fond:not(.block), .supp) + .elementor-top-section:is(.fond:not(.block), .supp) {
	margin-block-start: 0;
}

#wrapper_body .elementor-top-section.fond.noir:not(.block) + .elementor-top-section.fond.noir:not(.block),
#wrapper_body .elementor-top-section.fond.gris:not(.block) + .elementor-top-section.fond.gris:not(.block),
#wrapper_body .elementor-top-section.fond.blanc:not(.block) + .elementor-top-section.fond.blanc:not(.block) {
	padding-block-start: 0;
}

#wrapper_body .elementor-top-section :is(.elementor-inner-section, .elementor-widget-text-editor) + .elementor-inner-section:not(.boutons) {
	margin-block-start: var(--spacing-xl);
}

#wrapper_body .center .elementor-widget-wrap {
	display: flex;
	flex-flow: column;
	align-items: center;
}

#wrapper_body .elementor-widget + :is(.boutons, .elementor-widget-form, .elementor-widget-text-editor),
#wrapper_body :is(.elementor-widget-text-editor, .elementor-widget-accordion) + .elementor-widget,
#wrapper_body .elementor-widget-shortcode + .elementor-widget-button {
	margin-block-start: calc(var(--spacing-2xl) / 3);
}

#wrapper_body :is(.elementor-widget-button, .elementor-widget-text-editor) + .elementor-widget-image,
#wrapper_body .elementor-widget-text-editor + .elementor-widget-hotspot {
	margin-block-start: calc(var(--spacing-2xl) / 1.5);
}

#wrapper_body .elementor-widget-image + .elementor-widget-text-editor {
	margin-block-start: calc(var(--spacing-2xl) / 4);
}

#wrapper_body .elementor-widget-heading + .elementor-widget-heading {
	margin-block-start: var(--spacing-xs) !important;
}

#wrapper_body .section_titre + .elementor-top-section {
	margin-block-start: var(--spacing-lg) !important;
}

#wrapper_body .elementor-widget + .elementor-widget-heading.no_margin {
	margin-block-start: 0 !important;
}

#wrapper_body .elementor-widget-image .elementor-image figure figcaption,
#wrapper_body .elementor-widget-image-carousel .swiper-slide figure figcaption {
    background: hsl(from var(--dark-color) h s l / .25);
	border-radius: var(--border-radius);
    color: var(--light-color);
	font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
    letter-spacing: var(--letter-spacing);
	text-shadow: 0 2px 20px var(--dark-color);
    padding: var(--spacing-3xs);
}

#wrapper_body .elementor-widget-blockquote .elementor-blockquote::before,
#wrapper_body .elementor-widget-testimonial-carousel .elementor-swiper-button {
    display: none;
}

#wrapper_body .elementor-widget-testimonial-carousel .elementor-main-swiper {
    width: 100%;
}

#wrapper_body .elementor-widget-testimonial-carousel .swiper-slide {
    padding: 0;
}

#wrapper_body .elementor-widget-testimonial-carousel :is(.elementor-testimonial__text, .elementor-testimonial__name) {
    font-size: 1.25rem !important;
}

#wrapper_body .elementor-widget-testimonial-carousel .elementor-testimonial__title {
    line-height: 1.3;
    margin-block-start: var(--spacing-4xs);
}


/* MARGES TITRES */
/*#wrapper_body .elementor-widget-heading:not(.h3):not(.h4):not(.center):not(.right):not(.inodia-icons):has(h2) {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}*/

#wrapper_body .center .elementor-widget-heading:not(.h3):not(.h4):not(.center):not(.right):not(.inodia-icons):has(h2) {
    align-items: center;
}

#wrapper_body .elementor-widget + .quote,
#wrapper_body :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3):not(.h4):has(h2)) + :is(.elementor-widget, .elementor-inner-section) {
	margin-block-start: var(--spacing-lg);
}

#wrapper_body :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2):not(.h4):has(h3)) + :is(.elementor-widget, .elementor-inner-section) {
	margin-block-start: var(--spacing-md);
}

#wrapper_body :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h2):not(.h3):has(h4)) + :is(.elementor-widget, .elementor-inner-section) {
	margin-block-start: var(--spacing-sm);
}

#wrapper_body .elementor-inner-section + .elementor-widget,
#wrapper_body .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3):not(.h4):has(h2)) {
	margin-block-start: calc(var(--spacing-lg) * 2) !important;
}

#wrapper_body .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2):not(.h4):has(h3)) {
	margin-block-start: calc(var(--spacing-md) * 2) !important;
}

#wrapper_body .elementor-widget:not(.elementor-widget-menu-anchor):not(.elementor-widget-heading) + :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h2):not(.h3):has(h4)) {
	margin-block-start: calc(var(--spacing-sm) * 2) !important;
}

#wrapper_body .elementor-widget-image + .elementor-widget-heading {
	margin-block-start: var(--spacing-3xl);
}


/* FORMULAIRES */
#wrapper_body .section_contact .elementor-inner-section {
    max-width: 50rem;
    margin-inline: auto;
}

#wrapper_body .elementor-widget-form .e-form__buttons:has(:is(.elementor-field-type-previous, .elementor-field-type-next)) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#wrapper_body .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button {
    background: transparent;
    border-radius: 0;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    font-size: var(--text-size-small);
    font-weight: var(--text-weight-medium);
    letter-spacing: var(--letter-spacing);
    padding: 0;
}

#wrapper_body .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after,
#wrapper_body .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
    color: inherit;
    font: var(--font-icon) !important;
    font-size: .5rem !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
}

#wrapper_body .elementor-widget-form .e-form__buttons .elementor-field-type-previous button::before {
    content: "\e903";
    margin-inline-end: var(--spacing-2xs);
}

#wrapper_body .elementor-widget-form .e-form__buttons .elementor-field-type-next button::after {
    content: "\e902";
    margin-inline-start: var(--spacing-2xs);
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    #wrapper_body .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:hover {
        color: var(--primary-hover-color);
    }

    #wrapper_body .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:active {
        color: var(--primary-active-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    #wrapper_body .elementor-widget-form .e-form__buttons :is(.elementor-field-type-next, .elementor-field-type-previous) button:active {
        color: var(--primary-hover-color);
    }
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator__number {
    background: transparent;
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-inactive {
    border-color: var(--outline-color);
    color: rgba(--outline-color);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator__separator {
    background: rgba(--outline-color);
    height: var(--border-width);
    width: calc(100% - 100px);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-active {
    border-color: var(--secondary-color);
    color: var(--secondary-color);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
    background: var(--secondary-color);
    border-color: transparent;
    color: var(--light-color);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-completed + .e-form__indicators__indicator__separator {
    background: var(--secondary-color);
}

#wrapper_body .elementor-blockquote--skin-border .elementor-blockquote {
    border: none;
    padding: 0;
    margin: 0;
}


/* BREADCRUMB */
#wrapper_body #breadcrumb {
	margin-block-end: var(--spacing-md);
}

#wrapper_body #breadcrumb p {
    display: flex;
    gap: var(--spacing-4xs) var(--spacing-3xs);
	font-size: var(--text-size-small);
}

#wrapper_body #breadcrumb p :is(a, span.last) {
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

#wrapper_body #breadcrumb p a {
    max-width: 12ch;
}

#wrapper_body #breadcrumb p :is(a, span.separator) {
	font-weight: var(--text-weight-normal);
}

#wrapper_body #breadcrumb p a {
	color: var(--text-color);
}

#wrapper_body #breadcrumb p span.separator {
	color: var(--primary-color);
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    #wrapper_body #breadcrumb p a:hover {
        color: var(--primary-color);
    }

    #wrapper_body #breadcrumb p a:active {
        color: var(--primary-hover-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    #wrapper_body #breadcrumb p a:active {
        color: var(--primary-color);
    }
}

#wrapper_body #breadcrumb p a:focus:focus-visible {
	outline-color: var(--outline-color) !important;
	box-shadow: 0 0 4px var(--title-color) !important;
}

#wrapper_body #breadcrumb p span.last {
	font-weight: var(--text-weight-bold);
    max-width: 24ch;
}


/* BLOCK BOUTONS */
#wrapper_body .boutons .elementor-widget-wrap {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
    gap: var(--spacing-2xs);
}

#wrapper_body .center .boutons .elementor-widget-wrap {
	justify-content: center;
}

#wrapper_body .boutons .bouton {
	width: auto;
	margin: 0;
}


/* BOUTONS */
#wrapper_body .block-boutons .elementor-widget-wrap {
    display: grid;
    grid-template-columns: minmax(0, max-content) minmax(0, max-content);
    gap: var(--spacing-xs);
}

.bouton {
	border: none;
}

.bouton:not(.icon),
:is(.bouton, #btn_form, #btn_form_message):not(.icon) 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 {
	font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
	letter-spacing: var(--letter-spacing);
	text-transform: initial;
}

:is(.bouton, #btn_form, #btn_form_message) span {
    color: inherit !important;
	text-align: center;
}

.bouton a,
.bouton:is(a, button),
:is(#btn_form, #btn_form_message),
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-btn);
	display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    min-width: fit-content;
    min-height: initial;
	padding: var(--spacing-xs) calc(var(--spacing-xs) * 2);
    text-align: center;
}

.bouton.download a span {
    gap: 1ch;
}

.center :is(#btn_form, #btn_form_message) {
    margin-inline: auto;
}

:is(.elementor-widget-button, .elementor-widget-lightbox).inodia-icons a {
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.center .bouton,
.bouton.center {
	display: flex;
    justify-content: center;
}


/* BOUTON PRIMARY */
.bouton.primary a,
:is(#btn_form, #btn_form_message, a.bouton.primary),
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.mgbutton.moove-gdpr-infobar-allow-all {
	background: var(--primary-color);
    color: var(--light-color) !important;
}

.bouton.primary a:focus:focus-visible,
:is(#btn_form, #btn_form_message, a.bouton.primary):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 {
    outline-color: hsl(from var(--primary-color) h s l / .3) !important;
    box-shadow: 0 0 4px var(--primary-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {

    .bouton.primary a:hover,
    :is(#btn_form, #btn_form_message, a.bouton.primary):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 {
        background: var(--primary-hover-color);
        color: var(--background-color) !important;
    }

    .bouton.primary a:active,
    :is(#btn_form, #btn_form_message, a.bouton.primary):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 {
        background: var(--primary-active-color);
        color: var(--background-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    .bouton.primary a:active,
    :is(#btn_form, #btn_form_message, a.bouton.primary):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 {
        background: var(--primary-hover-color);
        color: var(--background-color) !important;
    }
}


/* BOUTON SECONDARY */
a.bouton.secondary,
.bouton.secondary a {
	background: var(--secondary-color);
    color: var(--dark-color) !important;
}

a.bouton.secondary:focus:focus-visible,
.bouton.secondary a:focus:focus-visible {
    outline-color: hsl(from var(--secondary-color) h s l / .3) !important;
    box-shadow: 0 0 4px var(--secondary-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    a.bouton.secondary:hover,
    .bouton.secondary a:hover {
        background: var(--secondary-hover-color);
        color: var(--background-color) !important;
    }

    a.bouton.secondary:active,
    .bouton.secondary a:active {
        background: var(--secondary-active-color);
        color: var(--background-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    a.bouton.secondary:active,
    .bouton.secondary a:active {
        background: var(--secondary-hover-color);
        color: var(--background-color) !important;
    }
}


/* BOUTON DARK */
a.bouton.dark,
.bouton.dark a {
	background: var(--background-dark);
    color: var(--background-color) !important;
}

a.bouton.dark:focus:focus-visible,
.bouton.dark a:focus:focus-visible {
    outline-color: var(--outline-color) !important;
    box-shadow: 0 0 4px var(--title-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {

    a.bouton.dark:hover,
    .bouton.dark a:hover {
        background: var(--strong-color);
    }

    a.bouton.dark:active,
    .bouton.dark a:active {
        background: var(--text-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    a.bouton.dark:active,
    .bouton.dark a:active {
        background: var(--strong-color);
    }
}


/* BOUTON CONTOUR PRIMAIRE */
a.bouton.contour.primary,
.bouton.contour.primary a,
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;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    a.bouton.contour.primary:hover,
    .bouton.contour.primary a: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-color: transparent !important;
        color: var(--light-color) !important;
    }

    a.bouton.contour.primary:active,
    .bouton.contour.primary a: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-color: transparent !important;
        color: var(--background-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    a.bouton.contour.primary:active,
    .bouton.contour.primary a: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-color) !important;
        border-color: transparent !important;
        color: var(--light-color) !important;
    }
}


/* BOUTON CONTOUR SECONDAIRE */
a.bouton.contour.secondary,
.bouton.contour.secondary a {
	background: transparent !important;
	border: var(--border-width) solid var(--secondary-color) !important;
	color: var(--secondary-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {

    a.bouton.contour.secondary:hover,
    .bouton.contour.secondary a:hover {
        background: var(--secondary-color) !important;
        border-color: transparent !important;
        color: var(--light-color) !important;
    }

    a.bouton.contour.secondary:active,
    .bouton.contour.secondary a:active {
        background: var(--secondary-hover-color) !important;
        border-color: transparent !important;
        color: var(--background-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    a.bouton.contour.secondary:active,
    .bouton.contour.secondary a:active {
        background: var(--secondary-color) !important;
        border-color: transparent !important;
        color: var(--light-color) !important;
    }
}


/* BOUTON CONTOUR NOIR */
a.bouton.contour.dark,
.bouton.contour.dark a,
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(--background-dark) !important;
	color: var(--background-dark) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    a.bouton.contour.dark:hover,
    .bouton.contour.dark a:hover,
    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(--background-dark);
        border-color: transparent !important;
        color: var(--background-color) !important;
    }

    .bouton.contour.dark:active,
    .bouton.contour.dark a:active,
    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: var(--strong-color);
        border-color: transparent !important;
        color: var(--background-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    a.bouton.contour.dark:active,
    .bouton.contour.dark a:active,
    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: var(--background-dark);
        border-color: transparent !important;
        color: var(--background-color) !important;
    }
}


/* BOUTON LIEN */
.bouton.link {
    text-align: initial;
}

.bouton.link a,
.bouton.link:is(a, button) {
    background: transparent !important;
    border: none !important;
	border-radius: 0 !important;
    text-align: right;
    padding: 0 !important;
}


/* PRIMAIRE */
.bouton.link.primary a,
.bouton.link.primary:is(a, button) {
    color: var(--primary-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    .bouton.link.primary a:hover,
    .bouton.link.primary:is(a, button):hover {
        color: var(--primary-hover-color) !important;
    }

    .bouton.link.primary a:active,
    .bouton.link.primary:is(a, button):active {
        color: var(--primary-active-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    .bouton.link.primary a:active,
    .bouton.link.primary:is(a, button):active {
        color: var(--primary-hover-color) !important;
    }
}


/* SECONDAIRE */
.bouton.link.secondary a,
.bouton.link.secondary:is(a, button) {
    color: var(--secondary-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    .bouton.link.secondary a:hover,
    .bouton.link.secondary:is(a, button):hover {
        color: var(--secondary-hover-color) !important;
    }

    .bouton.link.secondary a:active,
    .bouton.link.secondary:is(a, button):active {
        color: var(--secondary-active-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    .bouton.link.secondary a:active,
    .bouton.link.secondary:is(a, button):active {
        color: var(--secondary-hover-color) !important;
    }
}


/* NOIR */
.bouton.link.dark a,
.bouton.link.dark:is(a, button) {
    color: var(--title-color) !important;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    .bouton.link.dark a:hover,
    .bouton.link.dark:is(a, button):hover {
        color: var(--strong-color) !important;
    }

    .bouton.link.dark a:active,
    .bouton.link.dark:is(a, button):active {
        color: var(--text-color) !important;
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    .bouton.link.dark a:active,
    .bouton.link.dark:is(a, button):active {
        color: var(--strong-color) !important;
    }
}

.bouton.link a::after,
.bouton.link:is(a, button)::after {
    content: "\e902";
    color: inherit !important;
    font: var(--font-icon) !important;
    font-size: .5rem !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
	transition: translate .5s cubic-bezier(0.8, -0.4, 0.5, 1);
}
    
@media (prefers-reduced-motion: no-preference) {

    .bouton.link a:hover::after,
    .bouton.link:is(a, button):hover::after {
        translate: .25rem;
    }

    .bouton.link a:active::after,
    .bouton.link:is(a, button):active::after {
        translate: .5rem;
    }
}


/* ICON */
.bouton.icon .elementor-button-wrapper {
    display: table;
}

.bouton.icon a {
    color: var(--title-color);
    aspect-ratio: 1 / 1;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    filter: initial;
    padding: var(--spacing-sm) !important;
}

.bouton.icon a > span {
    font-size: var(--h4-font-size);
    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 ---------*/
#wrapper_body .posts-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));
	gap: var(--items-gap);
}


/* Pagination */
.pagination-block {
	margin: var(--spacing-xl) 0 0 0;
}

.pagination-block,
.pagination-block .pagination {
	display: flex;
	align-items: center;
	justify-content:center;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

#wrapper_body .pagination-block .pagination,
#wrapper_body .pagination-block .pagination li {
	padding: 0;
	margin: 0;
}

#wrapper_body .pagination-block .pagination li {
	margin-inline-start: var(--spacing-sm);
    margin-block-end: 0 !important;
}

#wrapper_body .pagination-block .pagination li .arrow_right {
	margin-inline-start: var(--spacing-2xs);
}

#wrapper_body .pagination-block .pagination li .arrow_left {
	margin-inline-end: var(--spacing-2xs);
}

#wrapper_body .pagination-block .pagination li:first-child {
	margin-inline-start: 0;
}

#wrapper_body .pagination-block .pagination li.disabled,
#wrapper_body .pagination-block .pagination li::before {
	display: none;
}

#wrapper_body .pagination-block .pagination li :is(a, button) {
	background: transparent;
	display: flex;	
	padding: 0;
	margin: 0;
}

#wrapper_body .pagination-block .pagination li a,
#wrapper_body .pagination-block .pagination li a :is(i, span) {
	line-height: 1;
	padding: 0;
}

#wrapper_body .pagination-block .pagination li a {
	display: flex;
	align-items: center;
}

#wrapper_body .pagination-block .pagination li.current span {
	color: var(--primary-color);
}

#wrapper_body .pagination-block .pagination li a span {
	font-weight: var(--text-weight-medium);
}

#wrapper_body .pagination-block .pagination li.prev a span {
	margin-inline-start: var(--spacing-3xs);
}

#wrapper_body .pagination-block .pagination li.next a span {
	margin-inline-end: var(--spacing-3xs);
}


/*--------- TEASES ---------*/
#wrapper_body .tease a.thumbnail {
    border-radius: clamp(0px, var(--border-radius), clamp(1.5rem, 1.125rem + 1.875vw, 3rem));
    display: flex;
    flex-flow: column;
    width: 100%;
    height: auto;
    overflow: hidden;
    gap: var(--spacing-2xs);
}

#wrapper_body .tease a.thumbnail :is(picture, img, svg) {
    display: flex;
    width: 100%;
    height: 100%;
}
#wrapper_body .tease a.thumbnail :is(picture) {
    aspect-ratio: 1 / 1;
    justify-content: center;
}

#wrapper_body .tease a.thumbnail :is(picture) img[alt="Imexel"] {
    object-fit: contain;
    opacity: .5;
    width: 70%;
}

#wrapper_body .tease a.thumbnail :is(img, svg) {
    object-fit: cover;
    border-radius: var(--border-radius);
}

#wrapper_body .tease .categorie {
    padding: var(--spacing-4xs) var(--spacing-3xs);
}

#wrapper_body .owl-carousel .owl-stage-outer :is(.owl-stage, .item) .tease {
    width: 100%;
}

@media (prefers-reduced-motion: no-preference) {

    #wrapper_body .tease a.thumbnail :is(img, svg) {
        transition: scale .75s linear(0, 0.402 7.4%, 0.711 15.3%, 0.929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1) !important;
    }
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    #wrapper_body .tease a.thumbnail:hover :is(img, svg) {
        scale: 1.025;
    }
}

#wrapper_body .tease a.thumbnail:active :is(img, svg) {
    scale: 1.05;
}

#wrapper_body .tease .description time {
    background: var(--secondary-color);
    color: var(--light-color);
    font-size: var(--text-size-small);
    font-weight: var(--text-weight-bold);
    line-height: 1.3;
    padding: var(--spacing-4xs) var(--spacing-3xs);
    margin-block-end: var(--spacing-2xs);
}

#wrapper_body .tease .description a.title p {
    color: inherit !important;
    font-weight: var(--text-weight-bold);
    line-height: 1.1;
}

#wrapper_body .tease .description .title + p {
    line-height: 1.4;
    margin-block: var(--spacing-xs) 0;
}


/* ACTUS */
#wrapper_body .tease-post,
#wrapper_body .tease-post .description,
#wrapper_body .elementor-post.type-post,
#wrapper_body .elementor-post.type-post .elementor-post__text {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    flex-grow: 1;
}

#wrapper_body .tease-post a.thumbnail {
    aspect-ratio: 16 / 9;
    margin: 0;
}

#wrapper_body .tease-post a.thumbnail :is(img, svg) {
    border-radius: 0;
    position: static;
    transform: initial;
}

#wrapper_body .tease-post .description {
    margin-block-start: var(--spacing-sm);
}

#wrapper_body .tease-post .description a.title p {
    font-size: var(--h4-font-size);
}

#wrapper_body .tease-post .description .title + p {  
    font-size: var(--text-size-small);
}

#wrapper_body .tease-post .description .bouton {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    flex-grow: 1;
    margin-block-start: var(--spacing-sm);
}


/* 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: .5rem;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	position: fixed;
	inset: auto var(--spacing-md) var(--spacing-md) auto;
    transition: all .3s ease-in-out, opacity .15s ease-in-out, outline .1s ease-in-out !important;
    z-index: 50;
}

@media only screen and (hover: hover) and (pointer: fine) {
    
    #back-to-top:hover {
        background: var(--primary-color);
        border-color: transparent;
        color: var(--light-color);
    }

    #back-to-top:active {
        background: var(--primary-hover-color);
        border-color: transparent;
        color: var(--background-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {
    
    #back-to-top:active {
        background: var(--primary-color);
        border-color: transparent;
        color: var(--light-color);
    }
}

#back-to-top.hide {
	opacity: 0;
    pointer-events: none;
}





/**
 * ----------------------------------------
 * ------------- ANIMATIONS ---------------
 * ----------------------------------------
 */





/*-----------------------------------------*/
/*
/*---------- SITE ************** ----------*/
/*
/*-----------------------------------------*/

/*--------- HEADER ---------*/
/* PRE-HEADER */
#pre-header {
	background: var(--primary-color);
	overflow: auto;
    overscroll-behavior: contain;
}

#pre-header .container {
	padding-block: var(--spacing-3xs);
}

#pre-header p {
	color: var(--light-color);
	font-size: var(--text-size-small);
	font-weight: var(--text-weight-bold);
    line-height: 1.3;
	text-align: center;
}


/* HEADER */
header {
	background: var(--background-color);
	position: relative;
    z-index: 5;
}

header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
    gap: 2rem;
    padding-block: var(--padding-header);
}

header .container .logo {
    min-width: 126px;
}

header .container .menu-search {
    width: -webkit-fill-available;
}

header .container .menu-search form input:not(#searchsubmit) {
    width: 100%;
}

header .container .menu-search form > div {
    position: relative;
}
header .container .menu-search form input#searchsubmit {
    position: absolute;
    right: 1rem;
    top: 50%;
    translate: 0 -50%;
    border: none;
    background: transparent;
    color: var(--outline-color);
    cursor: pointer;
}
header .container .menu-search form input#searchsubmit:hover {
    color: var(--primary-color);
}
header .container .menu-search button {
    width: 50px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
}

.widget_block .menu-social,
.menu-social .widget_block,
header .container .logo a {
    display: flex;
}

.menu-social .widget_block,
.widget_block .menu-social {
    gap: 1rem;
}

.menu-social .widget_block a,
.widget_block .menu-social a {
    color: var(--dark-color);
    background: var(--background-grey);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    position: relative;
}

.widget_block .menu-social a {
    background: var(--background-color);
}

.widget_block .menu-social a::before,
.menu-social .widget_block a::before {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

header .container .logo a:focus:focus-visible {
	outline-color: var(--outline-color) !important;
	box-shadow: 0 0 4px var(--title-color) !important;
}

header .container .logo img {
    aspect-ratio: var(--logo-ratio);
    width: auto;
    height: var(--logo-height);
}


/* Navigation */
header .nav-main ul {
	display: flex;
	align-items: center;
	list-style: none;
}

header #nav-main-desktop > ul {
    gap: var(--spacing-lg);
}

header .nav-main ul li a {
    display: table;
	font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
	letter-spacing: var(--letter-spacing);
	text-transform: initial;
    white-space: nowrap;
}

header .nav-main ul li.produits a {
	font: var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
}

header .nav-main ul li.contact a {
    color: var(--primary-color);
}

header .nav-main ul > li.menu-item > a[href="#"] {
    cursor: default;
}

header #nav-main-desktop > ul > li.menu-item-has-children {
    outline: none !important;
    position: relative;
}

header #nav-main-desktop > ul > li.menu-item-has-children.produits {
    background: var(--background-dark);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--border-radius-btn);
}

header #nav-main-desktop > ul > li.menu-item-has-children.produits > a {
    color: var(--light-color);
}

header #nav-main-desktop > ul > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: var(--spacing-3xs);
}

header #nav-main-desktop > ul > li.menu-item-has-children > a::after {
    content: "\e900";
    color: inherit !important;
    font: var(--font-icon) !important;
	font-size: var(--text-size-small) !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul {
    background: var(--background-color);
    border-radius: var(--border-radius-btn);
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: var(--spacing-xs);
    min-width: calc(100% + var(--spacing-lg));
    padding: calc(var(--spacing-sm) *2.5) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm);
    opacity: 0;
    position: absolute;
    inset: auto auto 50% calc(var(--spacing-sm) * -1);
    translate: 0 100%;
    z-index: -1;
    pointer-events: none;
    transition: all .3s ease-in-out;
}

header #nav-main-desktop > ul > li.menu-item-has-children:is(:hover, :focus-within) > ul {
    opacity: 1;
    pointer-events: initial;
}

header #nav-main-desktop > ul > li.menu-item-has-children > ul li a {
    font-size: var(--text-size-normal);
    font-weight: var(--text-weight-medium);
    white-space: nowrap;
    padding: 0;
    background: none;
    color: var(--dark-color) !important;
}


/* Mobile navigation */
header .toggle-nav {
	background: none;
	border: 0;
    display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 1rem;
	width: 2.5rem;
	padding: 0;
}

header #nav-wrapper .toggle-nav {
	position: absolute;
    inset: calc(var(--padding-header) + (var(--logo-height) / 2) - var(--banner-height)) calc((100% - min(var(--wrapper-size-mobile), var(--wrapper-size))) / 2) auto auto;
    translate: 0 -50%;
}

header .toggle-nav .line {
	background: var(--title-color);
	border-radius: clamp(0px, var(--border-radius) / 4, 8px);
	display: block;
	height: 2px;
	width: 100%;
    letter-spacing: 0 !important;
    transform-origin: center center;
    position: relative;
}

@media only screen and (hover: hover) and (pointer: fine) {

    header .toggle-nav:hover .line {
        background: var(--primary-color);
    }

    header .toggle-nav:active .line {
        background: var(--primary-hover-color);
    }
}

@media only screen and (hover: none) and (pointer: coarse) {

    header .toggle-nav:active .line {
        background: var(--primary-color);
    }
}

header .toggle-nav :is(.line1, .line3) {
	transition: all .4s ease-in-out;
}

header .toggle-nav .line2 {
	transition: all .2s ease-in-out;
}

@media (prefers-reduced-motion: no-preference) {

    header #nav-wrapper.active .toggle-nav .line1 { 
        top: 50%;
        translate: 0 -50%; 
        rotate: 45deg;
    }

    header #nav-wrapper.active .toggle-nav .line2 {
        scale: 1 0;
    }

    header #nav-wrapper.active .toggle-nav .line3 {
        bottom: 50%;
        translate: 0 50%; 
        rotate: -45deg;
    }
}



/*--------- FOOTER ---------*/
#footer {

}


/* PRE-FOOTER */
#pre-footer {
	color: var(--title-color);
	padding-block: var(--spacing-lg);
}

:is(#pre-footer, #footer-content) .container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: var(--spacing-3xl) 6%;
}

:is(#pre-footer, #footer-content) .container ul {
	list-style: none;
	padding: 0;
}


/* FOOTER CONTENT */
#footer-content {
	padding-block: var(--spacing-xl);
}

#footer .fond.gris {
    border-radius: var(--border-radius);
}

#footer-content .container .column {
    display: flex;
    flex-flow: column;
    gap: var(--spacing-lg);
}

#footer-content .container a {
    display: table;
}

#footer-content .container p a {
    display: inline;
}

#footer-content .container .widget_media_image a:focus:focus-visible {
    outline-color: var(--outline-color) !important;
    box-shadow: 0 0 4px var(--title-color) !important;
}

#footer-content .container a img {
    aspect-ratio: var(--logo-ratio);
    width: auto;
    height: 87px;
}

#footer-content .container ul {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
}

:is(#pre-footer, #footer-content) .container ul li a {
    line-height: 1.3;
}

#footer-content p.title-footer {
    font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
    text-transform: uppercase;
    padding-block-end: 1rem;
    border-bottom: 1px solid var(--dark-color);
}

#footer-content div.phone,
#footer-content p.phone {
    background: var(--primary-color);
    padding: var(--spacing-3xs) var(--spacing-3xs);
    border-radius: var(--border-radius-btn);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

#footer-content div.phone p,
#footer-content p.phone a {
    color: var(--light-color);
    font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
    display: flex;
    align-items: center;
    display: flex;
    align-items: center;
    width: max-content;
    margin: 0;
}

#footer-content div.phone p i {
    margin-inline-end: .25ch;
}

#footer-content div.phone a,
#footer-content p.phone a span {
    color: var(--dark-color);
    font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
    background: var(--background-color);
    padding: var(--spacing-3xs) var(--spacing-2xs);
    border-radius: var(--border-radius-btn);
    margin-inline-start: 1ch;
}


/* POST FOOTER */
#post-footer .container {
	padding-block: var(--spacing-xs);
}

#post-footer :is(p, a) {
    font-size: var(--text-size-small);
	font-weight: var(--text-weight-normal);
    line-height: 2.5;
    letter-spacing: var(--letter-spacing);
    text-align: center;
}

#post-footer :is(p, a:not(:is(:hover, :active))) {
    color: var(--muted-color);
}



/*--------- HOMEPAGE ---------*/
/*
    ----- SECTION TOP HOME
 */
.home #wrapper_body .section-top-home .fond.gris {
    width: 45%;
}
/*
    ----- SECTION REASSURANCES
 */
#wrapper_body .section.reassurances .col:before {
    content: "\e90d";
    font-weight: var(--text-weight-normal);
    font-family: inodia-icons;
    display: block;
    font-size: 1.5rem;
    margin-inline-end: 1rem;
    color: var(--primary-color);
}
#wrapper_body .section.reassurances .col p.elementor-heading-title {
    color: var(--primary-color);
    font-weight: var(--text-weight-bold);
}
#wrapper_body .section.reassurances .col.france:before {
    content: "\e90e";
}
#wrapper_body .section.reassurances .col.service:before {
    content: "\e910";
}
#wrapper_body .section.reassurances .col.experts:before {
    content: "\e911";
}
#wrapper_body .section.reassurances .col .elementor-widget-heading + .elementor-widget-text-editor {
    margin-block-start: var(--spacing-sm);
}
/*
    ----- SECTION PRODUITS
 */
#wrapper_body .section.carousel .fond.noir {
    width: 25%;
    min-width: 400px;
}
#wrapper_body .section.carousel .elementor-column:not(.fond.noir) {
    width: calc(100% - 400px);
    overflow: hidden;
}
/*
    ----- SECTION IMEXEL (A PROPOS)
 */
#wrapper_body .a-propos.grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: minmax(0, auto) repeat(2, 1fr);
}
#wrapper_body .a-propos.grid > .elementor-container .title {
    grid-column: span 3 / span 3;
}
#wrapper_body .a-propos.grid > .elementor-container .fond.gris {
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}
.home #wrapper_body .a-propos.grid > .elementor-container .fond.gris {
    padding-inline: var(--spacing-lg);
}
#wrapper_body .a-propos.grid > .elementor-container .img-one {
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}
#wrapper_body .a-propos.grid > .elementor-container .fond.secondary {
    grid-row-start: 2;
}
#wrapper_body .a-propos.grid > .elementor-container .img-two {
    grid-column-start: 3;
    grid-row-start: 3;
}
#wrapper_body .grid > .elementor-container :is(.title, .fond, .img-one, .img-two, .img-three, .img-four) {
    width: 100%;
}
#wrapper_body .a-propos.grid > .elementor-container .img-two img {
    box-shadow: -3px -3px 40px -8px rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius);
}
#wrapper_body .grid > .elementor-container .title > .elementor-widget-wrap {
    padding-block: 0 !important;
}
/*
    ----- SECTION REVENDEUR
 */
#wrapper_body .revendeur.grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: minmax(0, max-content) repeat(2, auto);
}
#wrapper_body .revendeur.grid > .elementor-container .title {
    grid-column: span 2 / span 2;
}
#wrapper_body .revendeur.grid > .elementor-container .img-one {
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}
#wrapper_body .revendeur.grid > .elementor-container .fond.blanc {
    grid-row-start: 2;
}
#wrapper_body .revendeur.grid > .elementor-container .fond.primary {
    grid-column-start: 2;
    grid-row-start: 3;
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap,
#wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 0 var(--spacing-md);
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-heading,
#wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-heading {
    grid-column: span 3 / span 3;
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-text-editor,
#wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-text-editor {
    grid-column: span 3 / span 3;
    grid-column-start: 1;
    grid-row-start: 2;
    margin-block-start: 0 !important;
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-button,
#wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-button {
    grid-column: span 3 / span 3;
    grid-column-start: 1;
    grid-row-start: 3;
    margin-block-start: 0 !important;
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-button {
    width: max-content;
}
.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-image,
#wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-image {
    grid-row: span 3 / span 3;
    grid-column-start: 4;
    grid-row-start: 1;
    margin-block-start: 0 !important;
}
/*
    ----- SECTION PRODUITS
 */
#wrapper_body .produits.grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: minmax(0, max-content) repeat(3, 1fr);
}
#wrapper_body .produits.grid > .elementor-container .title {
    grid-column: span 4 / span 4;
}
#wrapper_body .produits.grid > .elementor-container .img-one {
    grid-row: span 3 / span 3;
    grid-row-start: 2;
}
#wrapper_body .produits.grid > .elementor-container .img-two {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
    grid-row-start: 2;
}
#wrapper_body .produits.grid > .elementor-container .img-three {
    grid-row: span 2 / span 2;
    grid-column-start: 4;
    grid-row-start: 2;
}
#wrapper_body .produits.grid > .elementor-container .img-four {
    grid-column-start: 2;
    grid-row-start: 4;
}
#wrapper_body .produits.grid > .elementor-container .fond {
    grid-column: span 2 / span 2;
    grid-column-start: 3;
    grid-row-start: 4;
}
#wrapper_body .produits.grid > .elementor-container img {

}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap,
#wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap {
    flex-flow: wrap !important;
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap {
    display: flex;
    align-content: center;
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap .elementor-widget-heading,
#wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap .elementor-widget-heading {
    width: calc(100% - 200px);
    margin-inline-end: auto;
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap .elementor-widget-text-editor,
#wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap .elementor-widget-text-editor {
    width: calc(100% - 230px);
    margin-inline-end: auto;
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap :is(.elementor-widget-button, .elementor-widget-text-editor) {
    margin-block-start: var(--spacing-xs);
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap .elementor-widget-button,
#wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap .elementor-widget-button {
    width: 200px;
}

/*
    ---- SINGLE PRODUIT
 */
/*
    SECTION 1 TXT/IMG
 */
.single-produits #wrapper_body .h2 h1 {
    font: var(--text-weight-bold) var(--h2-font-size) / 1 var(--font-text) !important;
}
.single-produits #wrapper_body .block_txt_img {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--columns-gap) !important;
}
.single-produits #wrapper_body .block_txt_img .block_img {
    display: grid !important;
    grid-template-columns: minmax(0, 135px) minmax(0, 1fr);
    gap: var(--spacing-xs) !important;
}
.single-produits #wrapper_body .block_txt_img .block_img .galerie {
    order: -1;
    align-content: center;
}
.single-produits #wrapper_body .block_txt_img .block_img .galerie_single {
    flex-flow: column;
    gap: var(--spacing-xs) !important;
    max-height: 580px;
    overflow-y: scroll;
}
.single-produits #wrapper_body .block_txt_img .block_img .galerie_single .item {
    width: 100%;
    padding: 0;
    aspect-ratio: 1 / 1;
    padding-inline-end: 10px;
}
.single-produits #wrapper_body .block_txt_img .block_img :is(img, .galerie) {
    position: relative;
}
.single-produits #wrapper_body .block_txt_img .block_img :is(img)[alt="Imexel"] {
    object-fit: contain;
    width: 80%;
    opacity: .5;
}
.single-produits #wrapper_body .block_txt_img .block_img :is(.product-thumbnail, .product-mini) img {
    aspect-ratio: 1 / 1;
}
.single-produits #wrapper_body .block_txt_img .block_txt {
    padding-block: var(--spacing-lg);
}
.single-produits #wrapper_body .block_txt_img :is(.prix, .stock) {
    display: flex;
    align-items: center;
    margin-block-start: var(--spacing-md);
    margin-block-end: 0;
}
.single-produits #wrapper_body .slider_produits,
.single-produits #wrapper_body .block_txt_img .choice-color {
    margin-block-start: var(--spacing-md);
    position: relative;
}
.single-produits #wrapper_body .block_txt_img .choice-color .inodia-icons.arrow_down {
    position: absolute;
    bottom: 15px;
    right: 15px;
    font-size: .75rem;
    pointer-events: none;
}
.single-produits #wrapper_body .block_txt_img .choice-color select#choix_variation {
    width: 100%;
}
.single-produits #wrapper_body .block_txt_img .prix span {
    font: var(--text-weight-bold) var(--h3-font-size) / 1 var(--font-text);
    margin-inline-start: var(--spacing-xs);
}
#wrapper_body p:is(.stock-status, .code-article) {
    padding-block: var(--spacing-4xs);
    padding-inline: var(--spacing-3xs);
    font: var(--text-weight-normal) var(--text-size-small) / 1 var(--font-text);
    width: max-content;
    border-radius: var(--border-radius-btn);
}
#wrapper_body p.stock-status.rupture {
    background: var(--secondary-color);
}
#wrapper_body p.stock-status.disponible {
    background: var(--primary-color);
    color: var(--light-color) !important;
}
.single-produits #wrapper_body .block_txt_img .stock {
    gap: var(--spacing-lg);
}
.single-produits #wrapper_body .block_txt_img .stock p {
    margin: 0 !important;
}
#wrapper_body p.code-article {
    background: var(--background-dark);
    color: var(--light-color) !important;
}
#wrapper_body .block_txt_img .block_boutons {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-xs);
    margin-block-start: var(--spacing-md);
}
.single-produits #wrapper_body .bouton i {
    margin-inline-start: var(--spacing-2xs);
}


/*
    SECTION 2 CARACTERISTIQUES
 */
.single-produits #wrapper_body .elementor-top-section.article-body {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: var(--spacing-md);
}
.single-produits #wrapper_body .elementor-top-section.article-body .caracteristiques {
    grid-area: 1 / 1 / 3 / 2;
}
.single-produits #wrapper_body .elementor-top-section.article-body .catalogue {
    grid-area: 1 / 2 / 2 / 3;
}
.single-produits #wrapper_body .elementor-top-section.article-body .cta {
    grid-area: 2 / 2 / 3 / 3;
}
.single-produits #wrapper_body .elementor-top-section.article-body .caracteristiques p:not(.h3) {
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    gap: var(--spacing-md);
    margin-block-end: var(--spacing-xs);
    padding-block-end: var(--spacing-xs);
    border-block-end: 1px solid var(--outline-color);
}


/*--------- ACTUALITÉS ---------*/




/*--------- SINGLE ACTUALITÉ ---------*/
.single-post #wrapper_body .post-type-post {
    display: flex;
    flex-flow: column;
    gap: var(--spacing-4xl);
}

.single-post #wrapper_body .post-type-post > .container {
	width: min(var(--wrapper-size-mobile), var(--wrapper-size-small));
}

.single-post #wrapper_body .elementor-page-title + .elementor-widget {
    margin-block-start: var(--spacing-3xl);
}

.single-post #wrapper_body .section_suggested_posts .slider_actus {
    width: min(var(--wrapper-size-mobile), var(--wrapper-size));
    margin-inline: auto;
}



/*--------- CONTACT ---------*/
#wrapper_body .elementor-message {
	border-radius: var(--border-radius);
    display: flex;
	font-size: var(--text-size-small);
    font-weight: var(--text-weight-medium);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing);
    padding: var(--spacing-2xs) calc(var(--spacing-2xs) * 2);
	width: 100%;
    margin: var(--spacing-sm) 0 0 0;
}

#wrapper_body .elementor-message.elementor-message-success {
	background: var(--alert-success-bg);
	border: var(--border-width) solid var(--alert-success-border);
	color: var(--alert-success-color);
}

#wrapper_body .elementor-message.elementor-message-danger {
	background: var(--alert-danger-bg);
	border: var(--border-width) solid var(--alert-danger-border);
	color: var(--alert-danger-color);
}

#wrapper_body .elementor-field-group {
	position: relative;
}

#wrapper_body .elementor-field-group .elementor-message {
    font-size: var(--text-size-small);
	margin: 0;
    padding: var(--spacing-4xs);
}


/* FORMULAIRE */
#wrapper_body .elementor-widget-form .elementor-form-fields-wrapper {
	margin: 0 calc(var(--spacing-3xs) * -1);
}

#wrapper_body .elementor-widget-form .elementor-field-group {
	padding: 0 var(--spacing-3xs) !important;
}

#wrapper_body .elementor-widget-form .elementor-field-label {
    font-size: var(--text-size-small);
	font-weight: var(--text-weight-medium);
    margin-block-end: var(--spacing-2xs);
	padding: 0;
}

#wrapper_body .elementor-widget-form .elementor-field-group-rgpd {
	margin-block-end: 0 !important;
}




 
/* ----------------------------------- */
/*
/* ----------- RESPONSIVE ------------ */
/*
/* ----------------------------------- */


/* 1640px */
@media screen and (max-width: 102.5rem) {
    .home #wrapper_body .a-propos.grid > .elementor-container .fond.gris {
        padding-inline: 0;
    }
    #wrapper_body .a-propos.grid > .elementor-container {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: minmax(0, auto) repeat(2, auto);
    }
    #wrapper_body .a-propos.grid > .elementor-container .title {
        grid-column: span 2 / span 2;
    }
    #wrapper_body .a-propos.grid > .elementor-container :is(.fond.gris, .img-one) {
        grid-row: initial;
        grid-row-start: 2;
    }
    #wrapper_body .a-propos.grid > .elementor-container .fond.secondary {
        grid-row-start: initial;
    }
    #wrapper_body .a-propos.grid > .elementor-container .img-two {
        grid-column-start: initial;
        grid-row-start: 3;
    }

    #wrapper_body .produits.grid > .elementor-container {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: minmax(0, max-content) repeat(3, 1fr);
    }
    #wrapper_body .produits.grid > .elementor-container .title {
        grid-column: span 2 / span 2;
    }
    #wrapper_body .produits.grid > .elementor-container :is(.img-one, .img-two) {
        grid-column: initial;
        grid-row: initial;
        grid-row-start: 2;
    }
    #wrapper_body .produits.grid > .elementor-container .img-three {
        grid-row: initial;
        grid-column-start: initial;
        grid-row-start: initial;
    }
    #wrapper_body .produits.grid > .elementor-container .img-four {
        grid-column-start: initial;
        grid-row-start: 3;
    }
    #wrapper_body .produits.grid > .elementor-container .fond {
        grid-column: span 2 / span 2;
        grid-column-start: initial;
        grid-row-start: initial;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap .elementor-widget-button, #wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap .elementor-widget-button {
        margin-block-start: 0;
    }
    .single-produits #wrapper_body .block_txt_img .block_img {
        grid-template-columns: 1fr;
    }
    .single-produits #wrapper_body .block_txt_img .block_img .galerie {
        order: 0;
    }
    .single-produits #wrapper_body .block_txt_img .block_img .galerie_single {
        flex-flow: initial;
    }
    .single-produits #wrapper_body .block_txt_img .block_img .galerie_single {
        width: 100%;
        gap: var(--spacing-xs) !important;
        overflow-x: scroll;
    }
    .single-produits #wrapper_body .block_txt_img .block_img .galerie_single .item {
        width: 23.5%;
        padding: 0;
        aspect-ratio: 1 / 1;
        padding-inline-end: 0;
        padding-block-end: 10px;
    }
    .single-produits #wrapper_body .block_txt_img .block_img .product-thumbnail {
        max-height: 450px;
    }

}


/* 1281px */
@media screen and (min-width: calc(80rem + 1px)) {
	
    .show-inodia-menu {
		display: none !important;
	}
    
	
    /*----- HEADER -----*/	
    /* HEADER MOBILE */    
    header .container {
        pointer-events: none;
    }
    
    header .container .menu-search,
    header .container .menu-social,
    header .container .logo,
    header #nav-main-desktop > ul > li {
        pointer-events: initial;
    }
}



/* 1280px */
@media screen and (max-width: 80rem) {
    
	.hide-inodia-menu {
		display: none !important;
	}
    
	
    /*----- HEADER -----*/
	header #nav-wrapper {
		background-color: var(--background-color);        
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;        
		height: 100vh;
		height: fill-available;
        height: -webkit-fill-available;
		position: fixed;
		inset: 0 0 auto 0;
		z-index: -1;
		visibility: hidden;
		opacity: 0;
		transition: all .3s ease-out;
		overflow: auto;
        overscroll-behavior: contain;
	}
    
    @media (prefers-reduced-motion: no-preference) {

        header #nav-wrapper {
		    translate: 100%;
        }
    }    

    @-moz-document url-prefix() {

        header #nav-wrapper {
            scrollbar-color: rgba(var(--dark-text-color), 0) rgba(var(--dark-text-color), 0);
            scrollbar-width: none;
        }
    }

	header #nav-wrapper::-webkit-scrollbar {
    	background: rgba(var(--dark-text-color), 0);
        width: 0;
        height: 0;
	}

	header #nav-wrapper::-webkit-scrollbar-thumb {
		background: rgba(var(--dark-text-color), 0);
	}

	header #nav-wrapper.active {
		opacity: 1;
		translate: 0;
		visibility: visible;
		z-index: 999999;
	}

	header #nav-wrapper.active .toggle-nav {
		z-index: 1000;
	}
    
    header .container {
        gap: var(--spacing-md);
    }
    
    header #nav-wrapper .nav-main {
        width: 100%;
        height: 100%;
    }
    
    header #nav-wrapper.menu_mobile .nav-main > ul {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-lg);
        width: min(var(--wrapper-size-mobile),var(--wrapper-size));
        margin: auto;
        min-height: 100%;
        padding-block: 6rem;
    }

	header #nav-wrapper .nav-main ul > li {
        align-items: center;
        justify-content: center;
        gap: var(--spacing-sm) var(--spacing-2xs);
        line-height: 1;
	}

	header #nav-wrapper .nav-main ul > li:not(.menu-item-has-children) {
        display: flex;
        flex-flow: row wrap;
	}

	header #nav-wrapper .nav-main ul > li.menu-item-has-children {
        display: grid;
        grid-template-columns: auto min-content;
	}
    
    header #nav-wrapper .nav-main ul > li > a {
        line-height: 1.3;
        text-align: center;
        white-space: initial;
    }
    
    header #nav-wrapper .nav-main > ul > li:not(.bouton) > a {
        font-size: var(--h4-font-size);
    }
    
    header #nav-wrapper .nav-main > ul > li:not(.bouton) > .arrow_down {
        font-size: var(--text-size-small);
    }

    header #nav-wrapper .nav-main ul li.menu-item-has-children > a {
        text-wrap-style: auto;
        padding: 0;
        background: none;
        color: var(--dark-color) !important;
        font-size: var(--h4-font-size);
    }
    
	header #nav-wrapper .nav-main ul li.menu-item-has-children > ul {
        display: none;
        grid-column: 1 / -1;
	}

	header #nav-wrapper .nav-main ul li.menu-item-has-children.open > ul {
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: var(--spacing-sm);
	}
    
    header #nav-wrapper .nav-main ul > li.menu-item-has-children.open > .icon-dropdown-arrow {
        rotate: 180deg;
    }

	header #nav-wrapper .nav-main ul li.menu-item-has-children ul li a {
        font-size: var(--text-size-normal);
        font-weight: var(--text-weight-normal);
        padding: 0;
        background: none;
        color: var(--dark-color) !important;
	}

	header #nav-wrapper .nav-main ul li.menu-item-has-children ul li a:not(:is(:hover, :active)) {
        color: var(--text-color);
	}
    
    header #nav-wrapper .nav-main ul li button {
        padding: var(--spacing-4xs);
        transition: rotate 0s, color .3s ease-in-out, outline .1s ease-in-out !important;
	}

    #wrapper_body .section-top-home .fond.gris {
        width: 60%;
    }

}



/* 1120px */
@media screen and (max-width: 70rem) {
    .home #wrapper_body .section-top-home .fond.gris,
    #wrapper_body .section-top-home .fond.gris {
        width: 100%;
    }
    #wrapper_body :is(.a-propos.grid, .revendeur.grid) > .elementor-container {
        grid-template-columns: 1fr;
        grid-template-rows: initial;
    }
    #wrapper_body :is(.a-propos.grid, .revendeur.grid) > .elementor-container :is(.fond.gris, .img-one, .title, .fond.blanc, .fond.primary) {
        grid-row: initial;
        grid-row-start: initial;
        grid-column-start: initial;
    }
    #wrapper_body :is(.a-propos.grid, .revendeur.grid) > .elementor-container .title {
        grid-column: initial;
    }
    #wrapper_body .block_txt_img:not(.elementor-section) .block_img:not(.contain) img, #wrapper_body .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child:last-child) > .elementor-container > .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child:last-child) img, #wrapper_body .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) > .elementor-container > .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton.icon:last-child) img {
        max-height: 300px;
    }
    #wrapper_body .section.carousel .elementor-column {
        width: 100% !important;
        min-width: initial !important;
    }
    #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-button {
        margin-block-start: calc(var(--spacing-2xl) / 3) !important;
    }
    .single-produits #wrapper_body .block_txt_img {
        flex-flow: column;
        display: flex !important;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body :is(.caracteristiques, .catalogue, .cta) {
        grid-area: initial;
    }
    .single-produits #wrapper_body .section.reassurances > .elementor-container {
        width: 100%;
    }
    /*
        ----- CONTACT
     */
    .page-id-46 #wrapper_body .block_form {
        order: -1;
    }
    .page-id-46 #wrapper_body iframe {
        height: 400px;
    }

}


/* 720px */
@media screen and (max-width: 45rem) {
	
    /*----- HEADER -----*/
    .wrapper_header {
		position: relative;
		z-index: 1000;
	}
    header .container {
        justify-content: flex-start;
        gap: 1.5rem;
    }
    header .container .menu-search {
        width: 150px;
        margin-inline-start: auto;
    }
    header .toggle-nav {
        width: 2rem;
    }
    .menu-social .widget_block a, .widget_block .menu-social a {
        width: 35px;
        height: 35px;
    }
    
    @media (prefers-reduced-motion: no-preference) {
        
        .wrapper_header {
		    transition: all .75s cubic-bezier(0.85, 0.09, 0.15, 0.91);
        }
    }
    
	.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 {
		translate: initial !important;
	}
    
	.wrapper_header.sticky.show header {
        background: var(--background-color);
	}
    
    header {        
		transition: background .4s cubic-bezier(.42, 0, .58, 1);
    }
    
    .wrapper_header.sticky.show header #nav-wrapper .toggle-nav {
        top: calc(var(--padding-header) + (var(--logo-height) / 2));
    }

    #wrapper_body .produits.grid > .elementor-container {
        grid-template-rows: auto;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap :is(.elementor-widget-heading, .elementor-widget-text-editor), #wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap :is(.elementor-widget-heading, .elementor-widget-text-editor) {
        width: 100%;
        margin-inline-end: 0;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .cta.fond > .elementor-widget-wrap .elementor-widget-button, #wrapper_body .produits.grid > .elementor-container .fond > .elementor-widget-wrap .elementor-widget-button {
        width: 100%;
        margin-block-start: calc(var(--spacing-2xl) / 3) !important;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap {
        grid-template-columns: 1fr;
        grid-template-rows: initial;
        gap: var(--spacing-md);
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-heading, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-heading {
        grid-column: initial;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap h3, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap h3,.single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-text-editor, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-text-editor,
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-image, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-image,
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-button, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-button {
        grid-column: initial;
        grid-column-start: initial;
        grid-row-start: initial;
        margin-block-start: 0 !important;
        text-align: center;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .fond.primary.catalogue > .elementor-widget-wrap .elementor-widget-image img, #wrapper_body .revendeur.grid > .elementor-container .fond.primary > .elementor-widget-wrap .elementor-widget-image img {
        max-height: 200px;
        object-fit: contain;
        width: auto;
    }
    .single-produits #wrapper_body .catalogue p.h3 {
        text-align: center;
    }
    .single-produits #wrapper_body .catalogue .elementor-widget-button {
        margin-inline: auto;
    }
    .single-produits #wrapper_body .block_txt_img .stock {
        gap: var(--spacing-3xs);
        flex-flow: column;
        align-items: flex-start;
    }
    #wrapper_body .block_txt_img .block_boutons {
        grid-template-columns: 1fr;
    }



}



/* 576px */
@media screen and (max-width: 36rem) {
    
    #wrapper_body .elementor-message::before {
        display: none;
    }
    
    
    /*----- HEADER -----*/
    header #nav-wrapper .nav-main > ul > li > a {
        font-size: var(--text-size-normal);
    }
    
    header .nav-main ul li.menu-item-has-children > a > span {
        font-size: .25rem;
	}
    header .container .menu-search {
        display: none;
    }
    header .container :is(.logo, .menu-social) {
        order: -1;
    }
    header .container :is(.menu-social) {
        margin-inline-start: auto;
    }
    header .container .logo {
        min-width: 100px;
    }

    #content {
        margin-block-start: 0;
    }
    .single-produits #wrapper_body .elementor-top-section.article-body .caracteristiques p:not(.h3) {
        grid-template-columns: 1fr;
    }


}



/* 481px */
@media screen and (min-width: calc(30rem + 1px)) {
    
    #btn_form,
    #btn_form_message,
    .bouton:not(.link):not(.icon):not(.menu-item) a,
    .bouton:not(.link):not(.icon):not(.menu-item):is(a, button) {
        min-width: 9rem;
    }
}



/* 480px */
@media screen and (max-width: 30rem) {

    body {
        font: var(--text-weight-normal) var(--text-size-small) / 1 var(--font-text);
    }

    #footer .container,
    #wrapper_body #content :is(.elementor-section) > .elementor-container:has(.fond),
    #wrapper_body #content :is(.section-top-home, .carousel, .grid) > .elementor-container {
        width: 100%;
    }
    #wrapper_body #content .section-top-home > .elementor-container {
        gap: 0;
    }
    #footer .container #footer-content,
    #wrapper_body .section:is(.grid) .elementor-column > .elementor-widget-wrap,
    #wrapper_body .fond:is(.elementor-column) > .elementor-widget-wrap {
        padding-inline: 0;
        width: var(--wrapper-size-mobile);
        margin-inline: auto;
    }
    #wrapper_body #content .section.carousel > .elementor-container .elementor-column:not(.fond) > .elementor-widget-wrap {
        width: var(--wrapper-size-mobile);
        margin-inline: auto;
    }
    #wrapper_body .fond:is(.elementor-column) {
        border-radius: 0;
    }
    #wrapper_body .produits.grid > .elementor-container :is(.img-one, .img-four) {
        padding-inline-start: 10%;
    }
    #wrapper_body .produits.grid > .elementor-container :is(.img-two, .img-three) {
        padding-inline-end: 10%;
    }


    #wrapper_body .block-boutons .elementor-widget-wrap {
        grid-template-columns: minmax(0, 1fr);
    }
    #wrapper_body .block-boutons .elementor-widget-wrap .bouton a {
        width: 100%;
    }

    .elementor :is(.elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text), .elementor :is(.elementor-tab-content, .elementor-widget-text-editor) :is(p, li, span, strong) {
        font: var(--text-weight-normal) calc(var(--text-size-small) * 1.175) / 1.618 var(--font-text) !important;
    }


    input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="search"]):not([type="submit"]):not([type="button"]),
    textarea, 
    textarea.elementor-field-textual {
        padding: var(--spacing-2xs) var(--spacing-xs) !important;
    }

    select,
    .elementor-field-group .elementor-select-wrapper select {
        padding: var(--spacing-2xs) calc(var(--spacing-xs) * 3) var(--spacing-2xs) var(--spacing-xs) !important;
    }
    
    #btn_form, 
    #btn_form_message,
    .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,
    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;
    }
    
    #btn_form, 
    #btn_form_message,    
    .bouton a, 
    .bouton:is(a, 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 {
        padding: var(--spacing-xs);
        width: 100%;
    }
    
    #wrapper_body .boutons .bouton.contour {
        order: 1;
    }
    
    #wrapper_body .boutons .bouton:not(.contour) {
        order: 2;
    }
    
    #wrapper_body .elementor-top-section.fond.block:not(.full) > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
        padding-inline: 0;
    }
    
    #wrapper_body .elementor-top-section.fond.block:not(.full) > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) > div {
        width: min(var(--wrapper-size-mobile),var(--wrapper-size));
        margin-inline: auto;
    }
    
    #wrapper_body .elementor-top-section:is(.fond, .supp) + .elementor-top-section:is(.fond, .supp) {
        margin-block-start: 0 !important;
    }
    
    #wrapper_body .elementor-top-section:is(.fond, .supp) {
        margin-block-end: 0 !important;
    }
    
    #wrapper_body .elementor-top-section.fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay):not(.elementor-background-overlay):not(.elementor-shape) {
        border-radius: 0;
    }
    
    
    /*----- FOOTER -----*/
    #footer-content .container .column .widget_media_image {
        display: flex;
        justify-content: center;
    }
    
    #footer-content .container .column ul {
        align-items: center;
    }
    
    #footer-content .container .column .widget {
        display: flex;
        flex-flow: column;
        align-items: center;
    }
    
    #footer-content .container .column .widget * {
        text-align: center;
    }
	
	
	/*----- CONTACT -----*/
	/* FORMULAIRE */
	#wrapper_body .elementor-widget-form .elementor-field-group {
		margin-block-end: var(--spacing-sm);
	}
}



/* 384px */
@media screen and (max-width: 24rem) {
	    
	#wrapper_body .pagination-block .pagination li:is(.prev, .next) a span {
		display: none;
	}
}


