/*
* Theme Name: Inodia
* Description:
* Author: Vincent Michelet - Inodia
* Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

@layer init, third-party, variables, reset, core, structure, components, utility;

@font-face {
	font-family: 'inodia-icons';
	src: url('./static/fonts/inodia-icons.woff2');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@layer variables {
	
	:root {
		color-scheme: light dark;
		
		--border-radius: .625rem;
		--border-width: 1px;
		--outline-width: 2px;
		
		--wrapper-size: 102.5rem;
		--wrapper-size-small: 60rem;
		--wrapper-size-mobile: 90%;
		--sidebar-width: 18rem;
		--items-margin: clamp(.5rem, .125rem + 1.875vw, 2rem);
		--items-gap: calc(var(--items-margin) * 3) var(--items-margin);
		--items-min-size: 18rem;
		
		--logo-ratio: 141 / 84;
		--logo-height: clamp(2.5rem, 1.833rem + 3.333vw, 5.25rem);
		--padding-header: clamp(1rem, .75rem + 1.25vw, 2rem);
		
		--dark-color: oklch(0.0846 0 0);
		--light-color: oklch(100% .00011 271.152);
		
		--primary-color: light-dark(oklch(0.7667 0.0872 337.57), oklch(0.7667 0.0872 337.57));
		--primary-hover-color: light-dark(oklch(0.635 0.1271 339), oklch(0.635 0.1271 339));
		--primary-active-color: light-dark(oklch(from var(--primary-color) calc(l * .4) c h), oklch(from var(--primary-color) calc(l * 1.6) c h));

		--alert-danger-color: light-dark(oklch(58.59% .21458 24.279), oklch(70.919% .13936 17.357));
		--alert-success-color: light-dark(oklch(69.389% .13104 154.452), oklch(82.307% .1478 154.918));
		--alert-info-color: light-dark(oklch(62.31% .1881 259.83), oklch(80.61% .08979 260.028));
		
		--background-color: light-dark(var(--light-color), var(--dark-color));
		--background-alt-color: color-mix(in oklab, var(--background-color), var(--title-color) 5%);
		
		--border-color: var(--muted-color);
		--border-hover-color: var(--text-color);
		--border-focus-color: var(--primary-color);
		
		--title-color: light-dark(var(--dark-color), var(--light-color));
		--strong-color: oklch(from var(--title-color) l c h / .85);
		--text-color: oklch(from var(--title-color) l c h / .85);
		--muted-color: oklch(from var(--title-color) l c h / .6);
		--outline-color: oklch(from var(--title-color) l c h / .3);
		--shadow-color: oklch(from var(--title-color) l c h / .15);
		
		--font-title: "Raleway", sans-serif;
		--font-text: var(--font-title);
		--font-icon: normal 400 var(--text-size-normal)/1 "inodia-icons";
		--line-height: 1.618;
		--letter-spacing: 0;
		
		--text-size-h1: clamp(2.5rem, 1.893rem + 3.030vw, 5rem);
		--text-size-h2: clamp(2rem, 1.625rem + 1.875vw, 3.5rem);
		--text-size-h3: clamp(1.5rem, 1.375rem + .625vw, 2rem);
		--text-size-h4: clamp(1.25rem, 1.1875rem + .3125vw, 1.5rem);
		--text-size-big: clamp(1rem, .95rem + .25vw, 1.25rem);
		--text-size-normal: 1rem;
		--text-size-small: .75rem;
		
		--text-weight-normal: 300;
		--text-weight-medium: 500;
		--text-weight-bold: 700;
		
		--spacing-4xs: .25rem;
		--spacing-3xs: .5rem;
		--spacing-2xs: .75rem;
		--spacing-xs: 1rem;
		--spacing-sm: clamp(1rem, .875rem + .625vw, 1.5rem);
		--spacing-md: clamp(1.5rem, 1.375rem + .625vw, 2rem);
		--spacing-lg: clamp(2rem, 1.75rem + 1.25vw, 3rem);
		--spacing-xl: clamp(2.5rem, 2.125rem + 1.875vw, 4rem);
		--spacing-2xl: clamp(3rem, 2.25rem + 3.75vw, 6rem);
		--spacing-3xl: clamp(4rem, 3rem + 5vw, 8rem);
		--spacing-4xl: clamp(5rem, 3.75rem + 6.25vw, 10rem);
		--columns-gap: 9%;
		
		--box-shadow: 0 16px 24px -16px var(--shadow-color);
		
		--transition-default: all .3s ease-in-out, outline .1s ease-in-out;
	}
	
	@media (prefers-contrast: more) {
	
		:root {
			--border-color: var(--title-color);
			--border-hover-color: var(--title-color);    
			--text-color: var(--title-color);
			--strong-color: var(--title-color);
			--muted-color: var(--title-color);
			--outline-color: var(--title-color);
		}
	}
	
	.inodia-icons.icon-burger:before {
		content: "\e90c" / "";
	}
	:where(.inodia-icons.icon-cross, .moovegdpr-arrow-close):before {
		content: "\e90b" / "";
	}
	.inodia-icons.icon-play:before,
	.bouton-icon.icon-play a > span:before {
		content: "\e90a" / "";
	}
	.inodia-icons.icon-linkedin:before {
		content: "\e909" / "";
	}
	.inodia-icons.icon-instagram:before {
		content: "\e908" / "";
	}
	.inodia-icons.icon-facebook:before {
		content: "\e907" / "";
	}
	.inodia-icons.icon-checkmark:before {
		content: "\e906" / "";
	}
	.inodia-icons.icon-download:before,
	.bouton-download a > span:before,
	.bouton-download:is(a, button):before {
		content: "\e905" / "";
	}
	.inodia-icons.icon-upload:before {
		content: "\e904" / "";
	}
	:where(.inodia-icons.icon-arrow_left, .owl-prev):before,
	.elementor-swiper-button-prev i:before {
		content: "\e903" / "";
	}
	:where(.inodia-icons.icon-arrow_right, .owl-next):before,
	.elementor-swiper-button-next i:before {
		content: "\e902" / "";
	}
    details[open] summary::after,
	.inodia-icons.icon-arrow_up:before {
		content: "\e901" / "";
	}
    details:not([open]) summary::after,
	.inodia-icons.icon-arrow_down:before {
		content: "\e900" / "";
	}
}

@layer utility {

    :is(.bouton-icon, .bouton-link-icon) span span,
    :is(.sr-only, .gdpr-sr-only, .gdpr-sr-label, .elementor-field-type-upload > input) {
        border: 0;
        clip: inset(50%);
        inline-size: 1px;
        block-size: 1px;
        margin: -1px;
        padding: 0;
        white-space: nowrap;
        overflow: clip;
        position: absolute;
    }

    .skip-link {
        --_btn-color: var(--alert-info-color);
        background: var(--_btn-color);
        color: var(--background-color);
        padding-block: var(--spacing-4xs);
        padding-inline: var(--spacing-3xs);
        position: fixed;
        inset-block-start: 0;
        inset-inline: 0;
        z-index: 50000;
    }

    .skip-link::after,
    .elementor-maintenance-mode :where(header, footer, .breadcrumb) {
        display: none;
    }

    .skip-link:not(:focus-visible) {
        translate: 0 -150%;
    }
    
    .elementor-message {
        background: oklch(from currentColor l c h / .1);
        border: var(--border-width) solid oklch(from currentColor l c h / .15);
        border-radius: clamp(0rem, var(--border-radius) / 2, .5rem);
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
        padding-block: var(--spacing-2xs);
        padding-inline: calc(var(--spacing-2xs) * 2);
        margin-block: var(--spacing-sm) 0;
    }

    .elementor-message-success {
        color: var(--alert-success-color);
    }

    .elementor-message-danger {
        color: var(--alert-danger-color);
    }

    .bouton:disabled {
        background: var(--shadow-color);
        border-color: transparent;
        color: var(--muted-color);
        cursor: not-allowed;
    }

    @container viewport (70rem < inline-size) {

        .show-inodia-tablet {
            display: none;
        }
    }

    @container viewport (inline-size <= 70rem) {

        .hide-inodia-tablet {
            display: none;
        }
    }

    @container viewport (45rem < inline-size) {
        
        .show-inodia-mobile {
            display: none;
        }
    }

    @container viewport (inline-size <= 45rem) {

        .hide-inodia-mobile {
            display: none;
        }
    }
}

@layer init {

    *, ::after, ::before {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }
}

@layer reset {
    
    @view-transition {
        navigation: auto;
    }

    ::-webkit-scrollbar {
        background: var(--background-color);
        inline-size: 8px;
        block-size: 8px;
    }

    ::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: calc(var(--border-radius) / 4);
    }

    ::selection {
        background: var(--primary-hover-color);
        color: var(--background-color);
    }

    html:has(.light-scheme-color),
    :where(.light-scheme-color:not(.dark-default), .dark-scheme-color:not(.light-default)) .clair,
    .dark-scheme-color.light-default .fonce,
    .dark-scheme-color :is(.gdpr_infobar_postion_bottom, .gdpr_lightbox),
    .light-scheme-color :is(.gdpr_infobar_postion_bottom > div, .gdpr_lightbox > div) {
        color-scheme: light;
    }

    html:has(.dark-scheme-color),
    :where(.dark-scheme-color:not(.light-default), .light-scheme-color:not(.dark-default)) .fonce,
    .light-scheme-color.dark-default .clair,
    .light-scheme-color :is(.gdpr_infobar_postion_bottom, .gdpr_lightbox),
    .dark-scheme-color :is(.gdpr_infobar_postion_bottom > div, .gdpr_lightbox > div) {    
        color-scheme: dark;
    }

    .light-default.dark-scheme-color :is(.header__logo, .moove-gdpr-company-logo-holder) img {
        filter: brightness(10);
    }

    .dark-default.light-scheme-color :is(.header__logo, .moove-gdpr-company-logo-holder) img {
        filter: brightness(0);
    }

    :is(html, body) {
        background: var(--background-color);
        block-size: auto;
        min-block-size: fill-available;
        min-block-size: -webkit-fill-available;
    }

    html {
        scroll-padding: var(--spacing-lg);
        container: viewport / inline-size;
        overflow: auto;
        -webkit-font-smoothing: antialiased;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
    }

    @media (prefers-reduced-motion: no-preference) {

        html {
            scroll-behavior: smooth;
			interpolate-size: allow-keywords;
        }
    }

    @-moz-document url-prefix() {
        
        html {
            scrollbar-color: var(--primary-color) var(--background-color);
            scrollbar-width: thin;
        }
    }

    body {
        display: flex;
        flex-flow: column;
        inline-size: 100%;
        max-inline-size: 100%;
        min-block-size: 100vh;
        overflow: clip;
        text-wrap: pretty;
        position: relative;
    }

    main {
        flex-grow: 1;
    }

    :where(p, li, time, span, small, strong, address, .elementor-testimonial-job) {
        color: var(--text-color);
        font-family: var(--font-text);
    }

    :is(p, li, time, span, strong) {
        line-height: var(--line-height);
    }

    :where(p, li, time, span, small, .elementor-blockquote__content) {
        font-weight: var(--text-weight-normal);
    }

    :where(p, li, time, span, small, figcaption, .elementor-message, .tease__title, .tease__excerpt, .post-footer-link, .elementor-testimonial-job) {
        letter-spacing: var(--letter-spacing);
    }

    .elementor-blockquote__content {
        font-style: italic;
        margin-block-start: 0;
    }
    
    :is(b, strong) {
        color: var(--strong-color);
        font-weight: var(--text-weight-bold);
    }

    p:not(:last-child, .h1, .h2, .h3, .h4, .label, .reset-margin) {
        margin-block-end: .75lh;
    }

    p:not(.h1, .h2, .h3, .h4, .label):last-child {
        margin-block-end: 0;
    }

    :where(small, .message-rgpd) {
        font-size: var(--text-size-small);
    }
    
    :is(address, small) {
        line-height: 1.3;
    }

    address {
        font-style: normal;
    }

    address a:not(:first-child) {
        margin-block-start: var(--spacing-xs);
    }

    :is(li, summary) {
        list-style: none;
    }

    button:not(:where(.elementor-add-section-area-button, .elementor-add-section-close)) {
        all: unset;    
        box-sizing: border-box;
    }

    button {
        text-align: center;
    }

    :is(a, input, button, select, textarea, summary) {
		-webkit-tap-highlight-color: transparent;
        outline: none;
        transition: var(--transition-default);
    }

    :is(a, button, select, [type=submit]) {
        appearance: none;
        cursor: pointer;
        touch-action: manipulation;
    }

    a {
        text-decoration: none;
    }

    a[href^="tel:"] {
        white-space: nowrap;
    }

    :where(iframe, dialog, input[type=file]:focus, input[type=checkbox], input[type=radio], [popover]) {
        border: none;
    }

    :where(a:not(.skip-link), button, [type=submit], summary):focus-visible,
    .elementor-field-label:has(+ .elementor-upload-field:focus-visible) {
        outline: var(--outline-width) solid var(--_btn-color, currentColor);
        outline-offset: calc(var(--outline-width) * 2);
    }
    
    :is(a, button, [type=submit]) i,
    :is(a, button, [type=submit]) span {
        color: inherit;
    }

	small,
    input ~ span em,
    :is(input, textarea)::placeholder {
        color: var(--muted-color);
    }

    input[type=search]::-webkit-search-decoration,
    input[type=search]::-webkit-search-cancel-button,
    input[type=search]::-webkit-search-results-button,
    input[type=search]::-webkit-search-results-decoration,
    input:is([type=checkbox], [type=radio]) {
        appearance: none;
    }

    textarea {
        resize: vertical;
	}

    :is(.elementor-field-type-checkbox, .elementor-field-type-radio) .elementor-field-subgroup {
        display: flex;
        flex-flow: row wrap;
        gap: calc(var(--spacing-2xs) * 2) var(--spacing-2xs);
    }

    :is(.elementor-field-type-checkbox, .elementor-field-type-radio)  .elementor-field-option {
        display: table;
    }
	
    :is(input[type=checkbox], input[type=radio], .elementor-field-type-checkbox, .elementor-field-type-radio) {
        --_input-size: var(--text-size-normal);
    }

    input:is([type=checkbox], [type=radio]) {
        background: transparent;
        border-radius: 50%;
        aspect-ratio: 1;
        inline-size: var(--_input-size);
        position: absolute;
        inset-block-start: 50%;
        translate: 0 -50%;
    }

    input:is([type=checkbox], [type=radio]) + label {
        cursor: pointer;
        display: flex;
        align-items: baseline;
        position: relative;
    }
	
    input:is([type=checkbox], [type=radio]) + label,
    input:is([type=checkbox], [type=radio]) + label::before,
    input:is([type=checkbox], [type=radio]) + label::after {
        transition: var(--transition-default);
    }

    input:is([type=checkbox], [type=radio]) + label::before,
    input[type=radio] + label::after {
        content: "";
        display: flex;
        aspect-ratio: 1;
        inline-size: var(--_input-size);
        position: relative;
        inset-block-start: 0;
    }

    input:is([type=checkbox], [type=radio]) + label::before {
        border: var(--border-width) solid var(--border-color);
        margin-inline-end: var(--spacing-3xs);
        outline-color: var(--outline-color);
    }

    input[type=checkbox]:focus:not(:focus-visible) + label::before {  
        box-shadow: 0 0 0 2px var(--shadow-color);
    }

    input:is([type=checkbox], [type=radio]):checked:focus-visible + label::before {    
        outline-color: oklch(from var(--primary-color) l c h / .3);
    }

    input[type=checkbox]:checked:focus:not(:focus-visible) + label::before {    
        box-shadow: 0 0 0 2px oklch(from var(--primary-color) l c h / .15);
    }

    input[type=checkbox] + label::before {
        background: transparent; 
        border-radius: clamp(0rem, var(--border-radius), .25rem);
    }

    input[type=checkbox] + label::after {
        content: "\e906" / "";
        color: var(--light-color);
        font: var(--font-icon);
        font-size: calc(var(--_input-size) / 2);
        letter-spacing: 0;
        position: absolute;
        inset-block-start: calc(var(--_input-size) / 2);
        inset-inline-start: calc(var(--_input-size) / 2);
        translate: -50%;
    }

    input[type=radio] + label::before,
    input[type=radio] + label::after {
        border-radius: 50%;
    }

    input:is([type=checkbox], [type=radio]):hover + label::before,
    input:is([type=checkbox], [type=radio]) + label:hover::before {
        border-color: var(--strong-color);
    }

    input[type=radio] + label::after {    
        border: .25rem solid var(--primary-color);
        position: absolute;
        inset-block-start: var(--spacing-4xs);
        inset-inline-start: 0;
    }

    input[type=radio]:checked + label::before {
        border-color: transparent;
    }

    input[type=radio]:not(:checked) + label::after {
        opacity: 0;
    }

    input[type=checkbox]:checked + label::before {    
        background: var(--primary-color);
        border-color: var(--primary-color);
    }

    :is(picture, figure, time, .elementor-widget-button) {
        display: flex;
    }

    :where(img, blockquote, .elementor-blockquote__content) {
        font-style: italic;
    }

    img {
        font-style: italic;
		line-height: normal;
        block-size: auto;
        max-inline-size: 100%;
        vertical-align: middle;
    }

	iframe {
		inline-size: 100%
	}

    blockquote {
        position: relative;
        padding-block: var(--spacing-xs);
        padding-inline: var(--spacing-md);
    }

	blockquote::before {
		content: open-quote;
	}
	
	blockquote::after {
		content: no-close-quote;
	}

    blockquote > * {
        font-style: inherit;
    }
	
	details::details-content {
		overflow: hidden;
		transition: all .3s ease-in-out;
		transition-behavior: allow-discrete;
	}
	
	details:not([open])::details-content {
		block-size: 0;
	}

    summary {
        display: flex;
        justify-content: space-between;
        gap: var(--spacing-xs);
    }

    summary::after {
        font-size: inherit;
    }

    [popover] {
        margin: auto;
    }

    [popover]:not(:popover-open, dialog[open]) {
        display: none;
    }

    dialog {
        max-inline-size: initial;
        max-block-size: initial;
    }

    :where(html:has(dialog[open]), .elementor-widget-open_street_map, .owl-carousel:not(.owl-loaded)) {
        overflow: hidden;
    }

    .inodia-icons :is(a, span),
    .bouton-icon a > span,
    :is(.inodia-icons, .owl-prev, .owl-next, .moovegdpr-arrow-close),
    :where(.elementor-select-wrapper, .elementor-accordion-title, summary)::after,
    :is(.elementor-swiper-button-prev, .elementor-swiper-button-next, .elementor-accordion-icon) i {
        font: var(--font-icon);
        letter-spacing: 0;
    }

    :is(.elementor-section, .elementor-container, .elementor-column, .ino-column, .elementor-select-wrapper, .elementor-widget-open_street_map) {
        position: relative;
    }

    .elementor-widget-testimonial-carousel .swiper-slide  {
        padding: 0;
    }
    
    :is(.elementor-field-group:last-child, .elementor-field-type-recaptcha_v3, .elementor-field-type-html:has(+ .elementor-field-type-recaptcha_v3), .elementor-testimonial-content, .elementor-testimonial__content) {
        margin: 0;
    }

    :is(.grecaptcha-badge, .select-caret-down-wrapper, .owl-nav.disabled, .owl-dots.disabled, .elementor-slideshow__footer),
    :is(.elementor-tab-content, .elementor-widget-text-editor) :is(br, *:empty),
    :where(.elementor-element-edit-mode, #elementor-add-new-section) li::before,
    :where(.elementor-text-editor, .elementor-field-type-upload > .file-loaded)::after {
        display: none;
    }

    :where(.elementor-widget-wrap, .elementor-widget-wrap > .elementor-element, .elementor-field-group) {
        inline-size: 100%;
    }

    :where(.elementor-main-swiper, .elementor-carousel-image) {
        height: auto;
    }

    .elementor-testimonial__cite span {
        display: block;
    }

    :is(.elementor-widget-image, .elementor-testimonial-wrapper, .moove-gdpr-tab-nav) {
        text-align: left;
    }

    .elementor-widget-open_street_map,
    .elementor-top-section:not(.full, .block, .section-hero, .section-cta) .elementor-widget-image:not(.contain) img {
        border-radius: var(--border-radius);
    }
    
    .elementor-widget-open_street_map {
        z-index: 0;        
    }
	
    .swiper:not(.swiper-initialized) .elementor-image-carousel {
        gap: 1rem;
    }

    .elementor-select-wrapper::after {
        content: "\e900" / "";
        font-size: var(--text-size-small);
		pointer-events: none;
		position: absolute;
        inset-block-start: 50%;
        inset-inline-end: var(--spacing-sm);
        translate: 0 -50% 0;
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}'] {
        background-position: 50%;
        background-size: cover;
    }

    .elementor-top-section[data-settings='{"background_background":"classic"}']:not(:has(.fond)) {
        border-image: fill 0 linear-gradient(oklch(from var(--dark-color) l c h / .5), oklch(from var(--dark-color) l c h / .5));
    }

    .elementor-field-group {
        margin-block-end: var(--spacing-xs);
    }
 
    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content),
    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4, p, em, li, span, strong) {
        background: transparent !important;
        color: var(--text-color) !important;
        font: var(--text-weight-normal) var(--text-size-normal)/var(--line-height) var(--font-text) !important;
        letter-spacing: var(--letter-spacing) !important;
        text-wrap: inherit !important;
        text-decoration: none !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content).text-big,
    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor).text-big :is(h1, h2, h3, h4, p, em, li, span, strong) {
        font-size: var(--text-size-big) !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor, .elementor-testimonial__text, .elementor-testimonial-content).text-small,
    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor).text-small :is(h1, h2, h3, h4, p, em, li, span, strong) {
        font-size: var(--text-size-small) !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) strong {
        color: var(--strong-color) !important;
        font-weight: var(--text-weight-bold) !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) em {
        font-style: italic !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) a * {
        color: inherit !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):not(:last-child) {
        margin-block-end: .75lh !important;
    }

    :is(.ino-text-field, .elementor-tab-content, .elementor-widget-text-editor) :is(h1, h2, h3, h4):last-child {
        margin-block-end: 0 !important;
    }
    
    .owl-stage-outer :is(.owl-stage, .item),
    :where(.owl-carousel:not(.owl-loaded), .owl-carousel > .item, .owl-nav, .owl-dots) {
        display: flex;
    }

    .owl-carousel > .item {
        flex: 0 0 auto;
        inline-size: calc(100% / var(--_owl-item));
    }

    .owl-stage-outer :is(.owl-stage, .item) {
        block-size: 100%;
    }

    .owl-stage-outer .owl-stage {
        align-items: stretch;
    }

    .owl-nav {
        align-items: center;
        justify-content: space-between;
        inline-size: var(--wrapper-size-mobile);
        position: absolute;
        inset: 50% auto auto 50%;
        translate: -50% -50%;
    }

    .owl-carousel.dots-inside,
    .owl-carousel.item-1 .owl-nav {
        color-scheme: dark;
    }

    :is(.owl-prev, .owl-next),
    :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) i {
        font-size: var(--text-size-h4);
        pointer-events: initial;
    }

    .owl-dots {
        justify-content: center;
        gap: var(--spacing-xs);
    }

    .owl-carousel.dots-inside {
        position: relative;
    }

    .owl-carousel.dots-inside .owl-dots {
        position: absolute;
        inset-block-end: var(--spacing-sm);
        inset-inline-end: 50%;
        translate: 50%;
    }
	
    .owl-carousel:not(.dots-inside) .owl-dots {
        margin-block-start: var(--spacing-lg);
    }

    .owl-dot {
        background: var(--outline-color);
        border-radius: 100%;
        aspect-ratio: 1;
        inline-size: .5rem;
    }

    .owl-dot.active {
        background: var(--title-color);
    }

    :is(.owl-prev, .owl-next).disabled {
        cursor: not-allowed;
        opacity: .5;
    }
    
    @container viewport (inline-size <= 70rem) {

        .owl-carousel.item-4 {
            --_owl-item: 3 !important;
        }
    }

	@container viewport (45rem < inline-size) {
		
	    .elementor-field-group.elementor-col-50 {
	        inline-size: 50%;
	    }
	}
	
    @container viewport (inline-size <= 45rem) {
        
        .owl-carousel:is(.item-4, .item-3) {
            --_owl-item: 2 !important;
        }

        .elementor-field-group:not(.elementor-field-group-rgpd) {
            margin-block-end: var(--spacing-3xs);
        }
    }    

    @container viewport (36rem < inline-size) {

        .owl-carousel:not(.item-1) > .item {
            padding-block: 0;
            padding-inline: 1rem;
        }
    }

    @container viewport (inline-size <= 36rem) {

        .owl-carousel:is(.item-4, .item-3, .item-2) {
            --_owl-item: 1 !important;
        }

        .elementor-message::before {
            display: none;
        }
    }

    @container viewport (30rem < inline-size) {
    
        .label-hide,
        .elementor-field-group:not(.elementor-field-type-upload, .elementor-field-type-select, .elementor-field-type-checkbox, .elementor-field-type-radio) > .elementor-field-label {
            display: none;
        }
    }

    @container viewport (inline-size <= 30rem) {

        .label-hide + div :is(input, textarea)::placeholder,
        .elementor-field-group :is(input, textarea)::placeholder {
            color: transparent;
        }
        
        .elementor-field-group:not(.elementor-field-group-rgpd) {
            margin-block-end: var(--spacing-sm);
        }
        
        .elementor-field-group:not(:first-child, .elementor-field-type-upload) .elementor-field-label {
            margin-block-start: var(--spacing-3xs);
        }
    }
}

@layer structure {

    .header-absolute:not(.header-absolute-home) + main,
    .home .header-absolute-home + main {
        margin-block-start: calc((var(--logo-height) + (var(--padding-header) * 2)) * -1);
    }
    
    figcaption,
    .center:not(.owl-item) :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
    .center:not(.owl-item):where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
    .center:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
        align-items: center;
        text-align: center;
        text-wrap: balance;
    }

    .posts-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--items-min-size)), 1fr));
        gap: var(--items-gap);
    }
  
    .container,
    :is(.ino-section-boxed, .elementor-section-boxed) > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
        margin-inline: auto;
    }

    :is(.ino-section-boxed, .elementor-section-boxed).container-small > :is(.ino-container, .elementor-container) {
        inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size-small));
    }

    .container .container.container-small {
        inline-size: min(100%, var(--wrapper-size-small));
    }

    :where(.elementor-top-section > .elementor-container, .ino-top-section > .ino-container) {
        display: flex;
        flex-flow: row;
        gap: calc(var(--spacing-4xl) * .66) var(--columns-gap);
    }

    :is(.elementor-section, .ino-section):not(.ino-grid).full :is(.elementor-container, .ino-container) {
        gap: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape),
    :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        border-radius: clamp(0rem, var(--border-radius), clamp(4rem, 3rem + 5vw, 8rem));
        overflow: clip;
    }

    .ino-col-txt,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:not(:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child), .ino-grid) > .elementor-widget-wrap,
    .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-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child), .ino-grid) > .elementor-widget-wrap {
        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    .ino-col-img :is(.owl-carousel, .owl-stage-outer, .owl-stage, .owl-item, .item, [ino-lightbox], figure, picture, img),
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) :is(.elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image-carousel-wrapper, .elementor-image-carousel, figure, picture, img),
    .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-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) :is(.elementor-widget-wrap, .elementor-widget-image, .elementor-widget-image-carousel, .elementor-widget-container, .elementor-image-carousel-wrapper, .elementor-image-carousel, figure, picture, img) {
        inline-size: 100%;
        block-size: 100%;
    }

    iframe,
    .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
    .elementor-top-section:not(.section-hero):has(.elementor-column:not(.elementor-col-100, .absolute) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
    .elementor-top-section:not(.section-hero):has(.elementor-column:not(.elementor-col-100, .absolute) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child:not(.contain)) img {
        border-radius: var(--border-radius);
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:only-child) .elementor-top-column:has(.elementor-widget-image:only-child) picture,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) .elementor-widget-image:first-child + .bouton-icon:last-child) .elementor-top-column:has(.elementor-widget-image:first-child + .bouton-icon:last-child) picture {
        position: relative;
        z-index: 1;
    }

    .ino-col-img:not(.contain) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .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-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) img {
        object-fit: cover;
    }

    .ino-txt-img.full .ino-col-img img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) img,
    .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-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img {
        border-radius: 0;
    }

    .ino-col-img.contain img,
    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img,
    .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-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) :is(.elementor-widget-image, .elementor-widget-image-carousel).contain img {
        object-fit: contain;
        z-index: 1;
    }

    .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image:first-child, .elementor-widget-image.elementor-element-edit-mode:nth-child(2)) + .bouton-icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image:first-child, .elementor-widget-image.elementor-element-edit-mode:nth-child(2)) + .bouton-icon:last-child) .bouton-icon {
        color-scheme: dark;
        display: table;
        inline-size: auto;
        block-size: auto;
        position: absolute;
		inset: 50% auto auto 50%;
        translate: -50% -50%;
    }

    .elementor-section-boxed > .elementor-container .elementor-section-boxed > .elementor-container {
        inline-size: 100%;
    }

    :is(.elementor-top-section, .ino-top-section):not(.reset-margin, :first-child) {
        margin-block-start: var(--spacing-4xl);
    }

    :is(.elementor-top-section, .ino-top-section):not(.fond:not(.block)):last-child {
        margin-block-end: var(--spacing-4xl);
    }

    :is(.elementor-top-section, .ino-top-section).fond:not(.block, .elementor-section-full_width, .ino-section-full_width) {
        padding-block: var(--spacing-3xl);
    }

    :is(.elementor-top-section, .ino-top-section).fond:not(.block):last-child {
        margin-block-end: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        position: relative;
        padding: var(--spacing-2xl);
    }

    .elementor-widget + .elementor-widget-heading.reset-margin,
    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section):first-child,
    :is(.elementor-top-section, .ino-top-section) :is(.elementor-inner-section, .ino-inner-section).titre + :is(.elementor-inner-section, .ino-inner-section),
    :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond:not(.block), .supp) {
        margin-block-start: 0;
    }

    :is(.elementor-top-section, .ino-top-section).fond-noir:not(.block) + :is(.elementor-top-section, .ino-top-section).fond-noir:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond-gris:not(.block) + :is(.elementor-top-section, .ino-top-section).fond-gris:not(.block),
    :is(.elementor-top-section, .ino-top-section).fond-blanc:not(.block) + :is(.elementor-top-section, .ino-top-section).fond-blanc:not(.block) {
        padding-block-start: 0;
    }
    
    :is(.fond-noir, .fond-blanc):not(.block),
    :is(.fond-noir, .fond-blanc).block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-color);
    }

    .fond-gris:not(.block),
    .fond-gris.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
        background: var(--background-alt-color);
    }

    .light-scheme-color:not(.light-default) :where(.fond-blanc:not(.block), .fond-blanc.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond-noir:not(.block), .fond-noir.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color:not(.dark-default) :where(.fond-noir:not(.block), .fond-noir.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond-blanc:not(.block), .fond-blanc.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: dark;
    }

    .dark-scheme-color:not(.dark-default) :where(.fond-noir:not(.block), .fond-noir.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .dark-scheme-color.dark-default :where(.fond-blanc:not(.block), .fond-blanc.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color:not(.light-default) :where(.fond-noir:not(.block), .fond-noir.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)),
    .light-scheme-color.light-default :where(.fond-blanc:not(.block), .fond-blanc.block > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape)) {
        color-scheme: light;
    }

    .elementor-top-section :is(.elementor-inner-section, .elementor-widget-text-editor) + .elementor-inner-section:not(.boutons) {
        margin-block-start: var(--spacing-xl);
    }

    :is(.elementor-column, .ino-column).fond {
        border-radius: var(--border-radius);
        padding: var(--spacing-xl);
    }
    
    :is(.center, .center-desktop, .right) :is(.elementor-widget-container, .elementor-widget-wrap) {    
        display: flex;
        flex-flow: column;
    }
    
    .center [type=submit] {
        margin-inline: auto;
    }

    .boutons:has(> .bouton),
    .boutons .elementor-widget-wrap {
        display: flex;
        flex-flow: row wrap;
        gap: var(--spacing-2xs);
    }
    
    .center.bouton,
    .center .bouton,
    .center .boutons .elementor-widget-wrap {
        justify-content: center;
    }

    .elementor-widget + :is(.boutons, .elementor-widget-form, .elementor-widget-text-editor),
    :is(.elementor-widget-text-editor, .elementor-widget-accordion, .elementor-widget-shortcode) + .elementor-widget {
        margin-block-start: calc(var(--spacing-4xl) / 3);
    }

    :is(.elementor-widget-button, .elementor-widget-text-editor) + .elementor-widget-image {
        margin-block-start: calc(var(--spacing-4xl) / 1.5);
    }

    .elementor-widget-image + .elementor-widget-text-editor {
        margin-block-start: calc(var(--spacing-4xl) / 4);
    }

    :is(.elementor-widget + .quote, .section-titre + .elementor-top-section),
    :is(.elementor-widget-heading.h1:not(.reset-margin), .elementor-widget-heading.h2:not(.reset-margin), .elementor-widget-heading:not(.h3, .h4, .reset-margin):has(h1, h2)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-lg);
    }

    :is(.elementor-widget-heading.h3:not(.reset-margin), .elementor-widget-heading:not(.h2, .h4, .reset-margin):has(h3)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-md);
    }

    :is(.elementor-widget-heading.h4:not(.reset-margin), .elementor-widget-heading:not(.h2, .h3, .reset-margin):has(h4)) + :is(.elementor-widget:not(.elementor-widget-heading), .elementor-inner-section) {
        margin-block-start: var(--spacing-sm);
    }

    .elementor-widget-heading + .elementor-widget-heading {
        margin-block-start: var(--spacing-xs);
    }

    .elementor-inner-section + .elementor-widget,
    .elementor-widget:not(.elementor-widget-heading) + :is(.elementor-widget-heading.h2, .elementor-widget-heading:not(.h3, .h4):has(h2)) {
        margin-block-start: calc(var(--spacing-lg) * 2);
    }

    .elementor-widget:not(.elementor-widget-heading) + :is(.elementor-widget-heading.h3, .elementor-widget-heading:not(.h2, .h4):has(h3)) {
        margin-block-start: calc(var(--spacing-md) * 2);
    }

    .elementor-widget:not(.elementor-widget-heading) + :is(.elementor-widget-heading.h4, .elementor-widget-heading:not(.h2, .h3):has(h4)) {
        margin-block-start: calc(var(--spacing-sm) * 2);
    }

    .elementor-widget-image + .elementor-widget-heading {
        margin-block-start: var(--spacing-3xl);
    }

    :is(.elementor-col-100, .ino-col-100) {
        inline-size: 100%;
    }

    .ino-col-25 {
        inline-size: 25%;
    }

    .ino-col-20 {
        inline-size: 20%;
    }

    .ino-col-img:has(.owl-carousel.item-1) {
        aspect-ratio: 3 / 2;
        overflow: clip;
    }
	
    @container viewport (70rem < inline-size) {
    
        .right :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
        .right:where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .right:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: flex-end;
            text-align: right;
        }    
        
        .right.bouton,
        .right .bouton,
        .right .boutons .elementor-widget-wrap {
            justify-content: flex-end;
        }
	    
	    .right [type=submit] {
	        margin-inline-start: auto;
	    }
        
        :is(.elementor-col-66:not(.elementor-field-group), .ino-col-66) {
            inline-size: 66.666%;
        }

        :is(.elementor-col-50:not(.elementor-field-group, .container, .absolute), .ino-col-50) {
            inline-size: 50%;
        }

        :is(.elementor-col-33:not(.elementor-field-group), .ino-col-33) {
            inline-size: 33.333%;
        }
        
        :is(.ino-txt-img > .ino-container, .inner-txt-img > .elementor-container),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-container,
        .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 {
            align-items: stretch;
        }
        
        .ino-txt-img .ino-col-img > *:not(.ino-modal),
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-widget-wrap,
        .elementor-top-section:not(.section-custom):has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) > .elementor-widget-wrap:not(.ui-sortable, :has(.elementor-inner-section)),
        .elementor-top-section:has(.elementor-top-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) > .elementor-widget-wrap:not(.ui-sortable, :has(.elementor-inner-section)) {
            position: absolute;
        }
        
        .ino-txt-img:not(.full) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):not(.full) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) > .elementor-widget-wrap {
            padding-block: var(--spacing-3xl);
        }
        
        .ino-txt-img.full:not(.block, .supp) .ino-col-txt > div,
        .elementor-top-section:not(.section-custom):has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) > .elementor-widget-wrap {
            padding-block: var(--spacing-2xl);
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) > .elementor-container {
            display: grid;
            grid-template-columns: 1fr repeat(6, calc(min(var(--wrapper-size-mobile), var(--wrapper-size)) / 6)) 1fr;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block) > .ino-container > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column {
            inline-size: 100%;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):first-child {
            grid-column: 1 / 4;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):first-child {
            grid-column: 2 / 4;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-33:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):last-child {
            grid-column: 6 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-33:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):last-child {
            grid-column: 6 / 8;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):first-child {
            grid-column: 1 / 5;
        }
            
        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):first-child {
            grid-column: 2 / 5;
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-img:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-50:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):last-child {
            grid-column: 5 / 9;
        }

        .ino-section-full_width.ino-txt-img.full:not(.block) .ino-col-txt:last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-50:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):last-child {
            grid-column: 5 / 8;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):first-child {
            grid-column: 1 / 6;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):first-child {
            grid-column: 2 / 6;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column.elementor-col-66:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):last-child {
            grid-column: 4 / 9;
        }
            
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block) .elementor-top-column.elementor-col-66:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):last-child {
            grid-column: 4 / 8;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-txt, 
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            position: relative;
            z-index: 1;
        }
        
        .ino-section-full_width.ino-txt-img.full.supp:not(.block) .ino-col-img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.supp.elementor-section-full_width:not(.block) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) {
            position: absolute;
            inset: 0;
            z-index: 0;
        }

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.supp).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):first-child img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):not(.supp).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):first-child img {
            border-radius: 0 var(--border-radius) var(--border-radius) 0;
        }

        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.supp).full .elementor-top-column:has(.elementor-widget-image:only-child, .elementor-widget-image-carousel:only-child):last-child img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):not(.supp).full .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child):last-child img {
            border-radius: var(--border-radius) 0 0 var(--border-radius);
        }
            
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:first-child > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):first-child > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):first-child > .elementor-widget-wrap {
            padding-inline-end: var(--spacing-2xl);
        }
        
        .ino-section-full_width.ino-txt-img.full:not(.block, .supp) .ino-col-txt:last-child > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)):last-child > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.elementor-section-full_width:not(.block, .supp) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)):last-child > .elementor-widget-wrap {
            padding-inline-start: var(--spacing-2xl);
        }
        
        .ino-txt-img.full.block .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) > .elementor-widget-wrap {
            padding: var(--spacing-2xl);
        }
        
        .ino-txt-img.full.supp .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1.5rem + 2.5vw, 4rem));
            overflow: clip;
        }
        
        .ino-txt-img.full.supp .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.supp .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) > .elementor-widget-wrap {
            padding: var(--spacing-xl);
        }

        .elementor-top-section.supp > .elementor-container {
            padding-block: var(--spacing-3xl);
        }
        
        .section-sticky-sidebar .sidebar > .elementor-widget-wrap {
            max-block-size: calc(100vh - var(--spacing-lg));
            overflow-block: auto;
            overscroll-behavior: contain;
            padding-block-end: var(--spacing-lg);
            position: sticky;
            inset-block-start: var(--spacing-lg);
            z-index: 49;
        }
            
        @-moz-document url-prefix() {

            .section-sticky-sidebar .sidebar > .elementor-widget-wrap {
                scrollbar-width: none;
            }
        }
        
        .section-sticky-sidebar .sidebar > .elementor-widget-wrap::-webkit-scrollbar {
			display: none;
        }      

        .section-sticky-sidebar :is(.sidebar, .main-content) {
            width: auto;
        }
        
        .section-sticky-sidebar .sidebar {
            display: table;
            inline-size: var(--sidebar-width);
        }

        .section-sticky-sidebar .main-content {
            inline-size: 100%;
        }
    }

    @container viewport (inline-size <= 70rem) {

        :is(.elementor-top-section, .ino-top-section, .inner-txt-img) > :is(.elementor-container, .ino-container) {
            flex-flow: column;
        }
            
        .elementor-top-section .elementor-container > .elementor-column {
            inline-size: 100%;
        }
        
        .ino-col-txt,
        .inner-txt-img .elementor-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .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-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            order: 1;
        }

        .ino-col-img,
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child),
        .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-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child) {
            order: 2;
        }
            
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.block .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            padding: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block) .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            padding-block: var(--spacing-2xl);
        }
        
        .ino-txt-img.full:not(.block) .ino-col-txt > div,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full:not(.block) .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)) > .elementor-widget-wrap,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full:not(.block) .elementor-top-column:not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) > .elementor-widget-wrap {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }

        iframe,
        .ino-txt-img:not(.full) .ino-col-img:not(.contain) img,
        .inner-txt-img .elementor-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child):not(.full) .elementor-top-column:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child:not(.contain)) img {
            border-radius: clamp(0rem, var(--border-radius), clamp(2rem, 1rem + 5vw, 6rem));
        }
    }

    @container viewport (36rem < inline-size) {
        
        .center-desktop:not(.owl-item) :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong, .elementor-widget-container, .elementor-widget-wrap),
        .center-desktop:not(.owl-item):where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, p, strong),
        .center-desktop:is(.h1, .h2, .h3, .h4) .elementor-heading-title {
            align-items: center;
            text-align: center;
			text-wrap: balance;
        }

        .center-desktop.bouton,
        .center-desktop .bouton,
        .center-desktop .boutons .elementor-widget-wrap {
            justify-content: center;
        }
        
        .center-desktop [type=submit] {
            margin-inline: auto;
        }
    }

    @container viewport (30rem < inline-size) {
        
        .boutons .bouton {
            inline-size: auto;
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            padding-inline: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.full) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) > div {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) + :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-start: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section):is(.fond, .supp) {
            margin-block-end: 0;
        }
        
        :is(.elementor-top-section, .ino-top-section).fond.block:not(.elementor-section-full_width) > div:not(.elementor-element-overlay, .elementor-background-overlay, .elementor-shape) {
            border-radius: 0;
        }
        
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).block > .elementor-container,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).block > .elementor-container {
            inline-size: 100%;
            max-inline-size: initial;
        }
        
        .ino-txt-img.full.block .ino-col-txt,
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):only-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):only-child)),
        .elementor-top-section:has(.elementor-column:not(.elementor-col-100) :is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child).full.block .elementor-top-column:is(.elementor-col-33, .elementor-col-50, .elementor-col-66):not(:has(:is(.elementor-widget-image, .elementor-widget-image-carousel):first-child + .bouton-icon:last-child)) {
            inline-size: min(var(--wrapper-size-mobile), var(--wrapper-size));
            margin-inline: auto;
            padding-inline: 0;
        }
    }
}

@layer core {

    @layer titles {
        
        :is(h1, .h1:not(.elementor-widget-heading)),
        .elementor-widget-heading.h1 .elementor-heading-title {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-h1)/1.1 var(--font-title);
            letter-spacing: -.02em;
            text-wrap: balance;
        }

        h1 span {
            line-height: inherit;
        }

        h1:has(span) {
            display: flex;
            flex-flow: column;
        }

        :is(h1:not(.h2, .h3, .h4, .elementor-heading-title, .elementor-tab-title), .h1:not(.elementor-widget-heading)):not(.reset-margin) {
            margin-block-end: var(--spacing-xl);
        }

        :is(h2, .h2:not(.elementor-widget-heading)),
        .elementor-widget-heading.h2 .elementor-heading-title { 
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-h2)/1.1 var(--font-title);
            letter-spacing: -.02em;
            text-wrap: balance;
        }

        :is(h2:not(.h1, .h3, .h4, .elementor-heading-title, .elementor-tab-title), .h2:not(.elementor-widget-heading)):not(.reset-margin) {
            margin-block-end: var(--spacing-lg);
        }

        :is(h3, .h3:not(.elementor-widget-heading)), 
        .elementor-widget-heading.h3 .elementor-heading-title { 
            color: var(--title-color);
            font: var(--text-weight-medium) var(--text-size-h3)/1.1 var(--font-text);
            letter-spacing: -.01em;
        }

        :is(h3:not(.h1, .h2, .h4, .elementor-heading-title, .elementor-tab-title), .h3:not(.elementor-widget-heading)):not(.reset-margin) {
            margin-block-end: var(--spacing-md);
        }

        :is(h4, .h4:not(.elementor-widget-heading)), 
        .elementor-widget-heading.h4 .elementor-heading-title { 
            color: var(--title-color);
            font: var(--text-weight-normal) var(--text-size-h4)/1.1 var(--font-text);
            letter-spacing: 0;
        }

        :is(h4:not(.h1, .h2, .h3, .elementor-heading-title, .elementor-tab-title), .h4:not(.elementor-widget-heading)):not(.reset-margin) {
            margin-block-end: var(--spacing-sm);
        }
    }

    @layer form-fields {

        :where(label, .label, input[type="file" i]) {
            color: var(--title-color);
        }

        :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), select, textarea, .elementor-field-label:has(+ .elementor-upload-field)) {
            --_padding-field: var(--spacing-2xs);
            background: transparent;
            border: var(--border-width) solid var(--border-color);
            border-radius: calc(var(--border-radius) / 2);
            color: var(--text-color);
            font: normal var(--text-weight-normal) var(--text-size-normal)/1 var(--font-text);
            letter-spacing: var(--letter-spacing);
            text-overflow: ellipsis;
            padding-block: var(--spacing-2xs);
        }

        :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), select, textarea):hover {
            border-color: var(--border-hover-color);
            color: var(--strong-color);
        }

        :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), select, textarea):focus {
            border-color: var(--border-focus-color);
            box-shadow: 0 0 0 2px oklch(from var(--border-focus-color) l c h / .1);
            color: var(--title-color);
        }

        :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), textarea, .elementor-field-label:has(+ .elementor-upload-field)) {
            padding-inline: calc(var(--_padding-field) * 2);
        }

        textarea {
            border-radius: clamp(0rem, var(--border-radius) / 2, clamp(1rem, .875rem + .625vw, 1.5rem));
            line-height: 1.3;
        }

        select {
            color: var(--title-color);
            padding-inline: calc(var(--_padding-field) * 2) calc(var(--_padding-field) * 4);
        }

        select option {
            background: var(--background-color);
        }

        @container viewport (inline-size <= 30rem) {
                
            :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), select, textarea, .elementor-field-label:has(+ .elementor-upload-field)) {
                --_padding-field: var(--spacing-xs);
            }

            :where(input:is([type=text],[type=email],[type=number],[type=tel],[type=search],[type=date],[type=time]), textarea, .elementor-field-label:has(+ .elementor-upload-field)) {
                padding-inline: var(--_padding-field);
            }

            select {
                padding-inline: var(--_padding-field) calc(var(--_padding-field) * 3);
            }
        }
    }
    
    @layer lists {

        main :is(ul, ol):not(:last-child),
        .moove-gdpr-tab-main-content ul {
            margin-block-end: 1.25lh;
        }

        main :is(ul, ol):not(.reset-list) li:not(:last-child),
        .moove-gdpr-tab-main-content li:not(:last-child) {
            margin-block-end: .5lh;
        }

        main :is(ul, ol):last-child,
        main :is(ul, ol) li:last-child,
        .moove-gdpr-tab-main-content li:last-child {
            margin-block-end: 0;
        }

        main ol li {
            list-style-position: inside;
        }

        main ul:not(.reset-list) li,
        .moove-gdpr-tab-main-content li {
            padding-inline-start: 2ch;
            position: relative;
        }

        main ul:not(.reset-list) li::before,
        .moove-gdpr-tab-main-content li::before {
            content: "-" / "";
            font: inherit;
            letter-spacing: 0;
            position: absolute;
            inset-inline-start: 0;
        }
    }

    @layer links {
		
        :is(a, button.link-dark, summary),
        input:is([type=checkbox], [type=radio]):focus-visible + label,
        :is(.owl-prev, .owl-next, .moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .elementor-accordion-title) {
        	color: var(--primary-color);
        }
		
		.footer-content a,
        :is(a, button, summary).link-dark,
        input:is([type=checkbox], [type=radio]):focus-visible + label,
        :is(.owl-prev, .owl-next, .moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .elementor-accordion-title) {
            color: var(--title-color);
        }

        .breadcrumb a {
            color: var(--text-color);
        }

        @media only screen and (hover: hover) and (pointer: fine) {
            
            a:hover {
                color: var(--primary-hover-color);
            }

            a:active {
                color: var(--primary-active-color);
            }

            :is(.breadcrumb, .footer-content) a:hover,
            :is(a, button, summary).link-dark:hover,
            :is(.owl-prev, .owl-next, .moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .elementor-accordion-title):hover {
                color: var(--primary-color);
            }

            :is(.breadcrumb, .footer-content) a:active,
            :is(a, button, summary).link-dark:active,
            :is(.owl-prev, .owl-next, .moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .elementor-accordion-title):active {
                color: var(--primary-hover-color);
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {

            a:active {
                color: var(--primary-hover-color);
            }
            
            :is(.breadcrumb, .footer-content) a:active,
            :is(a, button, summary).link-dark:active,
            :is(.owl-prev, .owl-next, .moove-gdpr-modal-close, .moove-gdpr-infobar-reject-btn, .elementor-accordion-title):active {
                color: var(--primary-color);
            }
        }    

        :is(.skip-link, .link-underline, .moove-gdpr-infobar-reject-btn):not(:hover, :active),
        :where(.elementor-tab-content, .elementor-widget-text-editor, .message-rgpd, .moove-gdpr-tab-main-content) a:not(:hover, :active) {
            text-decoration: underline;
            text-underline-offset: .125lh;
        }
    }

	@layer buttons {
        
        .bouton:not(div, .ino-nav__item),
        .bouton :is(a, button, [type=submit]),
        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn), .elementor-field-label:has(+ .elementor-upload-field)) {
            color: var(--_btn-text-color);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 1ch;
        }

        .bouton:not(.bouton-link, div, .ino-nav__item),
        .bouton:not(.bouton-link) :is(a, button, [type=submit]),
        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn), .elementor-field-label:has(+ .elementor-upload-field)) {
            background: var(--_btn-color);
            border: var(--border-width) solid var(--_btn-color);
        }
        
        .bouton:not(.bouton-link, div, .ino-nav__item),
        .bouton:not(.bouton-link) :is(a, button, [type=submit]),
        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn)) {
			--_padding-button: var(--spacing-xs);
            border-radius: var(--border-radius);
            text-align: center;
        }
        
        .bouton:not(.bouton-link, .bouton-icon, div, .ino-nav__item),
        .bouton:not(.bouton-link, .bouton-icon) :is(a, button, [type=submit]),
        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn)) {
            padding-block: var(--_padding-button);
            padding-inline: calc(var(--_padding-button) * 2);
        }
	
	    .bouton:not(.bouton-icon),
        :where(.bouton:not(.bouton-icon), [type=submit]) span,
	    .mgbutton:not(.moove-gdpr-infobar-reject-btn) {
	        font: var(--text-weight-bold) var(--text-size-normal)/1.1 var(--font-text);
	    }
	
	    .bouton-download:not(div)::before,
	    .bouton-download :is(a, button, [type=submit]) > span::before {
	        font: var(--font-icon);
            letter-spacing: 0;
	    }
	
	    .bouton-primary:not(div),
	    .bouton-primary :is(a, button, [type=submit]),
	    :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn), .elementor-field-label:has(+ .elementor-upload-field)) {
	        --_btn-color: var(--primary-color);
	        --_btn-text-color: var(--dark-color);
	    }
	
	    .bouton-secondary:not(div),
	    .bouton-secondary :is(a, button, [type=submit]) {
	        --_btn-color: var(--secondary-color);
	        --_btn-text-color: var(--dark-color);
	    }
	
	    .bouton-dark:not(div),
	    .bouton-dark :is(a, button, [type=submit]),
        :is(.moove-gdpr-modal-save-settings, .moove-gdpr-infobar-settings-btn) {
	        --_btn-color: var(--title-color);
	        --_btn-text-color: var(--background-color);
	    }
	
	    .bouton-contour:not(:hover, :active, div),
	    .bouton-contour :is(a, button, [type=submit]):not(:hover, :active),
	    .bouton-link:not(div),
	    .bouton-link :is(a, button, [type=submit]),
        :is(.moove-gdpr-modal-save-settings, .moove-gdpr-infobar-settings-btn):not(:hover, :active) {
	        background: transparent;
	        border-color: var(--_btn-color);
	        --_btn-text-color: var(--_btn-color);
	    }
	    
	    @media only screen and (hover: hover) and (pointer: fine) {
			
	        .bouton-link.bouton-dark:not(div):hover,
	        .bouton-link.bouton-dark :is(a, button, [type=submit]):hover {
                --_btn-color: var(--primary-color);
            }
	
	        .bouton-primary:not(.bouton-contour, div):hover,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):hover,
	        :is(.bouton-primary.bouton-contour, .bouton-link.bouton-dark):not(div):active,
	        :is(.bouton-primary.bouton-contour, .bouton-link.bouton-dark) :is(a, button, [type=submit]):active,
	        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn, .moove-gdpr-modal-save-settings, .moove-gdpr-infobar-settings-btn), .elementor-field-label:has(+ .elementor-upload-field)):hover {
	            --_btn-color: var(--primary-hover-color);
	        }
	
	        .bouton-primary:not(.bouton-contour, div):active,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):active,
	        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn), .elementor-field-label:has(+ .elementor-upload-field)):active {
	            --_btn-color: var(--primary-active-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):hover,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):hover,
	        .bouton-secondary.bouton-contour:not(div):active,
	        .bouton-secondary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-hover-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):active,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-active-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, .bouton-link, div):hover,
	        .bouton-dark:not(.bouton-contour, .bouton-link) :is(a, button, [type=submit]):hover,
	        .bouton-dark.bouton-contour:not(div):active,
	        .bouton-dark.bouton-contour :is(a, button, [type=submit]):active,
	        :is(.moove-gdpr-modal-save-settings, .moove-gdpr-infobar-settings-btn):active {
	            --_btn-color: var(--strong-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, .bouton-link, div):active,
	        .bouton-dark:not(.bouton-contour, .bouton-link) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--text-color);
	        }
	    }
	
	    @media only screen and (hover: none) and (pointer: coarse) {
	        
	        :is(.bouton-primary.bouton-contour, .bouton-link.bouton-dark):not(div):active,
	        :is(.bouton-primary.bouton-contour, .bouton-link.bouton-dark) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--primary-color);
	        }
	        
	        .bouton-primary:not(.bouton-contour, div):active,
	        .bouton-primary:not(.bouton-contour) :is(a, button, [type=submit]):active,
	        :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn)):active {
	            --_btn-color: var(--primary-hover-color);
	        }
	
	        .bouton-secondary.bouton-contour:not(div):active,
	        .bouton-secondary.bouton-contour :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-color);
	        }
	
	        .bouton-secondary:not(.bouton-contour, div):active,
	        .bouton-secondary:not(.bouton-contour) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--secondary-hover-color);
	        }
	
	        .bouton-dark.bouton-contour:not(div):active,
	        .bouton-dark.bouton-contour :is(a, button, [type=submit]):active,
            :is(.moove-gdpr-modal-save-settings, .moove-gdpr-infobar-settings-btn):active {
	            --_btn-color: var(--title-color);
	        }
	
	        .bouton-dark:not(.bouton-contour, .bouton-link, div):active,
	        .bouton-dark:not(.bouton-contour, .bouton-link) :is(a, button, [type=submit]):active {
	            --_btn-color: var(--strong-color);
	        }
	    }
	
	    .bouton-link:not(div),
	    .bouton-link :is(a, button, [type=submit]) {
			color: var(--_btn-color);
	    }
	
	    .bouton-link:not(div)::after,
	    .bouton-link :is(a, button, [type=submit])::after {
	        content: "\e902" / "";
	        color: inherit;
	        font: var(--font-icon);
	        font-size: var(--text-size-small);
	        letter-spacing: 0;
	        transition: translate .5s cubic-bezier(0.8, -0.4, 0.5, 1);
	    }

        .bouton-link-icon:not(div),
	    .bouton-link-icon :is(a, button, [type=submit]) {
            gap: 0;
	    }
	        
	    @media (prefers-reduced-motion: no-preference) {
	
	        @media only screen and (hover: hover) and (pointer: fine) {

                .bouton-link:not(.bouton-link-icon, div):hover::after,
                .bouton-link:not(.bouton-link-icon) :is(a, button, [type=submit]):hover::after {
                    translate: .25rem;
                }
        
                .bouton-link:not(.bouton-link-icon, div):active::after,
                .bouton-link:not(.bouton-link-icon) :is(a, button, [type=submit]):active::after {
                    translate: .5rem;
                }
	        }
	
	        @media only screen and (hover: none) and (pointer: coarse) {
                
                .bouton-link:not(.bouton-link-icon, div):active::after,
                .bouton-link:not(.bouton-link-icon) :is(a, button, [type=submit]):active::after {
                    translate: .25rem;
                }
	        }
	    }
	
	    .bouton-icon:not(div),
	    .bouton-icon :is(a, button, [type=submit]) {
	        aspect-ratio: 1;
	        border-radius: 50%;
	        padding: var(--spacing-sm);
	    }
	
	    .bouton-icon :is(a, button, [type=submit]) > span,
	    .bouton-link-icon :is(a, button, [type=submit])::after {
	        font-size: var(--text-size-h4);
	    }
	
	    @media (prefers-reduced-motion: no-preference) {
	
	        @media only screen and (hover: hover) and (pointer: fine) {
	
	            .bouton-icon.icon-play a:hover {
	                scale: 1.05;
	            }
	
	            .bouton-icon.icon-play a:active {
	                scale: 1.1;
	            }
	        }
	
	        @media only screen and (hover: none) and (pointer: coarse) {
	
	            .bouton-icon.icon-play a:active {
	                scale: 1.05;
	            }
	        }
	    }

        @container viewport (30rem < inline-size) {
            
            [type=submit],
            .bouton:not(.bouton-link, .bouton-icon, .menu-item, div),
            .bouton:not(.bouton-link, .bouton-icon, .menu-item) :is(a, button, [type=submit]) {
                min-inline-size: 9rem;
            }
        }

		@container viewport (inline-size <= 30rem) {
	        
	        .bouton:not(.bouton-link, .bouton-icon),
	        .bouton:not(.bouton-link, .bouton-icon, .moove-gdpr-button-holder) :is(a, button, [type=submit]),
            :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn), .moove-gdpr-button-holder, .ino-nav__list-1) {
	            inline-size: 100%;
	        }
	        
	        .bouton:not(.bouton-link, .bouton-icon, .bouton-download, :has(i), div),
	        .bouton:not(.bouton-link, .bouton-icon, .bouton-download, :has(i)) :is(a, button, [type=submit]),
            :where([type=submit], .mgbutton:not(.moove-gdpr-infobar-reject-btn)) {
	            padding: var(--_padding-button);
	        }
	        
	        .bouton:is(.bouton-download, :has(i)):not(div),
	        .bouton:is(.bouton-download, :has(i)) :is(a, button, [type=submit]) {
	            padding-block: var(--_padding-button);
	            padding-inline: calc(var(--_padding-button) * 2);
	        }
	        
	        .boutons .bouton-contour {
	            order: 1;
	        }
	        
	        .boutons .bouton:not(.bouton-contour) {
	            order: 2;
	        }
	    }
	}

    body {
        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);
    }

    figcaption {        
        font: var(--text-weight-medium) var(--text-size-small)/1.3 var(--font-text);
    }

    summary {
        display: flex;
        justify-content: space-between;
        gap: var(--spacing-xs);
    }

    summary::after {
        font-size: inherit;
    }

    .breadcrumb {
        margin-block-start: var(--spacing-lg);
    }
    
    .breadcrumb + * {
        margin-block-start: var(--spacing-xl);
    }

    .breadcrumb p {
        display: flex;
        gap: var(--spacing-4xs) 1ch;
        font-size: var(--text-size-small);
    }

    .breadcrumb :where(a, .last) {
        display: block;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .breadcrumb a {
        max-inline-size: 12ch;
    }

    .breadcrumb .last {
		font-weight: var(--text-weight-bold);
        max-inline-size: 32ch;
    }

    .back-to-top {
        border-radius: calc(var(--border-radius) / 2);
        padding: var(--spacing-2xs);
        position: fixed;
        inset-block-end: var(--spacing-md);
        inset-inline-end: var(--spacing-md);
        transition: var(--transition-default), opacity .15s ease-in-out;
        z-index: 50;
    }

    .back-to-top i {
        font-size: var(--text-size-small);
    }

    .back-to-top.hide {
        opacity: 0;
		visibility: hidden;
        pointer-events: none;
    }
}

@layer components {
	
	@layer pagination {
        
        .pagination {
            display: flex;
            justify-content: center;
            margin-block-start: var(--spacing-xl);
        }

        :is(.pagination__list, .pagination__link) {
            display: inline-flex;
            align-items: center;
        }
        
        :is(.pagination__item, .pagination__link) {
            line-height: 1;
        }

        .pagination__list {
            flex-flow: row wrap;
            gap: var(--spacing-2xs) calc(var(--spacing-2xs) * 2);
        }

        .pagination__link {
            gap: 1.5ch;
        }

        .pagination__link-disabled {
            display: none;
        }

        .pagination__link-current {
            color: var(--primary-color);
            font-weight: var(--text-weight-bold);
        }

        .pagination i {
            font-size: var(--text-size-small);
        }

        @container viewport (inline-size <= 24rem) {
            
            .pagination__list {
                gap: var(--spacing-3xs);
            }
            
            .pagination__link {
                font-size: var(--text-size-small);
                padding-block: var(--spacing-4xs);
            }
            
            .pagination__link:not(.pagination__link-prev, .pagination__link-next) {
                padding-inline: var(--spacing-3xs);
            }
            
            :is(.pagination__link-prev, .pagination__link-next) {
                padding-inline: var(--spacing-2xs);
            }
        }
    }
	
	@layer modals {
	
	    .ino-modal {
	        background: transparent;
	        display: flex;
	        flex-flow: column;
	        block-size: 100%;
	        transition: all .15s linear;
    		transition-behavior: allow-discrete;
	    }
	
	    .ino-modal:not(.ino-modal-img) {
	        inline-size: 100%;
	    }
	
	    .ino-modal:not(.ino-modal-img, .ino-modal-video) {
	        background: var(--background-color);
	    }
		
        .ino-modal:not([open], :popover-open),
        .gdpr_lightbox:not(.gdpr_lightbox-opened) {
            opacity: 0;
            visibility: hidden;
        }

        .gdpr_lightbox:not(.gdpr_lightbox-opened),
        .ino-modal:not([open], :popover-open, .ino-modal-img) {
            pointer-events: none;
        }
	
	    .ino-modal:popover-open::backdrop {
	        background: radial-gradient(var(--shadow-color), 50%, var(--muted-color));
	    }

		:where(.ino-modal__wrapper, .gdpr_lightbox, #moove_gdpr_cookie_info_bar) {
	        inline-size: 100%;
	        overflow-block: auto;
	        overscroll-behavior: contain;
	    }
	
	    .ino-modal:not(.ino-modal-img) .ino-modal__wrapper {
	        flex-grow: 1;
	    }

        @-moz-document url-prefix() {
            
            :where(.ino-modal__wrapper, .gdpr_lightbox, #moove_gdpr_cookie_info_bar) {
                scrollbar-width: none;
            }
        }

        :where(.ino-modal__wrapper, .gdpr_lightbox, #moove_gdpr_cookie_info_bar)::-webkit-scrollbar {
            display: none;
        }
	
	    .ino-modal__container {
	        display: flex;
	        align-items: safe center;
	        position: relative;
	    }
	
	    :where(.ino-modal__container.center, .ino-modal-img) {
	        justify-content: center;    
	    }

        .ino-modal:not(.ino-modal-img) .ino-modal__container {
            min-block-size: 100%;
            padding-block: 6rem;
            transition: translate .3s ease-out;
        }

        .ino-modal:not([open], :popover-open, .ino-modal-img) .ino-modal__container {
            translate: 0 -50px;
        }
	
	    .ino-modal__close {
	        position: absolute;
	        inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2) - var(--banner-height));
	        inset-inline-end: 0;
	        translate: 0 -50%;
	    }
	
	    .ino-modal__close i {
	        font-size: clamp(1.25rem, 1.192rem + .291vw, 1.5rem);
	    }
	
	    .ino-modal-img {
            pointer-events: none;
        }
	
	    .ino-modal-img .ino-modal__container {
	        inline-size: fit-content;
	        margin: var(--spacing-xs);
	    }

	    .ino-modal-img img {
            pointer-events: initial;
        }
	
	    .ino-modal-img:popover-open img {
	        inline-size: auto;
	        max-block-size: 90vh;
	        pointer-events: initial;
	    }
	
        @media only screen and (hover: hover) and (pointer: fine) {
			
		    body:has(.ino-modal-img:popover-open img:not(:hover)) * {
		        cursor: zoom-out;
		    }
	    }
	
	    .ino-modal-video::backdrop {
	        background: radial-gradient(var(--muted-color), 50%, var(--strong-color));
	    }
	
	    .ino-modal-video iframe {
	        box-shadow: var(--box-shadow);
	        aspect-ratio: 16 / 9;
	        max-inline-size: 100%;
	    }
	}
    
    @layer elementor-widgets {

        :is(.elementor-widget-image, .elementor-widget-image-carousel) figure {
            position: relative;
        }

        :is(.elementor-widget-image, .elementor-widget-image-carousel) figcaption {
            background: oklch(from var(--dark-color) l c h / .25);
            border-radius: var(--border-radius);
            color: var(--light-color);
            inline-size: var(--wrapper-size-mobile);
            padding: var(--spacing-3xs);
            position: absolute;
            inset-block-end: var(--spacing-xs);
            inset-inline-start: 50%;
            translate: -50%;
        }

        .elementor-form-fields-wrapper {
            display: flex;
            flex-wrap: wrap;
            margin-inline: calc(var(--spacing-3xs) * -1);
        }

        .elementor-field-group {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            padding-inline: var(--spacing-3xs);
        }

        .elementor-select-wrapper,
        :is(.elementor-field-group, .elementor-select-wrapper) > :is(input, select, textarea) {
            inline-size: 100%;
        }

        .elementor-field-label {
            font: var(--text-weight-medium) var(--text-size-small) / 1 var(--font-text);
        }

        .elementor-field-group:not(.elementor-field-type-upload) > label {
            cursor: text;
            margin-block-end: var(--spacing-2xs);
        }
            
        .elementor-field-label:has(+ .elementor-upload-field) {
            justify-content: flex-start;
            font: var(--text-weight-medium) var(--text-size-normal) / 1.2 var(--font-text);
            inline-size: 100%;
            transition: var(--transition-default);
        }

        .elementor-field-type-upload > .file-loaded {
            font-weight: var(--text-weight-bold);
        }

        .elementor-field-label:has(+ .elementor-upload-field)::before {
            content: "\e904" / "";
            font: var(--font-icon);
            letter-spacing: 0;
        }

        .elementor-field-group-rgpd {
            margin-block-end: calc(var(--spacing-2xs) * 2);
        }

        .elementor-accordion-item:not(:last-child) :is(.elementor-tab-title, .elementor-tab-content) {
            border-block-end: var(--border-width) solid var(--shadow-color);
        }

        .elementor-accordion-item {
            --_padding-accordion: var(--spacing-sm);
        }

        .elementor-accordion-item:not(:first-child) .elementor-tab-title {
            padding-block-start: var(--_padding-accordion);
        }

        .elementor-accordion-item:not(:last-child) .elementor-tab-title {
            padding-block-end: var(--_padding-accordion);
        }

        .elementor-accordion-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 3ch;
            font: var(--text-weight-medium) var(--text-size-big)/1.3 var(--font-text);
        }

        .elementor-accordion-title::after {
            font-size: var(--text-size-small);
        }

        .elementor-accordion-item .elementor-tab-title[aria-expanded=false] a::after {
            content: "\e900" / "";
        }

        .elementor-accordion-item .elementor-tab-title[aria-expanded=true] a::after {
            content: "\e901" / "";
        }

        .elementor-accordion-item .elementor-tab-content {
            display: none;
            padding-block: var(--_padding-accordion) calc(var(--_padding-accordion) * 2);
        }
    
        .elementor-widget-testimonial-carousel .elementor-main-swiper {
            inline-size: 100%;
        }
    
        :is(.elementor-testimonial-content, .elementor-testimonial__content) {
            display: grid;
            gap: var(--spacing-md);
        }
    
        :is(.elementor-testimonial-meta-inner, .elementor-testimonial__footer) {
            display: flex;
            align-items: center;
            gap: var(--spacing-xs);
            margin-block-start: var(--spacing-sm);
        }
    
        :is(.elementor-widget-testimonial, .elementor-widget-testimonial-carousel) img {
            aspect-ratio: 1;
            inline-size: var(--text-size-h2);
            object-fit: contain;
        }
    
        :is(.elementor-widget-testimonial, .elementor-widget-testimonial-carousel):not(.contain) img {
            border-radius: var(--border-radius);
            object-fit: cover;
        }
    
        :is(.elementor-testimonial-name, .elementor-testimonial__name) {
            color: var(--title-color);
            font: var(--text-weight-bold) var(--text-size-normal)/1.3 var(--font-text);
        }
    
        :is(.elementor-testimonial-job, .elementor-testimonial__title) {
            font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
            margin-block-start: var(--spacing-4xs);
        }

        .elementor-widget-google_maps iframe {
            block-size: min(calc(var(--spacing-4xl) * 5), 32rem);
        }
    }

	@layer teases {
			
	    :is(.tease, .tease__description) {
	        display: flex;
	        flex-flow: column;
	        align-items: flex-start;
	        inline-size: 100%;
	    }
		
	    .tease {
	        gap: var(--spacing-sm);
	    }
	
	    .tease__thumb {
	        border-radius: clamp(0rem, var(--border-radius), clamp(1.5rem, 1.125rem + 1.875vw, 3rem));
	        display: flex;
	        aspect-ratio: 16 / 9;
	        inline-size: 100%;
	        overflow: hidden;
	    }
	
	    .tease__thumb :is(picture, img, svg) {
	        inline-size: 100%;
	        block-size: 100%;
	    }
	
	    .tease__thumb :is(img, svg) {
	        object-fit: cover;
	    }
	
	    @media (prefers-reduced-motion: no-preference) {
	
	        .tease__thumb :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);
	        }
	    }
	
	    @media only screen and (hover: hover) and (pointer: fine) {
	        
	        .tease__thumb:hover :is(img, svg) {
	            scale: 1.025;
	        }
	    }
	
	    .tease__thumb:active :is(img, svg) {
	        scale: 1.05;
	    }
	
	    :is(.tease__description, .tease__button) {
	        flex-grow: 1;
	    }
	
	    .tease__date {
	        background: var(--primary-color);
	        border-radius: calc(var(--border-radius) / 4);
	        color: var(--light-color);
	        font: var(--text-weight-bold) var(--text-size-small)/1 var(--font-text);
	        padding-block: var(--spacing-4xs);
	        padding-inline: var(--spacing-3xs);
	        margin-block-end: var(--spacing-2xs);
	    }
	
	    .tease__title {
	        font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-text);
	    }
		
	    .tease__title > * {
	        all: inherit;
			margin: 0;
	    }
	
	    .tease__excerpt {
	        font: var(--text-weight-normal) var(--text-size-small)/1.3 var(--font-text);
	        margin-block: var(--spacing-xs) 0;
	    }
	
	    .tease__button {
	        display: grid;
            place-items: flex-end flex-start;
	        margin-block-start: var(--spacing-sm);
	    }
	}
    
    @layer cookies {

        :where(.gdpr_lightbox, #moove_gdpr_cookie_info_bar) {
            background: radial-gradient(var(--muted-color), 25%, var(--title-color));
            position: fixed;
            inset: 0;
        }

        #moove_gdpr_cookie_info_bar {
            display: grid;
            place-items: center;
            z-index: 9900;
        }

        .moove-gdpr-info-bar-container {
            background: var(--background-color);
            border-radius: clamp(0rem, var(--border-radius), 2rem);
            box-shadow: 0 4px 124px var(--shadow-color);
            inline-size: min(var(--wrapper-size-mobile), 50rem);
            padding: var(--spacing-lg);
        }

        .moove-gdpr-cookie-notice {
            margin-block-end: var(--spacing-sm);
        }

        .moove-gdpr-cookie-notice p {
            color: var(--title-color);
            font-weight: var(--text-weight-medium);
        }

        .moove-gdpr-button-holder {
            display: flex;
            flex-flow: row wrap;
            align-items: center;
            gap: var(--spacing-sm);
        }

        .moove-gdpr-infobar-allow-all {
            order: 1;
        }

        .moove-gdpr-infobar-settings-btn {
            order: 2;
        }

        .moove-gdpr-infobar-reject-btn {
            order: 3;
        }

        .gdpr_lightbox {
            transition: var(--transition-default);
            z-index: 9990;
        }

        .gdpr_lightbox > .gdpr_lightbox-wrap {
            margin-block: var(--spacing-md);
        }

        :where(#moove_gdpr_cookie_modal) {
            all: unset;
        }

        :where(.moove-gdpr-branding-cnt, .moove-clearfix, .gdpr_lightbox-hide, .gdpr_lightbox-close, .cookie-switch > input) {
            display: none;
        }

        .moove-gdpr-modal-content {
            background: var(--background-color);
			border: var(--border-width) solid oklch(from var(--background-color) l c h / .05);
            border-radius: clamp(0rem, var(--border-radius), 2rem);
            box-shadow: 0 4px 124px -32px oklch(from var(--dark-color) l c h / .3);
            display: grid;
            grid-template-columns: .6fr 1fr;
            inline-size: min(var(--wrapper-size-mobile), 70rem);
            min-block-size: 35rem;
            position: relative;
            margin-inline: auto;
        }

        .moove-gdpr-modal-close {
            position: absolute;
            inset-block-start: var(--spacing-sm);
            inset-inline-end: var(--spacing-sm);
        }

        :is(.moove-gdpr-modal-left-content, .moove-gdpr-modal-right-content) {
            display: flex;
            flex-flow: column;
            padding: var(--spacing-lg);
        }

        .moove-gdpr-modal-left-content {
			background: var(--background-color);
            gap: var(--spacing-md);
        }

        .moove-gdpr-company-logo-holder img {
            aspect-ratio: var(--logo-ratio);
			inline-size: min(80%, 8rem);
        }

        :is(.moove-gdpr-tab-nav, .moove-gdpr-modal-right-content) {
            background: var(--background-alt-color);
        }

        .moove-gdpr-tab-nav {
            border-radius: var(--border-radius);
            border: var(--border-width) solid transparent;
            color: var(--primary-color);
            inline-size: 100%;
            padding-block: var(--spacing-2xs);
            padding-inline: calc(var(--spacing-2xs) * 2);
        }

        @media only screen and (hover: hover) and (pointer: fine) {
            
            .moove-gdpr-tab-nav:hover {
                background: var(--primary-color);
                color: var(--background-color);
            }  

            .moove-gdpr-tab-nav:active {
                background: var(--primary-hover-color);
                color: var(--background-color);
            }
        }

        @media only screen and (hover: none) and (pointer: coarse) {

            .moove-gdpr-tab-nav:active {
                background: var(--primary-color);
                color: var(--background-color);
            }
        }

        .moove-gdpr-modal-left-content .menu-item-selected :is(a, button) {
            background: var(--background-color);
            border-color: var(--background-alt-color);
            color: var(--text-color);
            cursor: default;
        }

        .moove-gdpr-modal-left-content :is(a, button) span {
            display: flex;
            font-size: var(--text-size-normal);
            line-height: 1.3;
        }

        .main-modal-content {
            flex-grow: 1;
            block-size: auto;
        }

        .moove-gdpr-tab-main .tab-title:is(h3, span) {
            color: var(--title-color);
            display: inline-flex;
            font: var(--text-weight-bold) var(--text-size-h4) / 1 var(--font-title);
			letter-spacing: 0;
            margin-block-end: var(--spacing-sm);
        }

        .cookie-switch {
            position: relative;
            display: inline-block;
            inline-size: 3rem;
            block-size: 2rem;
        }
		
        .cookie-switch .cookie-slider,
        .cookie-switch .cookie-slider:before {
            position: absolute;
            transition: var(--transition-default);
		}

        .cookie-switch .cookie-slider {
            background: var(--alert-danger-color);
            border-radius: 5rem;
            cursor: pointer;
            inset: 0;
        }

        .cookie-switch:has(input:checked) .cookie-slider {
            background: var(--alert-success-color);
        }

        .cookie-switch .cookie-slider:before {
            content: "";
            background: var(--background-color);
            border-radius: 50%;
            aspect-ratio: 1;
            block-size: calc(2rem - (var(--border-width) * 2));
            inset-block-end: 50%;
            inset-inline-start: 0;
            translate: var(--border-width) 50%;
        }

        .cookie-switch:has(input:checked) .cookie-slider:before {
            translate: 1rem 50%;
        }

        .cookie-switch .cookie-slider:after {
            content: attr(data-text-disabled);
            color: var(--alert-danger-color);
            font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
            position: absolute;
            inset-block-start: 50%;
            inset-inline-end: calc(var(--spacing-2xs) * -1);
            translate: 100% -50%;
        }

        .cookie-switch:has(input:checked) .cookie-slider:after {
            content: attr(data-text-enable);
            color: var(--alert-success-color);
        }

        .gdpr-checkbox-disabled {
            opacity: .6;
            pointer-events: none;
        }

        .gdpr-checkbox-disabled .cookie-switch:has(input:checked) .cookie-slider {
            background: var(--title-color);
        }

        .gdpr-checkbox-disabled .cookie-switch:has(input:checked) .cookie-slider:after {
            color: var(--title-color);
        }

        .moove-gdpr-modal-content .moove-gdpr-button-holder {
            border-block-start: var(--border-width) solid var(--shadow-color);
            display: flex;
            justify-content: space-between;
            margin-block-start: var(--spacing-xl);
            padding-block-start: var(--spacing-md);
        }

        @container viewport (60rem < inline-size) {

            .moove-gdpr-modal-left-content {
                border-radius: clamp(0rem, var(--border-radius), 2rem) 0 0 clamp(0rem, var(--border-radius), 2rem);
            }
            
            .moove-gdpr-modal-left-content li:not(:first-child) {
                margin-block-start: var(--spacing-xs);
            }
            
            .moove-gdpr-modal-right-content {
                border-radius: 0 clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem) 0;
            }
        }

        @container viewport (inline-size <= 60rem) {
            
            .moove-gdpr-modal-content {
                grid-template-columns: 1fr;
                min-block-size: initial;
            }
            
            .moove-gdpr-modal-close {
                inset-block-start: calc(var(--spacing-lg) + (var(--logo-height) / 2));
                inset-inline-end: var(--spacing-lg);
                translate: 0 -50%;
            }
        }

        @container viewport (45rem < inline-size) {

            .moove-gdpr-tab-main .tab-title:is(h3, span) {
                margin-block-end: var(--spacing-md);
            }
        }

        @container viewport (45rem < inline-size <= 60rem) {
            
            .moove-gdpr-modal-left-content {
                border-radius: clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem) 0 0;
            }
            
            .moove-gdpr-modal-left-content ul {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: var(--spacing-3xs);
            }
            
            .moove-gdpr-modal-left-content :is(li, button) {
                block-size: 100%;
            }
            
            .moove-gdpr-modal-left-content button {
                padding-block: var(--spacing-3xs);
                padding-inline: var(--spacing-xs);
            }
            
            .moove-gdpr-modal-left-content .gdpr-nav-tab-title {
                font-size: var(--text-size-small);
            }

            .moove-gdpr-modal-right-content {
                border-radius: 0 0 clamp(0rem, var(--border-radius), 2rem) clamp(0rem, var(--border-radius), 2rem);
            }
        }

        @container viewport (inline-size <= 45rem) {        
                        
            .moove-gdpr-cookie-notice {
                margin-block-end: var(--spacing-md);
            }
            
            .moove-gdpr-modal-left-content,
            .moove-gdpr-tab-main:not(:first-child) .moove-gdpr-tab-main-content {
                display: none;
            }
            
            .moove-gdpr-tab-main {
                display: block !important;
                margin-block-end: var(--spacing-2xs);
            }
            
            .moove-gdpr-tab-main:first-child {
                margin-block-end: var(--spacing-lg);
            }
                    
            .moove-gdpr-tab-main:not(:first-child) {
                background: var(--background-color);
                border-radius: clamp(0rem, var(--border-radius), 1rem);
            }
            
            .moove-gdpr-tab-main:not(:first-child) .tab-title {
                cursor: pointer;
                inline-size: 100%;
                padding-block: var(--spacing-2xs);
                padding-inline: var(--spacing-sm);
                transition: var(--transition-default);
            }
            
            .moove-gdpr-tab-main:not(:first-child) .moove-gdpr-tab-main-content {
                padding-block: 0 var(--spacing-lg);
                padding-inline: var(--spacing-sm);
            }
            
            .moove-gdpr-modal-right-content {
                border-radius: clamp(0rem, var(--border-radius), 2rem);
                padding: var(--spacing-md);
            }
            
            .moove-gdpr-modal-close {
                inset-block-start: calc(var(--spacing-md) + (var(--logo-height) / 2));
                inset-inline-end: var(--spacing-md);
            }
            
            .moove-gdpr-tab-main-content :is(p, li, button) {
                font-size: var(--text-size-small);
            }
        }

        @container viewport (36rem < inline-size) {
            
            .moove-gdpr-modal-content .moove-gdpr-button-holder {
                flex-flow: row-reverse;
            }
        }

        @container viewport (inline-size <= 36rem) {
                
            .moove-gdpr-button-holder {
                flex-flow: column-reverse;
                gap: var(--spacing-3xs);
                margin-inline: auto;
            }
            
            .moove-gdpr-infobar-reject-btn {
                margin-block-end: var(--spacing-xs);
            }
        }

        @container viewport (30rem < inline-size <= 36rem) {
            
            .moove-gdpr-button-holder button {
                inline-size: min(100%, 16rem);
            }
        }

        @container viewport (inline-size <= 24rem) {
            
            .moove-gdpr-cookie-notice p,
            .moove-gdpr-button-holder .mgbutton {
                font-size: var(--text-size-small);
            }
            
            .moove-gdpr-modal-content .mgbutton {
                max-inline-size: initial;
            }
        }
    }

	@layer ino-grid {
		
	    .ino-grid > div {		
	        --_item-min-size: 16rem;
	        display: grid;
	        grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--_item-min-size)), 1fr));
	        gap: var(--spacing-xl) var(--spacing-sm);
	    }
	
	    .ino-grid.section-solutions > div {
	        grid-template-columns: repeat(2, minmax(300px, 50%));
	        gap: var(--spacing-xl) var(--spacing-sm);
	    }

	    main .ino-grid > div > :is(div, section) {
	        inline-size: 100%;
	        margin: 0;
	    }
	
	    .ino-grid .ino-col-full {
	        grid-column: 1 / -1;
	    }
	}
	
    .pre-header {
        background: var(--primary-color);
    }

    .pre-header .container {
        padding-block: var(--spacing-3xs);
    }

    .pre-header p {
        color: var(--dark-color);
        font: var(--text-weight-bold) var(--text-size-small)/1.3 var(--font-text);
    }

    header {
        container: main-nav / inline-size;
        position: relative;
        z-index: 5;
    }

    header:not(.header-absolute) .header-nav {
        background: var(--background-color);
    }

    .dark-header:not(.header-absolute) .header-nav {
        color-scheme: dark;
    }

    .header-nav > .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: min(2.5rem, 10%);
        padding-block: var(--padding-header);
    }

    .header__logo a {
        display: flex;
    }

    .header__logo img {
        aspect-ratio: var(--logo-ratio);
        inline-size: auto;
        block-size: var(--logo-height);
    }

    .ino-nav__list {
		display: flex;
        align-items: center;
	    gap: var(--spacing-lg);
    }

    .ino-nav:not(.center) ul:is([class^="ino-nav__list-"],[class*=" ino-nav__list-"]):not(.ino-nav__list-1) {
        flex-flow: column;
        align-items: flex-start;
    }

    .ino-nav__link {
        display: flex;
        font: var(--text-weight-medium) var(--text-size-normal)/1 var(--font-text);
        letter-spacing: var(--letter-spacing);
        white-space: nowrap;
        color: var(--light-color);
    }

    .ino-nav__link[href="#"] {
        cursor: default;
    }
	
	.ino-nav__link-3:not(:hover, :active) {
		color: var(--text-color);
	}

    @container main-nav (85rem < inline-size) {
        
        .show-inodia-menu {
            display: none;
        }

        .header-nav {
            pointer-events: none;
        }
        
        :is(.header__logo, .ino-nav__item-1) {
            line-height: 1;
            pointer-events: initial;
        }

	    .ino-nav__list-2,
	    .ino-nav__mega-menu .ino-nav__list-3 {    
	        gap: var(--spacing-xs);
	    }
		
        .ino-nav__item-1:not(:hover, :focus-within) > :where(ul, .ino-nav__mega-menu) {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

	    .ino-nav__item-1.menu-item-has-children .ino-nav__link-1 {
	        align-items: center;
	        gap: 1ch;
	    }

	    .ino-nav__item-1.menu-item-has-children .ino-nav__link-1::after {
	        content: "\e900" / "";
	        color: inherit;
	        font: var(--font-icon);
	        letter-spacing: 0;
	    }

        .ino-nav__item-1.menu-item-has-children:not(.mega) {
            position: relative;
        }
        
        .ino-nav__item-1 > :is(.ino-nav__list-2, .ino-nav__mega-menu) a {
            font-weight: var(--text-weight-normal);
        }

        .ino-nav__item-1.menu-item-has-children > :where(ul, .ino-nav__mega-menu) {
            position: absolute;
            inset-block-end: 50%;
            translate: 0 100%;
            z-index: -1;
            transition: var(--transition-default);
        }

        .ino-nav__item-1.menu-item-has-children > ul {
            border-radius: 0 0 clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem)) clamp(0rem, var(--border-radius), clamp(1.5rem, 1.375rem + .625vw, 2rem));
            min-inline-size: 100%;
            inset-inline-start: calc(var(--_padding-submenu) * -1);
        }

        header:not(.header-absolute) .ino-nav__item-1.menu-item-has-children > :where(ul, .ino-nav__mega-menu),
        body:not(.home:has(.header-absolute-home)) .ino-nav__item-1.menu-item-has-children > :where(ul, .ino-nav__mega-menu) {
            background: var(--background-color);
            box-shadow: var(--box-shadow);
        }

        header:not(.header-absolute) .ino-nav__item-1.menu-item-has-children > ul,
        body:not(.home:has(.header-absolute-home)) .ino-nav__item-1.menu-item-has-children > ul {
            --_padding-submenu: var(--spacing-sm);
            padding-block: calc(var(--padding-header) + (var(--logo-height) / 2) + var(--_padding-submenu)) var(--_padding-submenu);
            padding-inline: var(--_padding-submenu);
        }

        .header-absolute:not(.header-absolute-home) .ino-nav__item-1.menu-item-has-children > ul,
        body.home .header-absolute-home .ino-nav__item-1.menu-item-has-children > ul {
            --_padding-submenu: var(--spacing-sm);
            padding-block: calc(var(--_padding-submenu) * 2) var(--_padding-submenu);
            padding-inline: var(--_padding-submenu);
        }

        .ino-nav__mega-menu {
            --_padding-megamenu: var(--spacing-md);
            inline-size: 100%;
            inset-inline-start: 0;
            padding-block: calc((var(--logo-height) / 2) + var(--padding-header) + var(--_padding-megamenu)) var(--_padding-megamenu);
        }

        .ino-nav__mega-menu > ul {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: var(--spacing-xl) var(--columns-gap);
        }

        .ino-nav__mega-menu .ino-nav__list-2 > .menu-item-has-children {
            display: flex;
            flex-flow: column;
            align-items: flex-start;
            gap: var(--spacing-sm);
        }

        .ino-nav__mega-menu .ino-nav__link-2 {
            font: var(--text-weight-bold) var(--text-size-normal)/1 var(--font-text);
            letter-spacing: var(--letter-spacing);
        }
    }

    @container main-nav (inline-size <= 85rem) {
        
        .hide-inodia-menu,
        :where(a[aria-expanded="false"], .ino-nav__wrapper-link:has(button[aria-expanded="false"])) ~ :is(.ino-nav__list, .ino-nav__mega-menu) {
            display: none;
        }

        .ino-nav__modal-btn-open i {
            font-size: var(--text-size-h4);
        }
                
        :where(.ino-nav__list, .ino-nav__item) {
            display: flex;
            flex-flow: column;
            line-height: 1;
        }

        :where(.menu-item-has-children > a[href="#"], .menu-item-has-children:has(> a:not([href="#"])) > .ino-nav__wrapper-link) {
            justify-content: center;
        }
        
        .ino-nav.center :is(ul, li, a) {
            align-items: center;
            text-align: center;
        }
        
        .ino-nav__list-1 {
            gap: var(--spacing-xl);
        }
        
        .ino-nav__list-2 {
            gap: var(--spacing-md);
        }
        
        .ino-nav__list-3 {
            gap: var(--spacing-sm);
        }
        
        .ino-nav__item-1 {
            gap: var(--spacing-md) var(--spacing-2xs);
        }
        
        .ino-nav__item-2 {
            gap: var(--spacing-sm) var(--spacing-2xs);
        }
        
        .ino-nav__item-3 {
            gap: var(--spacing-xs) var(--spacing-2xs);
        }
        
        .ino-nav__item-1:not(:last-child) > :where(a[href="#"], .ino-nav__list) > .ino-nav__sublist {
            margin-block-end: var(--spacing-sm);
        }
        
        .ino-nav__item-2:not(:last-child) > :where(a[href="#"], .ino-nav__list) > .ino-nav__sublist {
            margin-block-end: var(--spacing-2xs);
        }
        
        :where(.menu-item-has-children > a[href="#"], .ino-nav__wrapper-link) {
            display: flex;
            align-items: center;
            gap: 1.5ch;
        }
        
        .menu-item-has-children > a[href="#"]::after {
            content: "\e900" / "";
            font: var(--font-icon);
            letter-spacing: 0;
        }
        
        .ino-nav a[aria-expanded="true"]::after,
        .ino-nav button[aria-expanded="true"] i {
            display: block;
            rotate: 180deg;
        }
        
        .ino-nav__link-1 {
            font: var(--text-weight-bold) var(--text-size-h4)/1.1 var(--font-text);
        }
        
        .ino-nav__link-2 {
            font: var(--text-weight-medium) var(--text-size-big)/1.1 var(--font-text);
        }
        
        .ino-nav__link-3 {
            font: var(--text-weight-normal) var(--text-size-normal)/1.1 var(--font-text);
        }
        
        .ino-nav__link-2:not(:hover, :active) {
            color: var(--strong-color);
        }
    }

    .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
        gap: var(--spacing-2xl) 6%;
        padding-block: var(--spacing-3xl);
    }

    .footer-content p a {
        display: inline;
    }

    .footer-content img {
        aspect-ratio: var(--logo-ratio);
    }

    .footer-content :where(.footer-content__column, ul:not(.socials__list)) {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
    }
	
    .footer-content__column {
        gap: var(--spacing-md);
    }

    .footer__title {
        color: var(--title-color);
        font: var(--text-weight-bold) var(--text-size-big)/1.3 var(--font-title);
    }

    .footer-content ul:not(.socials__list) {
        gap: var(--spacing-xs) 1ch;
    }

    .footer-content ul:not(.socials__list) a {
        line-height: 1.3;
    }

    .post-footer {
        padding-block: var(--spacing-xs);
    }

    .post-footer :is(p, a) {
        font: var(--text-weight-normal) var(--text-size-small)/2.5 var(--font-text);
    }

    .post-footer :where(p, a:not(:hover, :active)) {
        color: var(--muted-color);
    }

	/* MAXIME */

    .single .post-content-wrapper {
        display: flex;
        flex-flow: column;
        gap: var(--spacing-4xl);
    }

    :is(.section-hero, .section-cta) .elementor-col-50:not(.container) {
        position: absolute;
        inset: 0;
    }

    .section-hero .elementor-col-50:not(.container) .elementor-widget-image {
        position: relative;
    }

    .section-hero .elementor-col-50:not(.container) .elementor-widget-image:before {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(172deg, oklch(0.2448 0 0) 9%, oklch(0.2596 0 0 / 32.75%) 82.67%);
        opacity: 0.86;
    }

    .section-hero .elementor-col-50:is(.container) > .elementor-widget-wrap {
        max-width: 40rem;
        padding-block: calc(var(--spacing-3xl) * 1.5);
    }

    .section-solutions .swiper-slide-image {
        height: 275px;
        width: 100%;
        object-fit: cover;
        border-radius: var(--border-radius);
    }

    .section-solutions .h4 {
        margin-block-start: -1.5rem;
        margin-inline-start: 1rem;
        z-index: 1;
        position: relative;
    }

    .section-solutions .h4 p {
        color: var(--light-color);
        background: var(--dark-color);
        display: table;
        padding: var(--spacing-2xs) var(--spacing-sm);
        border-radius: var(--border-radius);
    }

    .section-solutions .elementor-swiper-button {
        background: var(--primary-color);
        padding: var(--spacing-2xs) var(--spacing-xs);
        border-radius: var(--border-radius);
    }

    .section-solutions .elementor-swiper-button i {
        color: var(--dark-color);
    }

    .section-rea {
        padding-block-end: 40rem;
    }

    .section-concept {
        margin-block-start: -30rem;
    }

    .section-concept > .elementor-container {
        box-shadow: -4px 4px 4px 0 rgba(0, 0, 0, 0.05);
    }



    @container viewport (inline-size <= 45rem) {
        
        header {
            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 {
            background: var(--background-color);
            position: sticky;
            inset-block-start: var(--header-height);
        }
        
        header.sticky.show {
            inset-block-start: var(--banner-height);
        }
        
        body:has(header.sticky.show) .ino-modal__close {
            inset-block-start: calc(var(--padding-header) + (var(--logo-height) / 2));
        }
    }

    @container viewport (inline-size <= 30rem) {
        
        .footer-content ul:not(.socials__list) {
            align-items: center;
        }
        
        .footer-content__column * {
            text-align: center;
        }
    }
}

body .swiper-slide {
    block-size: auto;
}

#ino-body .swiper {
    padding: 0;
}

#ino-body .swiper-pagination-bullets {
    display: flex;
    justify-content: center;
    gap: var(--spacing-2xs);
    position: static;
    margin-block-start: var(--spacing-xl);
}

#ino-body .elementor-pagination-position-inside .swiper-pagination-bullets {
    position: absolute;
    inset-block-end: var(--spacing-sm);
    z-index: 1;
}

#ino-body .swiper-pagination-bullet {
    background: var(--primary-color);
    aspect-ratio: 1;
    inline-size: .5rem;
    block-size: auto;
    margin: 0;
}

#ino-body .elementor-pagination-position-inside .swiper-pagination-bullet {
    background: var(--light-color);
}

@container viewport (inline-size <= 70rem) {

    #ino-body .swiper {
        overflow: initial;
    }
}

@container viewport (60rem < inline-size) {

    #ino-body .elementor-arrows-position-outside .swiper-pagination {
        display: none;
    }
}

@container viewport (inline-size <= 60rem) {

    #ino-body .elementor-arrows-position-outside .elementor-swiper-button {
        display: none;
    }
}
