.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1170px;
}
body {font-family: 'Open Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Source Sans 3';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.oxel_accordion {
 border-top-color:#adb4b9;
 border-right-color:#adb4b9;
 border-bottom-color:#adb4b9;
 border-left-color:#adb4b9;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 width:100%;
}
.oxel_accordion__row {
 font-family:Open Sans;
 width:100%;
 padding-top:40px;
 padding-left:0px;
 padding-right:8px;
 padding-bottom:40px;
 text-align:justify;
 border-bottom-color:#eceeef;
 border-bottom-width:1px;
 border-bottom-style:solid;
 border-top-style:none;
 background-color:#ffffff;
 border-right-style:none;
 border-left-style:none;
 font-weight:600;
 margin-top:0px;
cursor: pointer;
}
.oxel_accordion__row:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row.oxy-easy-posts .oxy-posts,
.oxel_accordion__row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
justify-content:space-between;
}
.oxel_accordion__icon {
color: #374047;}.oxel_accordion__icon 
>svg {width: 18px;height: 18px;}.oxel_accordion__icon {
 margin-right:8px;
 transition-duration:0.3s;
}
.oxel_accordion__row_left {
}
.oxel_accordion__row_left:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row_left.oxy-easy-posts .oxy-posts,
.oxel_accordion__row_left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
}
.oxel_accordion__content {
 width:100%;
 padding-top:40px;
 padding-left:0px;
 padding-right:8px;
 padding-bottom:40px;
 border-bottom-color:#eceeef;
 border-bottom-width:1px;
 border-bottom-style:solid;
 overflow:hidden;
 opacity:1;
 transition-duration:3s;
 border-top-style:none;
 border-right-style:none;
 border-left-style:none;
 transition-property:max-height;
 text-align:left;
 max-height:3000px;
 margin-top:0px;
}
.oxel_accordion__content:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content.oxy-easy-posts .oxy-posts,
.oxel_accordion__content.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.oxel_accordion__content__hidden {
 max-height:0px;
 padding-left:0px;
 padding-right:8px;
 padding-top:0px;
 z-index:-1;
 padding-bottom:0px;
 transition-duration:0s;
}
.oxel_accordion__content__hidden:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content__hidden.oxy-easy-posts .oxy-posts,
.oxel_accordion__content__hidden.ct-section .ct-section-inner-wrap{
display:flex;
}
.oxel_accordion__row__label {
 font-family:'Poppins';
 font-weight:500;
 font-size:18px;
 letter-spacing:0.4px;
 width:100%;
 max-width:400px;
 text-align:left;
}
@media (max-width: 767px) {
.oxel_accordion__row__label {
 color:#000000;
}
}

.link-nav {
 font-family:'Poppins';
 color:#000000;
 font-weight:500;
 font-size:14px;
 padding-top:8px;
 padding-right:16px;
 padding-bottom:8px;
 padding-left:16px;
}
.btn-green {
 font-family:'Poppins';
 font-size:14px;
 background-color:#1a9c6b;
 color:#ffffff;
 padding-top:17px;
 padding-bottom:17px;
 padding-right:24px;
 padding-left:24px;
 border-radius:30px;
}
.link-tel {
 font-family:'Poppins';
 font-size:14px;
 font-weight:500;
 color:#000000;
}
.h1-black {
 font-family:'Poppins';
 color:#000000;
 font-size:48px;
 font-weight:700;
}
.img-hero-1 {
transform:rotate(30deg);}
@media (max-width: 1170px) {
.img-hero-1 {
}
}

.img-hero-2 {
}
.img-hero-3 {
transform:rotate(-30deg);}
@media (max-width: 1170px) {
.img-hero-3 {
}
}

.h2-black {
 font-size:32px;
 color:#000000;
}
.texte-souligne {
 font-family:'Poppins';
 color:#000000;
 font-size:16px;
 font-weight:500;
 margin-bottom:29px;
}
.card-slider-1 {
 height:360px;
 width:100%;
 background-color:#1ea7ac;
 border-radius:16px;
 margin-top:0px;
 z-index:0;
 padding-bottom:40px;
 padding-top:40px;
 padding-right:40px;
 padding-left:128px;
}
.card-slider-1:not(.ct-section):not(.oxy-easy-posts),
.card-slider-1.oxy-easy-posts .oxy-posts,
.card-slider-1.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
@media (max-width: 767px) {
.card-slider-1 {
 height:360px;
}
}

