/*
* Theme Name: Inodia
* Description:
* Author: Vincent Michelet - Inodia
* Version: 1.0.0
*/

/*---------- Imports ----------*/
/* Fonts */
@font-face {
    font-family: 'Bonny';
    src: local('Bonny Bold'), local('Bonny-Bold'),
    url('./static/fonts/Bonny-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Switzer';
    src: local('Switzer Light'), local('Switzer-Light'),
    url('./static/fonts/Switzer-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Switzer';
    src: local('Switzer Medium'), local('Switzer-Medium'),
    url('./static/fonts/Switzer-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Switzer';
    src: local('Switzer Bold'), local('Switzer-Bold'),
    url('./static/fonts/Switzer-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



/* Icons */
@font-face {
	font-family: 'inodia-icons';
	src: url('./static/fonts/inodia-icons.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}


/*
 * 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);
}

h1, .h1:not(.elementor-widget-heading),
div.elementor-widget-heading.h1 .elementor-heading-title { 
	color: var(--title-color) !important;
    font: var(--text-weight-bold) var(--h1-font-size)/1.1 var(--font-text) !important;
    letter-spacing: -0.02em;
	position: relative;
}

h1:not(.h2, .h3, .h4, .elementor-heading-title), 
.h1:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-xl);
}

h2, .h2:not(.elementor-widget-heading),
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-bold) var(--h2-font-size)/1.1 var(--font-title) !important;
	position: relative;
    letter-spacing: -0.02em;
}

h2:not(.h1, .h3, .h4, .elementor-heading-title), 
.h2:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-lg);
}

h2.no-margin,
.h2.no-margin {
    margin: 0;
}

h3, .h3:not(.elementor-widget-heading), 
div.elementor-widget-heading.h3 .elementor-heading-title { 
	color: var(--title-color) !important;
    font: var(--text-weight-medium) var(--h3-font-size)/1.1 var(--font-text) !important;
    letter-spacing: -0.01em;
}

h3:not(.h1, .h2, .h4, .elementor-heading-title), 
.h3:not(.elementor-widget-heading) {
	margin-block-end: var(--spacing-md);
}

h4, .h4:not(.elementor-widget-heading), 
div.elementor-widget-heading.h4 .elementor-heading-title,
#footer-content .widget-title {
	color: var(--title-color) !important;
    font: var(--text-weight-normal) var(--h4-font-size)/1.1 var(--font-text) !important;
    letter-spacing: 0;
}

h4:not(.h1, .h2, .h3, .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;
}

.sur-titre,
.sur-titre p {
    font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text) !important;
    color: var(--primary-color);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

p, 
li,
span,
small {
	font-weight: var(--text-weight-normal);
	letter-spacing: var(--letter-spacing);
}

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;
}


/* 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,
.owl-carousel .owl-nav button,
:is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn),
#wrapper_body .widget_nav_menu a {
	color: var(--title-color);
}

#wrapper_body #breadcrumb a {
	color: var(--text-color);
}

:is(a, button).link-dark:focus:focus-visible,
.owl-carousel .owl-nav button:focus:focus-visible,
#wrapper_body :is(.widget_nav_menu, #breadcrumb) a:focus:focus-visible,
:is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn):focus:focus-visible,
.mgbutton:not(.moove-gdpr-infobar-allow-all, .moove-gdpr-modal-allow-all):focus:focus-visible {
    outline-color: var(--title-color) !important;
}
    
a:hover {
    color: var(--primary-hover-color);
}

a:active {
    color: var(--primary-active-color);
}

:is(a, button).link-dark:hover,
.owl-carousel .owl-nav button:hover,
:is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn):hover,
#wrapper_body :is(.widget_nav_menu, #breadcrumb) a:hover {
    color: var(--primary-color);
}

:is(a, button).link-dark:active,
.owl-carousel .owl-nav button:active,
:is(.moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn):active,
#wrapper_body :is(.widget_nav_menu, #breadcrumb) a:active {
    color: var(--primary-hover-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:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
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:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
textarea, 
textarea.elementor-field-textual {
    padding: var(--spacing-2xs) calc(var(--spacing-2xs) * 2) !important;
}

textarea,
textarea.elementor-field-textual {
	border-radius: clamp(0, 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:is([type="text"],[type="email"],[type="number"],[type="tel"]):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) !important;
}

input:is([type="text"],[type="email"],[type="number"],[type="tel"]):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(--border-focus-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;
}

.fond:is(.noir, .blanc):not(.block),
.fond.block:is(.noir, .blanc) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
	background: var(--background-color);
}

.fond.gris:not(.block),
.fond.block.gris > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
	background: var(--background-grey);
}

.fond.blanc:not(.block),
.fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
    background: var(--background-lighter);
}

.light-scheme-color :is(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
.dark-scheme-color :is(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
    color-scheme: dark;
}

.dark-scheme-color :is(.fond.noir:not(.block), .fond.block.noir > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
.light-scheme-color :is(.fond.blanc:not(.block), .fond.block.blanc > div:not(.elementor-element-overlay, .elementor-background-overlay, .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: var(--transition-default);
}

#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;
}
    
#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);
}

#wrapper_body .elementor-widget-form .elementor-field-type-upload > label:has(+ input:focus:focus-visible) {    
    outline-color: 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 */
#wrapper_body .elementor-top-section:not(.no_margin, :first-child) {
	margin-block-start: var(--spacing-4xl);
}

body:not(.elementor-page) #wrapper,
body:not(.error404) #wrapper_body .elementor-top-section:not(.no_margin, .fond:not(.block), .supp):last-child {
	margin-block-end: var(--spacing-xl);
}

#wrapper_body .elementor-top-section.fond:not(.block, .elementor-section-full_width) {
	padding-block: var(--spacing-3xl);
}

#wrapper_body .elementor-top-section.fond:not(.block):last-child {
	margin-block-end: 0;
}

#wrapper_body :is(.elementor-top-section.fond.block:not(.full)) > div:not(.elementor-element-overlay, .elementor-background-overlay, .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) + :is(.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: var(--spacing-lg);
}

#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-4xl) / 1.5);
}

#wrapper_body .elementor-widget-image + .elementor-widget-text-editor {
	margin-block-start: calc(var(--spacing-4xl) / 4);
}

