.elementor-2477 .elementor-element.elementor-element-e1ab3cc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:160px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;--z-index:1;}.elementor-2477 .elementor-element.elementor-element-24e1c0c{--e-image-carousel-slides-to-show:1;}.elementor-2477 .elementor-element.elementor-element-187c4a9{--display:flex;}.elementor-2477 .elementor-element.elementor-element-e0e299a{text-align:center;}.elementor-2477 .elementor-element.elementor-element-e0e299a .elementor-heading-title{font-family:var( --e-global-typography-800ca6e-font-family ), Sans-serif;font-size:var( --e-global-typography-800ca6e-font-size );font-weight:var( --e-global-typography-800ca6e-font-weight );text-transform:var( --e-global-typography-800ca6e-text-transform );line-height:var( --e-global-typography-800ca6e-line-height );color:#FFFFFF;}.elementor-2477 .elementor-element.elementor-element-fad972f{text-align:center;}.elementor-2477 .elementor-element.elementor-element-fad972f .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-2477 .elementor-element.elementor-element-0da6092{--display:flex;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--padding-top:50px;--padding-bottom:100px;--padding-left:100px;--padding-right:100px;}.elementor-2477 .elementor-element.elementor-element-0da6092:not(.elementor-motion-effects-element-type-background), .elementor-2477 .elementor-element.elementor-element-0da6092 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-2477 .elementor-element.elementor-element-25842ec{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-2477 .elementor-element.elementor-element-f3d66c8{--grid-columns:3;--grid-row-gap:50px;--load-more-button-align:center;--grid-column-gap:25px;}.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-button{background-color:#FFFFFF;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );}@media(min-width:768px){.elementor-2477 .elementor-element.elementor-element-187c4a9{--width:auto;}}@media(max-width:1024px){.elementor-2477 .elementor-element.elementor-element-e1ab3cc{--padding-top:160px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-2477 .elementor-element.elementor-element-e0e299a .elementor-heading-title{font-size:var( --e-global-typography-800ca6e-font-size );line-height:var( --e-global-typography-800ca6e-line-height );}.elementor-2477 .elementor-element.elementor-element-fad972f .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2477 .elementor-element.elementor-element-0da6092{--padding-top:50px;--padding-bottom:100px;--padding-left:50px;--padding-right:50px;}.elementor-2477 .elementor-element.elementor-element-25842ec{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-2477 .elementor-element.elementor-element-f3d66c8{--grid-columns:2;}}@media(max-width:767px){.elementor-2477 .elementor-element.elementor-element-e1ab3cc{--padding-top:134px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;}.elementor-2477 .elementor-element.elementor-element-e0e299a .elementor-heading-title{font-size:var( --e-global-typography-800ca6e-font-size );line-height:var( --e-global-typography-800ca6e-line-height );}.elementor-2477 .elementor-element.elementor-element-fad972f .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-2477 .elementor-element.elementor-element-0da6092{--gap:25px 25px;--row-gap:25px;--column-gap:25px;--padding-top:25px;--padding-bottom:50px;--padding-left:25px;--padding-right:25px;}.elementor-2477 .elementor-element.elementor-element-25842ec{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-2477 .elementor-element.elementor-element-f3d66c8{--grid-columns:1;--grid-row-gap:25px;--grid-column-gap:25px;}}/* Start custom CSS for image-carousel, class: .elementor-element-24e1c0c */.elementor-2477 .elementor-element.elementor-element-24e1c0c {
    
    position: absolute;
    inset: 0;
    z-index: 0;
}

.elementor-2477 .elementor-element.elementor-element-24e1c0c * {
    
    width: 100%;
    height: 100%;
}

.elementor-2477 .elementor-element.elementor-element-24e1c0c img {
    
    object-fit: cover;
}

.elementor-2477 .elementor-element.elementor-element-24e1c0c:after {
    
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(36, 36, 38,1)0%, rgba(36, 36, 38,0)100%);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-fad972f */body.post-type-archive-projets .elementor-2477 .elementor-element.elementor-element-fad972f {
    
    display: none;
}

.elementor-2477 .elementor-element.elementor-element-fad972f {
    
    position: absolute;
    left: 50%;
    bottom: 0;
    rotate: -2.5deg;
    translate: -50% -50%;
}

.elementor-2477 .elementor-element.elementor-element-fad972f .elementor-heading-title {
    
    padding: 6.25px 12.5px;
    background: var(--violet);
    line-height: 1;
    display: inline-block;
    text-wrap: nowrap;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-25842ec */.elementor-2477 .elementor-element.elementor-element-25842ec ul {
    
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-wrap: nowrap;
    position: relative;
    gap: 6.25px 50px;
}

.elementor-2477 .elementor-element.elementor-element-25842ec a {
    
    color: white;
    line-height: 1;
    
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0% 2px;
    background-position: bottom right;
    transition: background-size .3s cubic-bezier(.75, 0, .25, 1);
}

.elementor-2477 .elementor-element.elementor-element-25842ec li.current-tax a,
.elementor-2477 .elementor-element.elementor-element-25842ec li a:hover {
    
    background-size: 100% 2px; 
    background-position: bottom left;
}

@media only screen and (max-width:650px) {
    
    .elementor-2477 .elementor-element.elementor-element-25842ec ul {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        
    padding: 0 25px 12.5px 25px;
    gap: 37.5px;
    mask-image: linear-gradient(to right,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25px, rgba(0, 0, 0, 1) calc(100% - 25px), rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(to right,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25px, rgba(0, 0, 0, 1) calc(100% - 25px), rgba(0, 0, 0, 0) 100%);

    }
    
    .elementor-2477 .elementor-element.elementor-element-25842ec ul::-webkit-scrollbar {
    height: 3px;
    background: rgba(255,255,255,.25);
    border-radius: 100vh;
}

.elementor-2477 .elementor-element.elementor-element-25842ec ul::-webkit-scrollbar-thumb {
    
    background: rgba(255,255,255,.5);
    border-radius: 100vh;
}

}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-f3d66c8 */.elementor-2477 .elementor-element.elementor-element-f3d66c8 .e-loop-item > a,
.elementor-2477 .elementor-element.elementor-element-f3d66c8 .e-loop-item > a > .e-con-inner {
    background: transparent !important;
    padding: 0 !important;
}


.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
}

.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > .e-loop-item {
    width: 100% !important;
    min-width: 0;
    grid-column: span 1 !important;
}

.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 1 of .e-loop-item) {
    grid-column: 1 / span 2 !important;
}

.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 2 of .e-loop-item) {
    grid-column: 3 !important;
}

.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 6 of .e-loop-item) {
    grid-column: 1 !important;
}

.elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 7 of .e-loop-item) {
    grid-column: 2 / span 2 !important;
}

@media only screen and (max-width: 1024px) {

    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
    }

    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > .e-loop-item,
    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 1 of .e-loop-item),
    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 2 of .e-loop-item),
    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 6 of .e-loop-item),
    .elementor-2477 .elementor-element.elementor-element-f3d66c8 .elementor-loop-container > :nth-child(10n + 7 of .e-loop-item) {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}/* End custom CSS */
/* Start custom CSS */body>.elementor {
    
    border-color: black;
}/* End custom CSS */