.card-slider-2 {
 width:100%;
 height:360px;
 padding-left:40px;
 padding-top:40px;
 padding-right:40px;
 padding-bottom:40px;
}
.card-slider-2:not(.ct-section):not(.oxy-easy-posts),
.card-slider-2.oxy-easy-posts .oxy-posts,
.card-slider-2.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
.card-slider-3 {
 width:100%;
 height:360px;
 background-color:#eebcd8;
 padding-left:40px;
 padding-top:40px;
 padding-right:40px;
 padding-bottom:40px;
}
.card-slider-3:not(.ct-section):not(.oxy-easy-posts),
.card-slider-3.oxy-easy-posts .oxy-posts,
.card-slider-3.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
.card-slider-4 {
 background-color:#3c4488;
 height:360px;
 width:100%;
 padding-left:40px;
 padding-top:40px;
 padding-right:40px;
 padding-bottom:40px;
}
.card-slider-4:not(.ct-section):not(.oxy-easy-posts),
.card-slider-4.oxy-easy-posts .oxy-posts,
.card-slider-4.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
.tag-blanc {
 font-family:'Poppins';
 color:#000000;
 font-size:16px;
 font-weight:500;
 padding-top:4px;
 padding-right:8px;
 padding-left:8px;
 padding-bottom:4px;
 background-color:#ffffff;
 border-radius:8px;
 z-index:3;
}
.texte-souligne-2 {
 margin-top:0px;
}
.card {
 position:relative;
 padding-left:128px;
 padding-right:128px;
}
.car {
}
.cta-block {
 background-color:#efd857;
 border-radius:16px;
 padding-top:56px;
 padding-right:56px;
 padding-bottom:56px;
 padding-left:56px;
 position:relative;
 text-align:left;
}
.cta-block:not(.ct-section):not(.oxy-easy-posts),
.cta-block.oxy-easy-posts .oxy-posts,
.cta-block.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}
@media (max-width: 479px) {
.cta-block {
 padding-left:24px;
 padding-right:24px;
 padding-top:42px;
 padding-bottom:42px;
}
}

.btn {
 font-family:'Poppins';
 font-size:14px;
text-wrap:nowrap;
}
.tag-vert {
 font-family:'Poppins';
 color:#ffffff;
 font-size:16px;
 font-weight:500;
 padding-top:4px;
 padding-right:8px;
 padding-left:8px;
 padding-bottom:4px;
 background-color:#1ea7ac;
 border-radius:8px;
 z-index:3;
}
.card-engagement {
 padding-top:24px;
 padding-right:24px;
 padding-bottom:24px;
 padding-left:24px;
 background-color:#ffffff;
 gap:16px;
}
.card-engagement:not(.ct-section):not(.oxy-easy-posts),
.card-engagement.oxy-easy-posts .oxy-posts,
.card-engagement.ct-section .ct-section-inner-wrap{
gap:16px;
}
.texte-souligne-3 {
}
.oxy-stock-content-styles {
}
.oxy-close-modal {
background-color :rgba(0,0,0,0);
border: 1px solid rgba(0,0,0,0);
}.oxy-close-modal {
 font-size:20px;
}
.btn-devis {
}
/* ************************************************* */
/* 1. DEFINITION DES ANIMATIONS (avec rotation fixe) */
/* ************************************************* */
@keyframes float-1 {
  0%, 100% { transform: translateY(-5px) rotate(30deg); }
  50% { transform: translateY(5px) rotate(30deg); }
}

@keyframes float-2 {
  0%, 100% { transform: translateY(-5px) rotate(-5deg); }
  50% { transform: translateY(5px) rotate(-5deg); }
}

@keyframes float-3 {
  0%, 100% { transform: translateY(-5px) rotate(-30deg); }
  50% { transform: translateY(5px) rotate(-30deg); }
}

/* ************************************************* */
/* 2. APPLICATION ET DÉCALAGE POUR UN EFFET SMOOTH  */
/* ************************************************* */
.img-hero-1, .img-hero-2, .img-hero-3 {
    display: block; 
    /* Propriétés communes pour un flottement doux */
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    will-change: transform; 
}

nav>a {
      text-wrap: nowrap;

}

.btn {
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.btn:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* L'ombre s'éloigne */
}