#wrapper_body .elementor-widget-heading + .elementor-widget-heading {
	margin-block-start: var(--spacing-xs) !important;
}

#wrapper_body .elementor-widget-heading + .elementor-widget-button {
	margin-block-start: var(--spacing-lg) !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 :is(.elementor-widget-image, .elementor-widget-image-carousel) 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);
    width: var(--wrapper-size-mobile);
    padding: var(--spacing-3xs);
    position: absolute;
    inset: auto auto 0 50%;
    translate: -50%;
}

#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) {
    color: var(--text-color);
    text-align: left;
    font-weight: var(--text-weight-normal);
    letter-spacing: var(--letter-spacing);
    line-height: 1.618;
    font-size: var(--text-size-normal) !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, .h4, .center, .right, .inodia-icons):has(h2) {    
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

#wrapper_body .center .elementor-widget-heading:not(.h3, .h4, .center, .right, .inodia-icons):has(h2) {
    align-items: center;
}

#wrapper_body .elementor-widget + .quote,
#wrapper_body :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .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, .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, .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, .elementor-widget-heading) + :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4):has(h2)) {
	margin-block-start: calc(var(--spacing-lg) * 2) !important;
}

#wrapper_body .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2, .h4):has(h3)) {
	margin-block-start: calc(var(--spacing-md) * 2) !important;
}

#wrapper_body .elementor-widget:not(.elementor-widget-menu-anchor, .elementor-widget-heading) + :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h2, .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);
}
    
#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);
}

#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: var(--outline-color);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator__separator {
    background: var(--outline-color);
    height: var(--border-width);
    width: calc(100% - 100px);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-active {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

#wrapper_body .elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
    background: var(--primary-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(--primary-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) 1ch;
	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;
    transition: color .3s ease-in-out, outline .1s ease-in-out !important;
}

#wrapper_body #breadcrumb p span.separator {
	color: var(--primary-color);
}

#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 */
.bouton {
	border: none;
}

#header .header-nav .nav-main ul li.bouton a,
#btn_form span,
.bouton:not(.icon),
.bouton:not(.icon) span,
.mgbutton:not(.moove-gdpr-infobar-reject-btn) {
	font: var(--text-weight-medium) var(--text-size-normal)/1.1 var(--font-text);
}

#btn_form span,
.bouton span {
    color: inherit !important;    
    display: inline-flex;
    gap: var(--spacing-2xs);
	text-align: center;
    align-items: center;
}

.bouton a,
.bouton span {
    font-family: var(--font-text);
    font-size: var(--text-size-small);
    font-weight: var(--text-weight-medium);
    line-height: 1.1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#btn_form,
.bouton a,
.bouton:is(a, button),
.mgbutton:not(.moove-gdpr-infobar-reject-btn) {
	border: var(--border-width) solid transparent;
	border-radius: var(--border-radius);
	display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    min-width: fit-content;
    min-height: initial;
    padding: var(--spacing-xs) var(--spacing-md);
    text-align: center;
}

.center #btn_form {
    margin-inline: auto;
}

:is(.elementor-widget-button, .elementor-widget-lightbox).inodia-icons a {
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.bouton.calendar:is(:not(.elementor-widget-button)) a::before,
.bouton.calendar a > span::before,
.bouton.calendar:is(a, button)::before,
.bouton.download a > span::before,
.bouton.download:is(a, button)::before {
    font: var(--font-icon) !important;
}

.center .bouton,
.bouton.center {
	display: flex;
    justify-content: center;
}


/* BOUTON PRIMARY */
#btn_form,
.bouton.primary a,
:is(a, button).bouton.primary,
#moove_gdpr_cookie_modal .moove-gdpr-modal-allow-all,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all {
	background: var(--primary-color);
    color: var(--dark-color) !important;
}

#btn_form:focus:focus-visible,
.bouton.primary a:focus:focus-visible,
:is(a, button).bouton.primary:focus:focus-visible,
#moove_gdpr_cookie_modal .moove-gdpr-modal-allow-all:focus:focus-visible,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all:focus:focus-visible {
    outline-color: var(--primary-color) !important;
}