.img-hero-1 {
    animation-name: float-1;
    animation-delay: 0s; 
}

.img-hero-2 {
    animation-name: float-2;
    animation-delay: 0s; 
}

.img-hero-3 {
    animation-name: float-3;
    animation-delay: 0s; 
}

/* Le style de base du texte */
        .texte-souligne {
            position: relative; /* Indispensable pour positionner la ligne */
            display: inline-block; /* Permet à la ligne de s'adapter à la largeur du mot */
            text-decoration: none;
        }

        /* La création de la ligne (le "border") */
        .texte-souligne::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: -10px; /* Ajuste la distance entre le texte et la ligne */
            width: 100%;
            height: 3px; /* Épaisseur du soulignement */
            background-color: #6cbe99; /* Couleur du soulignement */
            
            /* La magie opère ici */
            transform: scaleX(0); /* On part de 0 (invisible) */
            transform-origin: center; /* L'animation part du MILIEU */
            
            /* Lancement de l'animation au chargement */
            animation: expand-line 1s ease-out forwards;
            animation-delay: 1s;
        }

        /* La définition de l'animation */
        @keyframes expand-line {
            from {
                transform: scaleX(0);
            }
            to {
                transform: scaleX(1); /* S'étend à 100% de la largeur */
            }
        }

/* Style de base du texte */
.texte-souligne-2 {
    position: relative;
    display: inline-block;
}
/* La ligne (cachée par défaut) */
.texte-souligne-2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background-color: black;
    
    transform: scaleX(0); /* Invisible au départ */
    transform-origin: left; /* Départ de la GAUCHE */
}
/* Quand le JS ajoute cette classe, l'animation se lance */
.texte-souligne-2.visible::after {
    animation: expand-line 0.8s ease-out forwards;
    animation-delay: 1s; /* Le délai de 1 seconde demandé */
}
.texte-souligne-3 {
    position: relative;
    display: inline-block;
}
/* La ligne (cachée par défaut) */
.texte-souligne-3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background-color: white;
    
    transform: scaleX(0); /* Invisible au départ */
    transform-origin: left; /* Départ de la GAUCHE */
}
.texte-souligne-3.visible::after {
    animation: expand-line 0.8s ease-out forwards;
    animation-delay: 1s; /* Le délai de 1 seconde demandé */
}
@keyframes expand-line {
    to { transform: scaleX(1); }
}
.card {
transform-origin: top center; /* On rétrécit vers le haut */
    will-change: transform; /* Optimise la performance */
}

#text_block-55-94>span>a, #text_block-55-94>a {color:#1a9c6a!important;}

.recent-posts-box {
    background: #ffffff;
    border-radius: 20px; /* Coins bien arrondis */
    padding: 40px;
    max-width: 500px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03); /* Ombre très discrète */
    border: 1px solid #f0f0f0;
}

.recent-posts-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.recent-posts-header h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    color: #333;
    margin: 0;
}

/* Flèches de navigation (esthétique) */
.nav-arrows {
    display: flex;
    gap: 10px;
}

.arrow {
    width: 32px;
    height: 32px;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
}

.arrow::after {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #6cbb9e; /* Couleur verte de votre exemple */
    border-right: 2px solid #6cbb9e;
    display: block;
}

.prev::after { transform: rotate(-135deg); margin-left: 2px; }
.next::after { transform: rotate(45deg); margin-right: 2px; }

/* Liste des articles */
.post-item {
    margin-bottom: 25px;
}

.post-item a {
    text-decoration: none;
    display: block;
}

.post-category {
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: #6cbb9e; /* Vert élégant */
    text-transform: capitalize;
    display: block;
    margin-bottom: 5px;
}

.post-title {
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    color: #444;
    margin: 0;
    transition: color 0.2s ease;
}

.post-item:hover .post-title {
    color: #000;
}

.post-item:last-child {
    margin-bottom: 0;
}


/* --- Style Articles 2026 - Conteneur #span-41-100 --- */

#span-41-100 {
    font-family: 'Roboto', sans-serif;
    line-height: 1.75;
    color: #333;
    max-width: 800px; /* Largeur optimale pour la lecture */
    margin: 0 auto;
}

/* Titres élégants en Poppins */
#span-41-100 h2, 
#span-41-100 h3 {
    font-family: 'Poppins', sans-serif;
    color: #1a1a1a;
    font-weight: 600;
    margin-top: 2.5em;
    margin-bottom: 0.8em;
    line-height: 1.3;
}

#span-41-100 h2 { font-size: 2rem; border-left: 4px solid #1b9c6b; padding-left: 20px;font-weight:600!important; }
#span-41-100 h3 { font-size: 1.5rem; }

/* Paragraphes fluides */
#span-41-100 p {
    margin-bottom: 1.6em;
    font-size: 1.1rem;
    letter-spacing: -0.01em;
}

/* Blocs d'images avec bords arrondis */
#span-41-100 .wp-block-image img, 
#span-41-100 figure img {
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    margin: 2em 0;
}

#span-41-100 figcaption {
    text-align: center;
    font-size: 0.9rem;
    color: #888;
    margin-top: -10px;
}

/* Citations (Quotes) sobres et modernes */
#span-41-100 blockquote, 
#span-41-100 .wp-block-quote {
    margin: 3em 0;
    padding: 20px 40px;
padding-top:65px !important;
    border-left: none;
    border-radius: 12px;
    background-color: #f9fbfd;
    position: relative;
}

#span-41-100 blockquote p {
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-size: 1.3rem;
    color: #444;
    line-height: 1.5;
}

#span-41-100 blockquote::before {
    content: "“";
    font-family: 'Poppins', sans-serif;
    font-size: 4rem;
    color: #6cbb9e;
    position: absolute;
    top: -20px;
    left: 15px;
    opacity: 0.3;
}

/* Listes à puces propres */
#span-41-100 ul, #span-41-100 ol {
    margin-bottom: 2em;
    padding-left: 20px;
}

#span-41-100 li {
    margin-bottom: 0.8em;
}

/* Liens internes */
#span-41-100 a {
    color: #6cbb9e;
    text-decoration: none;
    border-bottom: 1px solid rgba(108, 187, 158, 0.3);
    transition: all 0.3s ease;
}

#span-41-100 a:hover {
    background-color: rgba(108, 187, 158, 0.1);
    border-bottom-color: #6cbb9e;
}
figure {
  margin-left:0px !important;
  margin-right:0px !important;
  margin-top:0px !important;
}
#span-41-100 hr {
    border: 0;
    height: 1px;
    background-color: #efd858; /* Light gray très doux */
    margin: 3em auto;
    width: 100%; /* Pour un look plus élégant, on ne prend pas toute la largeur */
    border-radius: 1px;
}
#code_block-47-100 {
  position:sticky;
  top:50px;
  left:0px;
}

.social-box {
    background: #ffffff;
    border-radius: 20px; /* Même arrondi que l'autre bloc */
    padding: 40px;
    max-width: 500px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    border: 1px solid #f0f0f0;
    font-family: 'Roboto', sans-serif;
}

.social-header h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    color: #333;
    margin: 0 0 20px 0;
}

.social-content p {
    font-size: 17px;
    color: #444;
    margin-bottom: 30px;
    line-height: 1.4;
}

.social-icons {
    display: flex;
    gap: 25px; /* Espace entre les icônes */
    align-items: center;
}

.social-link {
    color: #333;
    font-size: 22px; /* Taille des icônes */
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Effet au survol identique à la couleur verte de vos catégories */
.social-link:hover {
    color: #6cbb9e;
    transform: translateY(-3px);
}

/* Si vous utilisez des icônes de type texte/font-awesome */
.fab {
    display: inline-block;
}

/* Positionnement du titre pour accueillir la signature */
.social-header {
    position: relative;
    padding-top: 20px; /* Espace pour laisser la signature respirer au-dessus */
}

.social-header h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    color: #333;
    margin: 0 0 0 0;
    position: relative;
    display: inline-block; /* Pour que le pseudo-élément se cale bien sur le texte */
}