#btn_form:hover,
.bouton.primary a:hover,
:is(a, button).bouton.primary:hover,
#moove_gdpr_cookie_modal .moove-gdpr-modal-allow-all:hover,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all:hover {
    background: var(--primary-hover-color);
    color: var(--background-color) !important;
}

#btn_form:active,
.bouton.primary a:active,
:is(a, button).bouton.primary:active,
#moove_gdpr_cookie_modal .moove-gdpr-modal-allow-all:active,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all:active {
    background: var(--primary-active-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: var(--secondary-color) !important;
}
    
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;
}


/* 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(--title-color) !important;
}

a.bouton.dark:hover,
.bouton.dark a:hover {
    background: var(--strong-color);
}

a.bouton.dark:active,
.bouton.dark a:active {
    background: var(--text-color);
}


/* BOUTON CONTOUR PRIMAIRE */
a.bouton.contour.primary,
.bouton.contour.primary a {
	background: transparent !important;
	border: var(--border-width) solid var(--primary-color) !important;
	color: var(--primary-color) !important;
}
    
a.bouton.contour.primary:hover,
.bouton.contour.primary a: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 {
    background: var(--primary-hover-color) !important;
    border-color: transparent !important;
    color: var(--background-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;
}

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;
}


/* BOUTON CONTOUR NOIR */
a.bouton.contour.dark,
.bouton.contour.dark a,
#moove_gdpr_cookie_modal .moove-gdpr-modal-save-settings,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-settings-btn {
	background: transparent;
	border: var(--border-width) solid var(--background-dark) !important;
	color: var(--background-dark) !important;
}
    
a.bouton.contour.dark:hover,
.bouton.contour.dark a:hover,
#moove_gdpr_cookie_modal .moove-gdpr-modal-save-settings:hover,
#moove_gdpr_cookie_info_bar .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,
#moove_gdpr_cookie_modal .moove-gdpr-modal-save-settings:active,
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-settings-btn:active {
    background: var(--strong-color);
    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;
}
    
.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;
}


/* SECONDAIRE */
.bouton.link.secondary a,
.bouton.link.secondary:is(a, button) {
    color: var(--secondary-color) !important;
}
    
.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;
}


/* NOIR */
.bouton.link.dark a,
.bouton.link.dark:is(a, button) {
    color: var(--title-color) !important;
}
    
.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;
}

.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);
}

.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: var(--border-radius);
    display: flex !important;
    align-items: center;
    justify-content: center;
    filter: initial;
    padding: var(--spacing-xs) !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;
}

.elementor-widget-heading.inodia-icons {
    display: flex;
    font: var(--font-icon);
    align-items: center;
    gap: var(--spacing-3xs);
    font-size: 24px;
}

/*.bouton:not(.link, .icon, .calendar, :has(i)) a,*/
/*.bouton:not(.link, .icon, .calendar, :has(i)):is(a, button) {*/
/*    padding: var(--spacing-xs);*/
/*}*/

/*.bouton:is(.download, :has(i)):is(a, button) {*/
/*    padding: var(--spacing-xs) calc(var(--spacing-xs) * 2);*/
/*}*/

/*.bouton.tertiary a,*/
/*:is(a, button).bouton.tertiary {*/
/*    width: 100%;*/
/*    justify-content: left;*/
/*    background: var(--primary-color);*/
/*    color: var(--light-color) !important;*/
/*}*/

/*.bouton.tertiary a:focus:focus-visible,*/
/*:is(a, button).bouton.tertiary:focus:focus-visible {*/
/*    outline-color: var(--primary-color) !important;*/
/*}*/

/*.bouton.tertiary a:hover,*/
/*:is(a, button).bouton.tertiary:hover {*/
/*    background: var(--primary-hover-color);*/
/*    color: var(--background-color) !important;*/
/*}*/

/*.bouton.tertiary a:active,*/
/*:is(a, button).bouton.tertiary:active {*/
/*    background: var(--primary-active-color);*/
/*    color: var(--background-color) !important;*/
/*}*/




/*--------- ARCHIVES ---------*/
#wrapper_body .posts-list {
	display: grid;
	/*grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));*/
	grid-template-columns: repeat(1, minmax(min(100%, var(--items-min-size)), 1fr));
	gap: var(--items-gap);
}


/* Pagination */
#wrapper_body .pagination-block {
	margin-block-start: var(--spacing-2xl);
}

#wrapper_body .pagination-block,
#wrapper_body .pagination-block .pagination {
	display: flex;
	align-items: center;
	justify-content:center;
	flex-wrap: wrap;
    gap: var(--spacing-sm);
}

#wrapper_body .pagination-block .pagination :is(li, span) {
	line-height: 1;
}

#wrapper_body .pagination-block .pagination li.disabled {
	display: none;
}

#wrapper_body .pagination-block .pagination li.current span {
	color: var(--primary-color);
}

#wrapper_body .pagination-block .pagination li a {
    display: inline-flex;
	font-weight: var(--text-weight-medium);
}

#wrapper_body .pagination-block .pagination li a:has(i) {
    align-items: center;
    gap: 1.5ch;
}