/* La Signature en haut à gauche */
.social-header h2::before {
    content: "";
    display: block;
    position: absolute;
    
    /* Positionnement */
    top: -35px; /* Ajustez selon la hauteur souhaitée au-dessus du titre */
    right: -90px; /* Décale légèrement sur la gauche */
    
    /* Dimensions de l'image */
    width: 100px; /* Ajustez la taille selon vos besoins */
    height: 50px;
    
    /* Image de la signature */
    background-image: url('https://tcheen.a.fiere-allure.com/wp-content/uploads/2025/12/Signature.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    
    pointer-events: none; /* L'image ne gêne pas le clic sur le titre */
}

/* Conteneur principal de la pagination */
.oxy-repeater-pages {
    display: flex;
    justify-content: center; /* Centre la pagination */
    align-items: center;
    gap: 10px; /* Espace entre les boutons */
    margin-top: 40px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

/* Style général des numéros (liens et span) */
.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;      /* Cercle parfait */
    height: 40px;     /* Cercle parfait */
    border-radius: 50%; /* Arrondi complet comme les icônes RS */
    text-decoration: none;
    font-family: 'Poppins', sans-serif; /* Ou la police de ton site */
    font-weight: 700;
    font-size: 16px;
    color: #333333; /* Couleur du texte par défaut */
    background-color: transparent;
    transition: all 0.3s ease;
}

/* État au survol (Hover) des liens */
a.page-numbers:hover {
    background-color: rgba(33, 157, 118, 0.1); /* Vert très clair */
    color: #219D76; /* Vert de la marque */
    transform: translateY(-2px); /* Petit effet de rebond sympa */
}

/* La page ACTIVE (Current) */
.page-numbers.current {
    background-color: #219D76; /* Le vert du bouton 'Demander un devis' */
    color: #ffffff;
    cursor: default;
    box-shadow: 0 4px 6px rgba(33, 157, 118, 0.3); /* Légère ombre */
}

/* Bouton "Suivant" */
.page-numbers.next {
    width: auto; /* Pas de largeur fixe ici */
    padding: 0 20px;
    border-radius: 50px; /* Forme de pilule */
    font-weight: 600;
    background-color: #ffffff; /* Fond blanc pour ressortir sur le jaune */
    color: #219D76;
}

.page-numbers.next:hover {
    background-color: #219D76;
    color: #ffffff;
}

/* Les trois petits points (...) */
.page-numbers.dots {
    border: none;
    background: transparent;
    cursor: default;
    letter-spacing: 2px;
}
/* On cible spécifiquement PREV et NEXT pour annuler la largeur de cercle */
.page-numbers.prev, 
.page-numbers.next {
    width: auto !important; /* Force la largeur à s'adapter au texte */
    padding: 10px 20px;     /* Donne de l'air autour du texte */
    border-radius: 50px;    /* Forme pilule */
    background-color: #ffffff; /* Fond blanc pour les deux */
    color: #219D76;         /* Texte vert */
    font-weight: 700;
    margin: 0 5px;          /* Petite marge de sécurité latérale */
}

/* On s'assure que le bouton Précédent ne colle pas au chiffre 1 */
.page-numbers.prev {
    margin-right: 15px; /* Espace supplémentaire à droite du bouton Précédent */
}

/* Au survol des boutons Précédent / Suivant */
.page-numbers.prev:hover, 
.page-numbers.next:hover {
    background-color: #219D76;
    color: #ffffff;
    box-shadow: 0 4px 6px rgba(33, 157, 118, 0.2);
}/* --- Variables --- */
:root {
    --primary: #D4AF37; /* Couleur dorée bouton */
    --cta-bg: #F2D65C; /* Jaune du CTA */
    --text-dark: #1a1a1a;
    --radius: 16px;
    --gap: 20px;
}

/* --- Filtres --- */
.filter-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 10px 25px;
    border: 1px solid #ddd;
    border-radius: 50px;
    background: white;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
}

.filter-btn:hover, .filter-btn.active {
    background: var(--cta-bg);
    border-color: var(--cta-bg);
}

/* --- Grid Layout --- */
.event-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr); /* Mobile d'abord */
    gap: var(--gap);
    max-width: 1200px;
    margin: 0 auto;
}



/* --- Card Styles --- */
.event-card {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    height: 390px; /* Hauteur par défaut des petites cards */
    transition: transform 0.3s ease;
}

.card--tall {
    height: 390px; /* 300 * 2 + 20px de gap */
}

/* Au survol */
.event-card:hover {
    transform: translateY(-5px);
}