#wrapper_body .pagination-block .pagination li a i {
    font-size: var(--text-size-small);
}


/*--------- TEASES ---------*/
#wrapper_body .tease,
#wrapper_body .tease .description {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    width: 100%;
}

#wrapper_body .tease {
    gap: var(--spacing-sm);
}

#wrapper_body .tease a.thumbnail {
    border-radius: clamp(0, var(--border-radius), clamp(1.5rem, 1.125rem + 1.875vw, 3rem));
    display: flex;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    overflow: hidden;
}

#wrapper_body .tease a.thumbnail :is(picture, img, svg) {
    width: 100%;
    height: 100%;
}

#wrapper_body .tease a.thumbnail :is(img, svg) {
    object-fit: cover;
}

#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;
}

#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 {
    flex-grow: 1;
}

#wrapper_body .tease .description time {
    background: var(--primary-color);
    color: var(--light-color);
    font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
    padding: var(--spacing-4xs) var(--spacing-3xs);
    margin-block-end: var(--spacing-2xs);
}

#wrapper_body .tease .description a.title {
    font: var(--text-weight-bold) var(--text-size-big)/1.2 var(--font-text);
}

#wrapper_body .tease .description .title + p {
    font-size: var(--text-size-small);
    line-height: 1.4;
    margin-block: var(--spacing-xs) 0;
}

#wrapper_body .tease .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;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	position: fixed;
	inset: auto var(--spacing-md) var(--spacing-md) auto;
    transition: var(--transition-default), opacity .15s ease-in-out !important;
    z-index: 50;
}
    
#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);
}

#back-to-top i {
    font-size: .5rem !important;
}

#back-to-top.hide {
	opacity: 0;
    pointer-events: none;
}





/**
 * ----------------------------------------
 * ------------- ANIMATIONS ---------------
 * ----------------------------------------
 */





/*-------------------------------------------------*/
/*
/*---------- SITE CAMPING DES JONQUILLES ----------*/
/*
/*-------------------------------------------------*/

/*--------- HEADER ---------*/
/* PRE-HEADER */
#pre-header {
	background: var(--primary-hover-color);
	overflow: auto;
}

#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 {
	position: relative;
    z-index: 5;
    background: var(--light-color);
}

body:is(:not(.home)) #header {
    margin-bottom: var(--spacing-xs);
}

#header .header-nav > .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
    gap: min(5rem, 10%);
    color-scheme: light;
}

body:is(:not(.home)) #header .header-nav > .container {
    padding: var(--padding-header);
}

#header .header-nav .container .logo a {
    display: flex;
}

#header .header-nav .container .logo a:focus:focus-visible {
	outline-color: var(--title-color) !important;
}

#header .header-nav .container .logo img {
    aspect-ratio: var(--logo-ratio);
    width: auto;
    height: var(--logo-height);
}


/* Navigation */
#header .header-nav .nav-main ul {
	display: flex;
	align-items: center;
	list-style: none;
}

#header .header-nav #nav-main-desktop > ul {
    gap: var(--spacing-lg);
}

#header .header-nav .nav-main ul li a {
    display: flex;
	font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
    white-space: nowrap;
}

#header .header-nav .nav-main ul li:is(:not(.bouton)) a {
    font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
}

#header .header-nav .nav-main ul li a[href="#"] {
    cursor: default;
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children {
    outline: none !important;
    position: relative;
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > a,
#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > div > a {
    align-items: center;
    gap: var(--spacing-3xs);
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > a::after,
#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > div > 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 .header-nav #nav-main-desktop > ul > li.menu-item-has-children > ul {
    border-radius: 0 0 clamp(0, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
    box-shadow: var(--box-shadow);
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: var(--spacing-xs);
    min-width: calc(100% + var(--spacing-lg));
    padding: calc(((var(--logo-height) / 2) + var(--padding-header)) + 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: var(--transition-default);
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > ul {
    background: var(--light-color);
    box-shadow: 0 16px 24px -16px var(--shadow-color);
    padding: calc(((var(--logo-height) / 2) + var(--padding-header)) + var(--spacing-sm)) var(--spacing-sm) var(--spacing-sm);
}


#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > ul {
    padding: calc(var(--spacing-sm) * 2) var(--spacing-sm) var(--spacing-sm);
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children:is(:hover, :focus-within) > ul {
    opacity: 1;
    pointer-events: initial;
}

#header .header-nav #nav-main-desktop > ul > li.menu-item-has-children > ul li a {
    font-size: var(--text-size-normal);
    font-weight: var(--text-weight-medium);
}


/* Mobile navigation */
#header #ino-nav-mobile-btn-open i {
    font-size: var(--h4-font-size) !important;
}



/*--------- FOOTER ---------*/
#footer :is(#footer-content, #post-footer) {
    background: var(--primary-hover-color);
    color-scheme: light;
}


/* PRE-FOOTER */
#pre-footer {
	color: var(--title-color);
	padding-block: var(--spacing-lg);
}

#pre-footer > .container {
    border-radius: var(--border-radius);
    box-shadow: 0 12px 24px -8px rgba(3, 26, 38, 0.12);
    background-color: var(--background-lighter);
}

: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) ul {
	list-style: none;
	padding: 0;
}

#pre-footer .reassurances {
    display: grid;
    justify-content: space-around;
    align-items: center;
    gap: var(--spacing-lg);
    padding: var(--spacing-md) var(--spacing-xl);
}

@media (min-width: 1121px) {
    .reassurances {
        grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
    }
}
@media (max-width: 1120px) {
    .reassurances {
        grid-template-columns: repeat(auto-fit, minmax(75px, 1fr));
    }

    #wrapper_body .section_contact .block_infos {
        order: 2;
        text-align: center;
    }

    #wrapper_body .section_contact .block_infos .elementor-widget-heading {
        justify-content: center;
    }
}

#pre-footer .reassurances .reassurance {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xs);
}

#pre-footer .reassurances .reassurance .inodia-icons {
    font-size: 32px;
    color: var(--primary-color);
}

#pre-footer .reassurances .reassurance > p {
    color: var(--strong-color);
    font-family: var(--font-text);
    font-size: var(--text-size-small);
    font-weight: var(--font-weight-medium);
    line-height: 1.1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}




/* FOOTER CONTENT */
#footer-content {
	padding-block: var(--spacing-3xl);
}

#footer-content > .container {
    color-scheme: dark;
}

#footer-content .column {
    display: flex;
    flex-flow: column;
    gap: var(--spacing-md);
}

#footer-content .widget-title {
    margin-bottom: var(--spacing-md);
}

#footer-content .column .footer-column-images {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: var(--spacing-sm);
}



#footer-content a {
    display: table;
}

#footer-content li.bouton a {
    display: flex;
}

#footer-content p a {
    display: inline;
}

#footer-content .widget_media_image a:focus:focus-visible {
    outline-color: var(--title-color) !important;
}

#footer-content a img {
    aspect-ratio: var(--logo-ratio);
    width: auto;
    height: 109px;
}

#footer-content ul {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: var(--spacing-sm) 1ch;
}

#footer-content .widget-title {

}

:is(#pre-footer, #footer-content) ul li a {
    line-height: 1.3;
}


/* POST FOOTER */
#post-footer .container {
    color-scheme: dark;
    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 ---------*/


/*--HEADER--*/

body.home .header-nav > .container{
    margin-top: var(--spacing-sm);
    position: absolute;
    inset-inline: 0;
    background: var(--light-color);
    border-radius: var(--border-radius);
    padding: var(--spacing-2xs) var(--spacing-md);
}

/*--CONTENT--*/


.flower::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1;
    width: 12.4%;
    background: var(--flower);
    display: flex;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, 50%);
}

.hero-section {
    padding-block: calc(var(--spacing-4xl) * 1.95) !important;
    z-index: 1;
}

.hero-section::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(180deg, var(--dark-color), 0%, rgba(3, 26, 38, 0.00) 50%), var(--dark-color);
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
    pointer-events: none;
}

.hero-section > .elementor-container,
.hero-section > .elementor-container > .elementor-column,
.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: static;
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding-block: calc(var(--spacing-4xl) * 2.4);
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading {
    width: min(100%, 80rem);
    z-index: 1;
    color-scheme: dark;
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-button {
    z-index: 1;
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image {
    overflow: hidden;
    opacity: 0.55;
    position: absolute;
    inset: 0;
    margin-block-start: 0 !important;
    pointer-events: none;
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image::before {
    opacity: 0.5;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    aspect-ratio: 1;
    width: 14.1%;
    background: var(--flower);
    display: flex;
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: multiply;
    transform: translate(25%, 55%);
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image::after {
    opacity: 0.5;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio: 1;
    width: 15.5%;
    background: var(--flower);
    display: flex;
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: multiply;
    transform: translate(30%, 40%);
}

.hero-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}




/*--------- HÉBERGEMENTS ---------*/

.slider-hebergements .tease-term-hebergement {
    position: relative;
    aspect-ratio: 500 / 640;
    min-height: 400px;
    padding: var(--spacing-md);
    justify-content: flex-end;

    border-radius: var(--border-radius);
    background: lightgray 0.478px 0px / 138.122% 100%;
    box-shadow: 0 16px 32px -12px rgba(3, 26, 38, 0.40);
}

.slider-hebergements .tease-term-hebergement > picture {
    position: absolute;
    inset: 0;
}
.slider-hebergements .owl-item:not(:first-child, :last-child) .tease-term-hebergement {
    z-index: 2;
}


.slider-hebergements .tease-term-hebergement >  picture > img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    border-radius: var(--border-radius);
}



#wrapper_body .slider-hebergements .tease-term-hebergement >  .description {
    z-index: 1;
    flex-grow: unset;
    background-color: var(--background-lighter);
    padding: var(--spacing-2xs) var(--spacing-sm);
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: var(--border-radius);
}

#wrapper_body .slider-hebergements .tease-term-hebergement >  .description > .tease__button {
    width: 100%;
    margin-block-start: 0;
    justify-content: space-between;
}

#wrapper_body .slider-hebergements .tease-term-hebergement > .description > .tease__button > p {
    color: var(--title-color);
    font-family: var(--font-text);
    font-size: var(--text-size-big);
    font-weight: var(--text-weight-medium);
    line-height: 1.1;
    letter-spacing: 0.025em;
}