.card-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: white;
}
/* Version Desktop */
@media (min-width: 768px) {
    .event-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes */
        grid-auto-flow: dense; /* Important pour combler les trous */
    }

    /* Classes dynamiques générées par PHP */
    .card--tall {
        grid-row: span 2; /* Prend 2 hauteurs */
    }

    .card--wide {
        grid-column: span 2; /* Prend toute la largeur */
    }
  .card--tall {
    height: 800px; /* 300 * 2 + 20px de gap */
}

}
.card-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.event-card:hover .card-bg {
    transform: scale(1.05);
}

.card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 50%);
}

/* --- Badges (ACF Fields) --- */
.card-badges {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 2;
    width:100%;
}

.badges-row-2 {
    display: flex;
    gap: 8px;
}

.badge {
    background: white;
    color: var(--text-dark);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
}

.badge-client {
    color:black;
}

/* --- Titre --- */
.card-title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    margin: 0;
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: 800;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* --- CTA Card Styles --- */
.cta-card {
    background-color: var(--cta-bg); /* Le fond jaune */
    color: var(--text-dark);
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 40px;
    text-align: left;
    height: 300px;
    
    /* Nécessaire pour positionner l'image en superposition */
    position: relative; 
    overflow: hidden;
    z-index: 1; /* Assure que le contenu reste au-dessus */
}

/* Ajout de l'image via un pseudo-élément pour gérer l'opacité */
.cta-card::before {
    content: "";
    position: absolute;
    top: 0; 
    left: 140px; 
    right: 0; 
    bottom: 0;
    
    /* Ton image */
    background-image: url('https://tcheen.a.fiere-allure.com/wp-content/uploads/2026/01/Group-504.png');
    background-size: 410px; /* Adapte l'image pour couvrir toute la zone */
    background-position: center;
    background-repeat: no-repeat;
    
    /* Place l'image DERRIÈRE le texte, mais SUR le fond jaune */
    z-index: -1; 
}

.cta-content h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    line-height: 1.2;
}

.cta-content .highlight {
    background: #E6A6C5; /* Rose */
    padding: 0 5px;
}

.btn-cta {
    background: #106b50; /* Vert foncé */
    color: white;
    padding: 12px 24px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
}/* Conteneur global pour aérer */
.form-step-container {
    max-width: 800px;
    margin: 0 auto;
    font-family: sans-serif; /* Ou ta police du thème */
}

/* Titres et Séparateur Rose */
.form-header {
    text-align: center;
    margin-bottom: 30px;
}
.form-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: #333;
    margin-bottom: 5px;
}
.pink-separator {
    width: 150px;
    height: 6px;
    background-color: #EACCD9; /* Couleur rose de l'image */
    margin: 0 auto;
    border-radius: 3px;
}

/* Système de Grille (Colonnes) */
.form-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px 20px -10px; /* Marge négative pour les gouttières */
}

.form-col {
    flex: 1;
    padding: 0 10px;
    min-width: 250px; /* Empêche les colonnes d'être trop petites sur mobile */
    display: flex;
    flex-direction: column;
}

.form-col.full-width {
    flex: 100%;
}

/* Labels */
.form-col label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #444;
    font-size: 14px;
}

/* Champs Input (Gris clair arrondi) */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
    background-color: #EBEBEB; /* Gris clair de l'image */
    border: none;
    border-radius: 8px;
    padding: 15px;
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    color: #666;
}

.wpcf7 textarea {
    height: 150px; /* Hauteur de la zone de texte */
}

/* Checkboxes horizontales */
.wpcf7-list-item {
    display: inline-block;
    margin-right: 20px;
    margin-left: 0 !important;
}
.wpcf7-list-item-label {
    font-weight: 400;
    color: #444;
}

/* Petit texte sous le textarea */
.char-count {
    font-size: 11px;
    color: #888;
    text-align: right;
    display: block;
    margin-top: 5px;
}

/* Bouton Submit (Vert) */
input.wpcf7-submit {
    background-color: #1a9c6b; /* Vert foncé de l'image */
    color: white;
    border: none;
    padding: 12px 30px;
    border-radius: 30px !important; /* Bouton arrondi */
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 10px;
}

/* Centrer le bouton final */
.center-btn {
    justify-content: center;
}
.form-col>p {
  margin:0px !important;
}
/* Bouton Suivant (Step 1) - Style basique pour matcher */
button.cf7mls_next, input.cf7mls_next {
    background-color: #1a9c6b !important;
    color: white !important;
    border: none !important;
    padding: 10px 25px !important;
    border-radius: 20px !important;
    cursor: pointer !important;
}