/*--------- ARCHIVE HÉBERGEMENTS ---------*/

#wrapper_body .tease.tease-hebergements {
    gap: var(--spacing-xs);
    background-color: var(--background-lighter);
    box-shadow: 0 4px 7px 0 rgba(38,44,17,.15);
    border-radius: var(--border-radius);
    padding: var(--spacing-lg);
}

#wrapper_body .tease.tease-hebergements .tease__title {
    order: 1;
}

#wrapper_body .tease.tease-hebergements .carousel-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    order: 2;
}

#wrapper_body .tease.tease-hebergements .tease__description {
    order: 3;
}

#wrapper_body .tease.tease-hebergements .carousel-container .owl-carousel .owl-item img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    max-height: 600px;
    border-radius: var(--border-radius);
}


#wrapper_body .tease.tease-hebergements .badges {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-2xs);
    margin-block: var(--spacing-xs);
}

#wrapper_body .tease.tease-hebergements .badges .badge {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--spacing-3xs);
    align-items: center;
    border: 1px solid var(--primary-color);
    border-radius: var(--border-radius);
    padding: var(--spacing-2xs);
}

#wrapper_body .tease.tease-hebergements .badges .badge i {
    color: var(--primary-color);
    font-size: var(--text-size-big);
}



#wrapper_body .tease.tease-hebergements .rubrique {
    display: flex;
    flex-direction: row;
    gap: var(--spacing-md);
}

#wrapper_body .tease.tease-hebergements .rubrique .rubrique-title {
    color: var(--primary-color);
    font-weight: var(--text-weight-bold);
    max-width: 125px;
    width: 100%;
}

#wrapper_body .tease.tease-hebergements .rubrique-list-title {
    font: var(--text-weight-normal) var(--h3-font-size)/1.1 var(--font-title) !important;
    color: var(--title-color);
}

#wrapper_body .tease.tease-hebergements .rubrique-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    margin-bottom: var(--spacing-xs);
}

#wrapper_body .tease.tease-hebergements .rubrique-list .rubrique-content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--spacing-xs);
}

#wrapper_body .tease.tease-hebergements .rubrique-list .rubrique-content > i:first-child {
    border: 1px solid var(--primary-color);
    border-radius: 100%;
    padding: 5px;
}

#wrapper_body .tease.tease-hebergements .rubrique-list .rubrique-content > i {
    font-size: var(--text-size-big);
    color: var(--primary-color);
}

#wrapper_body .tease.tease-hebergements em {
    display: block;
    margin-top: var(--spacing-sm);
}

/*--------- ACTUALITÉS ---------*/




/*--------- SINGLE ACTUALITÉ ---------*/
.single #wrapper_body #content {
    display: flex;
    flex-flow: column;
    gap: var(--spacing-4xl);
}

/*--------- SERVICES ---------*/

.section-map .elementor-widget-image {
    display: flex;
    justify-content: center;
}

.section-map .elementor-widget-button {
    margin-top: var(--spacing-md);
}

/*--------- TOURISME ---------*/

.block_brochure .elementor-widget-wrap:has(> .elementor-widget-button + .elementor-widget-button) {
    display: flex;
    flex-direction: row;
    gap: var(--spacing-xs) var(--spacing-lg);
}

.block_brochure .elementor-widget-wrap:has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button {
    width: auto;
}

/*.swiper-slide {*/
/*    max-height: 700px;*/
/*}*/


#wrapper_body .section_tourisme  .elementor-widget-testimonial-carousel .swiper-slide {
    background: var(--background-lighter);
    border-radius: var(--border-radius);
    box-shadow: 0 12px 24px -8px rgba(3, 26, 38, 0.12);
}

.section_tourisme .swiper-slide .elementor-testimonial__content {
    display: flex;
    padding: var(--spacing-md);
    flex-direction: column;
}

.section_tourisme .swiper-slide .elementor-testimonial__content .elementor-testimonial__text {
    order: 2;
}

.section_tourisme .swiper-slide .elementor-testimonial__content .elementor-testimonial__cite {
    order: 1;
    margin-top: var(--spacing-xs);
    font-style: normal;
}

.section_tourisme .swiper-slide .elementor-testimonial__content .elementor-testimonial__cite .elementor-testimonial__title {
    color: var(--title-color) !important;
    font: var(--text-weight-medium) var(--h3-font-size) / 1.1 var(--font-text) !important;
    letter-spacing: -0.01em;
}

.section_tourisme .swiper-slide .elementor-testimonial__footer {
    margin-bottom: 0;
}

.section_tourisme .swiper-slide .elementor-testimonial__footer .elementor-testimonial__image {
    width: 100%;
    height: 100%;
    aspect-ratio: 480/360;
}

.section_tourisme .swiper-slide .elementor-testimonial__footer .elementor-testimonial__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}


.section_loisir .elementor-widget-wrap {
    --_card-min-size: 24rem;
    display: grid !important;
    gap: var(--items-gap);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--_card-min-size)), 1fr));
}

.section_loisir .card_loisir {
    background: var(--background-lighter);
    box-shadow: 0 12px 24px -8px rgba(3, 26, 38, 0.12);
    text-align: left;
    border-radius: var(--border-radius)
}

.section_loisir .card_loisir .elementor-image-box-wrapper {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.section_loisir .card_loisir .elementor-image-box-wrapper .elementor-image-box-img {
    /*aspect-ratio: 480/360;*/
    border-radius: var(--border-radius);
    width: 100%;
 }

.section_loisir .card_loisir .elementor-image-box-wrapper .elementor-image-box-img img {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
 }

.section_loisir .card_loisir .elementor-image-box-img + .elementor-image-box-content {
    margin-top: var(--spacing-xs);
    padding: var(--spacing-md);
 }

.section_loisir .card_loisir .elementor-image-box-title {
    text-transform: uppercase;
    margin-block-end: var(--spacing-md);
 }

.section_loisir .card_loisir .elementor-image-box-description {
    text-align: left;
 }



/*--------- 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);
}

#wrapper_body .section_contact .block_infos .elementor-widget-text-editor + .elementor-widget-heading {
    border-block-start: var(--border-width) solid var(--shadow-color);
    padding-block-start: var(--spacing-lg);
}

#wrapper_body .section_contact .block_form.fond {
    padding: var(--spacing-md);
    border-radius: var(--border-radius);
    box-shadow: 0 12px 24px -8px rgba(3, 26, 38, 0.12);
}

#wrapper_body .section_contact .block_form .elementor-field-group.elementor-field-type-submit {
    margin-top: var(--spacing-xs) !important;
}



#wrapper_body .section_google_maps iframe {
    min-height: 700px;
}

/* 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);
}

#wrapper_body .elementor-widget-form .elementor-field-group-rgpd {
	margin-block-end: 0 !important;
}




 
/* ----------------------------------- */
/*
/* ----------- RESPONSIVE ------------ */
/*
/* ----------------------------------- */

/* 1281px */
@media screen and (min-width: calc(80rem + 1px)) {
	
    .show-inodia-menu {
		display: none !important;
	}
    
	
    /*----- HEADER -----*/	
    /* HEADER MOBILE */    
    #header > .header-nav {
        pointer-events: none;
    }
    
    #header .container .logo,
    #header #nav-main-desktop > ul > li {
        line-height: 1;
        pointer-events: initial;
    }
}



/* 1280px */
@media screen and (max-width: 80rem) {
    
	.hide-inodia-menu {
		display: none !important;
	}
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul,
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul li {
        display: flex;
        flex-flow: column;
        line-height: 1;
    }


    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul li > :is(a[aria-expanded="false"], .ino-nav-wrapper-link:has(button[aria-expanded="false"])) ~ .ino-nav-menu-list {
        display: none;
    }

    #wrapper_body .ino-modal .ino-nav-mobile-menu.center,
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul > :is(li.menu-item-has-children > a[href="#"], li.menu-item-has-children:has(> a:not([href="#"])) > .ino-nav-wrapper-link) {
        justify-content: center;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu.center ul,
    #wrapper_body .ino-modal .ino-nav-mobile-menu.center ul li {
        align-items: center;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu.center ul li a {
        text-align: center;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-1 {
        gap: var(--spacing-xl);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-2 {
        gap: var(--spacing-md);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-3 {
        gap: var(--spacing-sm);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-1 > li {
        gap: var(--spacing-md) var(--spacing-2xs);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-2 > li {
        gap: var(--spacing-sm) var(--spacing-2xs);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-3 > li {
        gap: var(--spacing-xs) var(--spacing-2xs);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-1 > li:not(:last-child) > :is(a[href="#"], .ino-nav-menu-list) > ul.ino-nav-sub-menu {
        margin-block-end: var(--spacing-sm);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-2 > li:not(:last-child) > :is(a[href="#"], .ino-nav-menu-list) > ul.ino-nav-sub-menu {
        margin-block-end: var(--spacing-2xs);
    }

    #wrapper_body .ino-modal .ino-nav-menu-list .ino-nav-menu.bouton a {
        font-size: var(--text-size-big);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu :is(ul > li.menu-item-has-children > a[href="#"], ul > li > .ino-nav-wrapper-link) {
        display: flex;
        align-items: center;
        gap: var(--spacing-2xs);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul > li.menu-item-has-children > a[href="#"]::after {
        content: "\e900";
        font: var(--font-icon) !important;
        letter-spacing: 0 !important;
        text-transform: lowercase !important;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-2 > li > a::after,
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul.level-2 > li > .ino-nav-wrapper-link > button i {
        font-size: var(--text-size-small) !important;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul > li > a[aria-expanded="true"]::after,
    #wrapper_body .ino-modal .ino-nav-mobile-menu ul > li > .ino-nav-wrapper-link > button[aria-expanded="true"] i {
        display: block;
        rotate: 180deg;
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu :is(ul.level-1 > li > a, ul.level-1 > li > div > a) {
        font: var(--text-weight-bold) var(--h4-font-size)/1.1 var(--font-text);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu :is(ul.level-2 > li > a, ul.level-2 > li > div > a) {
        color: var(--strong-color);
        font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
    }
    
    #wrapper_body .ino-modal .ino-nav-mobile-menu :is(ul.level-3 > li > a, ul.level-3 > li > div > a) {
        color: var(--text-color);
        font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
    }
}

@media screen and (min-width: calc(70rem + 1px)) {
    .slider-hebergements .owl-item:first-child .tease-term-hebergement {
        transform: rotate(-8deg);
        transform-origin: 100% 50%;
        z-index: 1;
    }

    .slider-hebergements .owl-item:last-child .tease-term-hebergement {
        transform: rotate(8deg);
        transform-origin: 0% 50%;
        z-index: 3;
    }


    #wrapper_body .tease.tease-hebergements {
        gap: var(--spacing-xs) var(--spacing-lg);
        display: grid;
        grid-template-columns: minmax(0, 0.66fr) minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        grid-template-areas:
            "carousel title"
            "carousel description";
    }

    #wrapper_body .tease.tease-hebergements:nth-of-type(even) {
        grid-template-areas:
        "title carousel"
        "description carousel";
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.66fr);
    }

    #wrapper_body .tease.tease-hebergements .carousel-container {
        grid-area: carousel;
        order: unset;
    }

    #wrapper_body .tease.tease-hebergements .tease__title {
        grid-area: title;
        order: unset;
    }

    #wrapper_body .tease.tease-hebergements .tease__description {
        grid-area: description;
        height: 100%;
        order: unset;
    }
}

/* 720px */
@media screen and (max-width: 45rem) {    
	
    /*----- HEADER -----*/
    #header {
		position: relative;
		z-index: 1000;
	}
    
    @media (prefers-reduced-motion: no-preference) {
        
        #header {
		    transition: all .75s cubic-bezier(0.85, 0.09, 0.15, 0.91);
        }
    }
    
	#header.show {
    	width: 100%;	    
		position: sticky;
		inset: var(--header-height) auto auto 0;
		z-index: 1000;
	}
	
	#header.sticky.show {
		inset: var(--banner-height) auto auto 0;
	}
	
	#header.hide {
		translate: initial !important;
	}
    
    #wrapper_body:has(#header.sticky.show) .ino-modal .ino-modal-close {
        inset: calc(var(--padding-header) + (var(--logo-height) / 2)) 0 auto auto;
    }
}



/* 576px */
@media screen and (max-width: 36rem) {
    
    #wrapper_body .elementor-message::before {
        display: none;
    }

    #wrapper_body .tease.tease-hebergements {
        padding: var(--spacing-xs);
    }

    #wrapper_body .tease.tease-hebergements .badges .badge {
        padding: var(--spacing-4xs);
    }

    #wrapper_body .tease.tease-hebergements .rubrique {
        flex-direction: column;
        gap: 0;
        margin-bottom: var(--spacing-xs);
    }

    #wrapper_body .tease.tease-hebergements .rubrique .rubrique-title{
        margin-block-end: var(--spacing-4xs);
    }

    /*----- 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;
	}
}



/* 481px */
@media screen and (min-width: calc(30rem + 1px)) {
    
    #btn_form,
    .bouton:not(.tertiary, .link, .icon, .menu-item) a,
    .bouton:not(.tertiary, .link, .icon, .menu-item):is(a, button) {
        min-width: 9rem;
    }
}



/* 480px */
@media screen and (max-width: 30rem) {
        
    input:is([type="text"],[type="email"],[type="number"],[type="tel"]), 
    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,
    .boutons .bouton:not(.link, .icon),
    .bouton:not(.link, .icon),
    .bouton:not(.link, .icon) a,
    .mgbutton:not(.moove-gdpr-infobar-reject-btn) {
        width: 100% !important;
    }
    
    #btn_form,
    .bouton:not(.link, .icon, .calendar, :has(i)) a,
    .bouton:not(.link, .icon, .calendar, :has(i)):is(a, button),
    .bouton:not(.link, .icon, .download, :has(i)) a,
    .bouton:not(.link, .icon, .download, :has(i)):is(a, button),
    .mgbutton:not(.moove-gdpr-infobar-reject-btn) {
        padding: var(--spacing-xs);
    }
    
    .bouton:is(.calendar, :has(i)) a,
    .bouton:is(.calendar, :has(i)):is(a, button),
    .bouton:is(.download, :has(i)) a,
    .bouton:is(.download, :has(i)):is(a, button) {
        padding: var(--spacing-xs) calc(var(--spacing-xs) * 2);
    }
    
    #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, .elementor-background-overlay, .elementor-shape) {
        padding-inline: 0;
    }
    
    #wrapper_body .elementor-top-section.fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .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, .elementor-background-overlay, .elementor-shape) {
        border-radius: 0;
    }
    
    
    /*----- FOOTER -----*/
    #footer-content .container .widget-title {
        text-align: center;
    }

    #footer-content .container .column ul {
        align-items: center;
    }

    #footer-content .column .footer-column-images {
        justify-content: center;
    }

    #footer-content .container .column .widget_media_image {
        display: flex;
        justify-content: center;
    }

    #footer-content .container .column .widget_text {
        display: flex;
        flex-flow: column;
        align-items: center;
    }
    
    #footer-content .container .column .widget_text * {
        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;
	}
}


