@charset "utf-8";
/* CSS Document */

body > .wp-site-blocks{
	overflow-x: hidden;
}

a{
	outline: none !important;
}

.pre-header a:hover{
	text-decoration: underline;
}

.sticky-header{
}
.sticky-header.sticky {
    z-index: 1000;
    position: fixed;
    top: 15px;
	left: 0;
    width: 100%;
}
.sticky-header > .wp-block-group > .wp-block-group{
	transition: all 0.15s ease;
}
.sticky-header.sticky > .wp-block-group > .wp-block-group{
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.sticky-header .wp-block-site-logo img{
	transition: all 0.15s ease;
}
.sticky-header.sticky  .wp-block-site-logo img {
    width: 125px;
    margin-top: 5px;
}

.btn-scale{
	transition: all .20s ease-in-out;
}
.btn-scale:hover{
	transform: scale(1.1);
}
.btn-scale a:hover{
	text-decoration: none !important;
}
.disp-ib{
	display: inline-block !important;
}

@keyframes buzz-out-on-hover {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(-1.73deg);
    transform: translateX(-1px) rotate(-1.73deg);
  }
}
.buzz-out-on-hover {
	display: inline-block;
	vertical-align: middle;
	/*-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);*/
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.buzz-out-on-hover:hover, .buzz-out-on-hover:focus, .buzz-out-on-hover:active {
	-webkit-animation-name: buzz-out-on-hover;
	animation-name: buzz-out-on-hover;
	-webkit-animation-duration: 0.75s;
	animation-duration: 0.75s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
}

.img-scale-incl .the-img{
	position: relative;
	overflow: hidden;
}
.img-scale-incl .the-img img{
	transition: all .3s ease-in-out;
}
.img-scale-incl:hover .the-img img{
	-webkit-transform: scale(1.05) rotate(3deg);
    transform: scale(1.05) rotate(3deg);
}

.blg-drt-70{
	border-radius: 70px 70px 0 0;
    overflow: hidden;
}
.blg-dr-70{
	border-radius: 70px;
    overflow: hidden;
}
.blg-dr-30{
	border-radius: 30px;
    overflow: hidden;
}

.footer-txt a{
	color:#000 !important;
}

.home-h1-grp{
	position: relative;
}
.home-h1-sep {
	position: absolute;
	background: #80A62E;
	height: 42px;
	width: 457px;
	z-index: -1;
	left: 49.5%;
	top: 42px;
	border: none;
}

/********Contact form*********/
.form-row{
	width: 100%;
}
.column-half, .column-full {
    float: left;
    position: relative;
    padding: 6px 0;
    width: 100%;
    margin: 0;
}
.column-full{}
.column-full p:empty {
  display: none;
}

.column-half label{
	margin-bottom: 0;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
    width: calc(100% - 27px);
    padding: 5px 12px;
    border: 1px solid #fff;
    background: #fff;
    border-radius: 0;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    outline: none !important;
    font-family: var(--wp--preset--font-family--barlow) !important;
}
.wpcf7 textarea{
	height: 80px;
}
.wpcf7 select {
	width: 100%;
}
.wpcf7 input[type="text"]::placeholder, 
.wpcf7 input[type="email"]::placeholder, 
.wpcf7 input[type="tel"]::placeholder, 
.wpcf7 textarea::placeholder{
	color: #666666;
}
.wpcf7 input[type="checkbox"]{
	border: 1px solid #fff !important;
	-webkit-box-shadow: none !important;
  	box-shadow: none !important;
	outline: none !important;
}
/*.wpcf7 .wpcf7-submit {
    border: solid 1px #fff;
    background: none;
    font-family: Montserrat, sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    color: #fff;
    border-radius: 4px;
    padding: 7px 25px;
	outline: none !important;
}
.wpcf7 .wpcf7-submit:hover{
	background:#ffffff2e;
}*/
.wpcf7 .wpcf7-submit:disabled{
	opacity: .5;
}
#kubi-produits {
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    margin: 0;
}
#kubi-produits .ch-title {
    padding: 0;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}
#kubi-produits .ct{
    max-height: 200px;
    overflow: auto;
}
#kubi-produits .ct label{
	font-size: 14px;
}
[data-name="acceptance"] .wpcf7-list-item-label{
	font-size: 14px;
}
.wpcf7-not-valid-tip {
    font-size: 17px;
    padding-left: 10px;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0;
	border-width: 1px;
	border-radius: 10px;
    font-size: 18px;
    font-weight: 500;
}
/*****************************/

nav.header-menu-p{
	position:relative;
	z-index: 5;
}

.btn-style a,
.btn-cf7-env,
.archive-list .wp-block-read-more{
	display: block;
	text-decoration: none !important;
	width: 100%;
	margin-top: 10px;
	transition: all .20s ease-in-out;
	position: relative;
}
.btn-cf7-env{
	width: 150px;
}
.btn-style a:hover,
.btn-cf7-env:hover,
.archive-list .wp-block-read-more:hover{
	transform: scale(1.1);
}
.btn-style a:after,
.btn-cf7-env:after,
.archive-list .wp-block-read-more:after{
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 9px;
    background-image: url("/wp-content/uploads/2026/03/picto-arrow-b.svg");
    background-repeat: no-repeat;
    background-size: contain;
    top: 12px;
    right: 10px;
	transition: all .40s ease-in-out;
}
.btn-style.file a:after{
	background-image: url("/wp-content/uploads/2026/03/picto-file.svg");
}
.btn-style.eml a{
	padding-left: 40px !important;
	padding-right: 15px !important;
}
.btn-style.eml a:after,
.btn-style.site a:after{
    background-image: url("/wp-content/uploads/2026/03/picto-email-bl.svg");
    height: 20px;
    right: inherit;
    top: 6px;
    left: 13px;
}
.btn-style.site a:after{
	background-image: url("/wp-content/uploads/2026/03/picto-site-r.svg");
}
.btn-cf7-env:after{
	top: 15px;
}
.btn-style a:hover:after,
.btn-cf7-env:hover:after,
.archive-list .wp-block-read-more:after{
	right: 1px;
}

.ft-devis a,
.btn-cf7-env,
.archive-list .wp-block-read-more{
	background:#AB1310;
	padding: 7px 45px 8px 15px !important;
	color: #fff !important;
}
.archive-list .wp-block-read-more{
	width: 110px;
}
.btn-cf7-env{
	padding: 0!important;
}
.btn-cf7-env input{
    color: #fff !important;
    border: none !important;
    outline: none !important;
    background: none !important;
    width: 100% !important;
    height: 100% !important;
    padding: 9px 25px 10px !important;
    text-align: left;
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: 14px;
	font-weight: 500;
}

.btn-cf7-env .wpcf7-spinner{
	position: absolute !important;
}

.btn-gr a{
	padding: 10px 55px 11px 25px !important;
}
.btn-gr a:after {
	top: 17px;
}

.btn-brd a{
	padding: 7px 45px 8px 15px !important;
}
.btn-brd a:after {
	top: 15px;
}

.btn-gris a:hover{
	background-color: #AB1310 !important;
}

.btn-wh-l a{
	padding: 6px 15px 7px 45px !important;
}
.btn-wh-l.file a:after {
    right: inherit;
    left: 14px;
    top: 6px;
    height: 30px;
}
.btn-wh-l.file a:hover:after {
	left: 7px;
	right: inherit;
}

.apre-foot a:hover{
	text-decoration: underline !important;
}

.titre-style span{
    font-family: var(--wp--preset--font-family--playfair-display) !important;
	color: var(--wp--preset--color--accent-3) !important;
	font-style: italic !important;
    font-weight: 700 !important;
	font-size: clamp(1.35rem, 1.35rem + ((1vw - 0.2rem) * 0.938), 2.1rem) !important;
}
.titre-style.r2 span{
	color: #F22D29 !important;
}

.liste-style-check{
	list-style: none;
	padding-left: 0;
}
.liste-style-check li {
	position: relative;
	padding-left: 27px;
}
.liste-style-check:not(.vertical) li {
    display: inline-block;
    width: calc(50% - 35px);
    margin-right: 0.5%;
}
.liste-style-check li:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -1px;
    left: 0;
    background-image: url("/wp-content/uploads/2026/03/picto-check.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

.ov-hidden{
	overflow: hidden;
}

.ttr-lst-art a {
    display: block;
    height: 42px;
    text-overflow: ellipsis;
    overflow: hidden;
}
.lr-suite{
	position: relative;
}
.lr-suite:after {
    content: '';
    position: absolute;
    display: block;
    width: 11px;
    height: 11px;
    right: -25px;
    top: 3px;
    background-image: url("/wp-content/uploads/2026/03/picto-arrow-brd.svg");
    background-repeat: no-repeat;
    background-size: contain;
	transition: all .25s ease-in-out;
}
.lr-suite:hover:after{
	right: -35px;
}

.aagb_accordion_9d52312c_3 .aagb__accordion_container.wp-block-aab-accordion-item .aagb__accordion_head {
    background-color: transparent !important;
}
.faq-trans .aagb_accordion_9d52312c_3 > .aagb__accordion_container.aagb__accordion_active {
    background: none !important;
}
.aagb_accordion_9d52312c_3 .aagb__accordion_container {
    border: none !important;
    margin-bottom: 0 !important;
    border-bottom: solid 1px #B3B3B3 !important;
    border-radius: 0 !important;
	padding-bottom: 15px;
}
.wp-block-aab-group-accordion .aagb__accordion_container:last-child {
    border: none !important;
}
.wp-block-aab-accordion-item .aagb__accordion_head .aagb__accordion_heading .aagb__accordion_title {
    font-size: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.156), 16px) !important;
    font-weight: 600;
}
.wp-block-aab-accordion-item .aagb__accordion_head.active .aagb__accordion_heading .aagb__accordion_title/*,
.wp-block-aab-accordion-item .aagb__accordion_head[data-active="true"] .aagb__accordion_title*/{
    color: #AB1310 !important;
} 
.wp-block-aab-accordion-item .aagb__accordion_head {
    padding: 16px 24px 0px 24px !important;
}
.wp-block-aab-group-accordion .aagb__accordion_container.wp-block-aab-accordion-item .aagb__accordion_body {
    padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.wp-block-aab-group-accordion .wp-block-aab-accordion-item .aagb__icon {
    font-size: 18px;
    border: solid 1px #323232;
    border-radius: 99px;
    padding: 2px;
}
.faq-trans .aagb_accordion_9d52312c_3 .aagb__accordion_container.wp-block-aab-accordion-item .aagb__accordion_body {
    background-color: transparent !important;
    border-top: none !important;
}
@keyframes fadeIn {
    to { opacity: 1; }
}
@keyframes rotateBg {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

p strong{
	font-weight:600;
}

.zi-2{
	position: relative;
	z-index: 2;
}

.brd-tl-rd-130px{
	border-top-left-radius: 130px;
}

.yoast-breadcrumbs a{
	color:#323232 !important;
}
.yoast-breadcrumbs a:hover{
	text-decoration: underline !important;
}
.yoast-breadcrumbs .breadcrumb_last{
	color: #F22D29 !important;
	font-weight: 500;
}
.gtt-style a{
	font-family: var(--wp--preset--font-family--playfair-display) !important;
}
.gtt-style a:hover{
	text-decoration: underline !important;
}

.archive-list h2{
	height: 75px;
    overflow: hidden;
}

.picto-rond{
    width: 50px;
    height: 50px;
    padding: 10px;
    border-radius: 100px;
	margin: 0 auto !important;
}

.ct-infos a:hover{
	text-decoration: underline !important;
}

@media screen and (min-width: 1240px) {
	.hd-logo{
		margin-left: -44% !important;
	}
	.ft-logo{
		margin-left: -5% !important;
	}
}

@media (min-width: 990px) {
	/*.hd-logo{
		margin-left: -44% !important;
	}*/
	.wp-block-navigation .wp-block-navigation__submenu-icon {
		z-index: 5;
		color: #fff;
   	}
	.pr-header a:hover{
		text-decoration: underline !important;
	}
	.header-menu-p{ /*li:not(.mp-devis)*/
		/*background-color: #AB1310;*/
		height: 60px;
		padding-left: 25px;
		padding-right: 25px;
		border-radius: 5px;
		/*overflow:hidden;*/
		flex-grow: inherit !important;
	}
	.header-menu-p > li:first-child{
		border-radius: 5px 0px 0px 5px;
		overflow: hidden;
	}
	.header-menu-p > li:last-child {
		border-radius: 0px 5px 5px 0px;
		overflow: hidden;
		padding-left: 50px !important;
		margin-left: -25px;
	}
	.header-menu-p li{
		height: 100%;
		padding: 0 1.55em 0 1.55em !important;
	}
	.header-menu-p li:after{
		content:'';
		position:absolute;
		display:block;
		width:100%;
		height:100%;
		top:0;
		left:0;
	}
	.header-menu-p > li:not(.mp-devis):after{
		background-color: #AB1310;
	}
	.header-menu-p li.mp-contact:after {
		transform: skewX(40deg);
		overflow: hidden;
		width: 121%;
		left: -24%;
	}
	.header-menu-p li.mp-devis:after {
		background-color: #F22D29;
		transform: skewX(40deg);
		overflow: hidden;
		width: 120%;
		left: 14%;
	}
	.header-menu-p > li > a{
		color: #fff !important;
		text-decoration: none  !important;
		transition: all 0.15s ease;
	}
	.header-menu-p > li:not(.mp-devis)  a:hover,
	.header-menu-p > li.current-menu-item > a,
	.header-menu-p > li.current-menu-ancestor > a,
	.header-menu-p .wp-block-navigation__submenu-container > li.current-menu-item > a{
		color: #F22D29 !important;
		text-decoration: none;
	}
	.header-menu-p li.mp-devis  a:hover{
		color: #AB1310 !important;
		text-decoration: none;
	}
	.header-menu-p .wp-block-navigation__submenu-container {
		max-width: 450px !important;
		width: 450px !important;
		border-radius: 5px;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.header-menu-p .wp-block-navigation__submenu-container > li{
		border-bottom: solid 1px #efefef;
	}
	.header-menu-p .wp-block-navigation__submenu-container > li:last-child{
		border-bottom: none;
	}
	.mrt-m35{
		margin-top: -35px !important;
	}
	
	.bg-points,
	.bg-bfr-points{
		position: relative;
	}
	.bg-points.bg-rb:after,
	.bg-points.bg-lrc:before,
	.bg-points.bg-lrc:after,
	.bg-points.bg-lt:before,
	.bg-points.bg-tr:before,
	.bg-bfr-points.bg-br-int:before,
	.bg-points.bg-lc-int:before{
		content: '';
		display: block;
		position: absolute;
		width: 300px;
		height: 300px;
		background-image: url("/wp-content/uploads/2026/03/bg-points.svg");
		background-repeat: no-repeat;
		background-size: contain;
		right: 193px;
		bottom: -89px;
		z-index: -1;
		animation: rotateBg 200s linear infinite;
	}
	.bg-points.bg-rb.r-250px:after{
		right: 250px;
	}
	.bg-points.bg-rb.r--85p:after{
		right: -85px;
	}
	.bg-points.bg-rb.b:after{
		right: -72px;
		bottom: -84px;
	}
	.bg-bfr-points.bg-br-int:before{
		background-image: url("/wp-content/uploads/2026/03/bg-points-bl.svg");
	}
	.bg-points.bg-lrc:before {
		bottom: inherit;
		top: calc(50% - 100px);
		right: inherit;
		left: 107px;
	}
	.bg-points.bg-lrc:after {
		bottom: inherit;
		top: calc(50% - 100px);
		right: 107px;
	}
	.bg-points.bg-lt:before {
		bottom: inherit;
		top: -57px;
		right: inherit;
		left: -77px;
	}
	.bg-points.bg-tr:before {
		bottom: inherit;
		top: -57px;
		right: -77px;
		left: inherit;
	}
	.bg-bfr-points.bg-br-int:before {
		bottom: -60px;
		top: inherit;
		right: -50px;
		left: inherit;
	}
	.bg-bfr-points.bg-br-int.b:before{
		bottom: -118px;
		right: 81px;
	}
	.bg-points.bg-lc-int:before {
		bottom: inherit;
		top: calc(100% - 300px);
		right: inherit;
		left: 50px;
	}
	
	.link-m-over{
		transition: all .25s ease-in-out;
	}
	.link-m-over:hover{
		    flex-grow: 1.3 !important;
	}
	.etr-rg-45p{
		margin-right: calc(100% - 45vw) !important;
	}
	.etr-rg-45p img{
		width: 100% !important;
	}
	.w-100-p img{
		width: 100% !important;
	}
	.bg-aft-gr{
		position: relative;
	}
	.bg-aft-gr:after {
		content: '';
		background: #F5F5F5;
		position: absolute;
		display: block;
		left: -35%;
		top: 0;
		width: calc(100% + 35%);
		height: 100%;
		z-index: -2;
	}
	.bg-aft-gr.brd-rb-130:after{
		border-bottom-right-radius: 130px;
	}
	.rg-sep .wp-block-group:first-child{
		position: relative;
	}
	.bg-points.bg-lc-int:before {
		bottom: inherit;
		top: calc((100% - 300px)/2);
		right: inherit;
		left: -45px;
	}
	.desc-mrt--350px{
		margin-top: -350px !important;
	}
	.desc-p-rel-z2{
		position: relative;
    	z-index: 2;
	}
	.grp-z--2{
		z-index: -2;
	}
	.grp-z-2{
		z-index: 2;
	}
	.bf-zi-1{
		z-index: 1;
	}
	.part-carr .cb-button-prev{}
	
	.bg-aft-gr-ct{
		position: relative;
		z-index:1;
	}
	.bg-aft-gr-ct:after{
		content:'';
		display:block;
		position:absolute;
		width:100vw;
		height: 285px;
		left:-50%;
		top:0;
		background:#f5f5f5;
		border-radius:0 0 130px 0;
		z-index: -1;
	}
	.ct-map{
		margin-right : clamp(-50px, -5vw, -30px) !important;
		margin-left : -50% !important;
	}
	.ct-frm-2 .wpcf7 textarea {
		height: 320px;
	}
	.ct-frm-2 select {
		background:#AB1310;
		color:#fff;
		border-color:#AB1310;
	}
	.ct-frm-2 .wpcf7-not-valid-tip {
		font-size: 14px;
	}
}

@media (max-width: 989px) {
}

@media (max-width: 781px) {
	header.wp-block-template-part{
		margin-bottom: 25px;
	}
	header.wp-block-template-part .hd-logo{
		text-align:center;
	}
	header.wp-block-template-part .hd-logo img{
		height: 60px !important;
    	width: auto !important;
	}
	
	header.wp-block-template-part .pr-header{
		flex-direction: column !important;
		gap: 6px !important;
		margin-top: -25px !important;
	}
	
	header.wp-block-template-part .wp-block-navigation__responsive-container-open {
		position: fixed !important;
		top: 10px !important;
		right: 10px !important;
		background: #fff;
		border-radius: 3px;
		padding: 5px;
	}
	
	main .entry-content,
	.archive main{
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	
	main .entry-content .banniere,
	main .entry-content .wp-block-cover.mrt-m35,
	main .ban-actu{
		border-bottom-left-radius: 130px !important;
		padding-right: 5% !important;
		padding-left: 5% !important;
	}
	
	.home main .entry-content .wp-block-cover.mrt-m35,
	main .ban-actu{
		min-height: 50vh !important;
	}
	
	.slick-on-mobile.slick-dotted.slick-slider {
		margin-bottom: 50px !important;
	}
	.slick-on-mobile .slick-dots {
    	bottom: -35px !important;
	}
	.slick-on-mobile .slick-dots li button:before {
		font-size: 20px !important;
	} 
	
	.is-layout-flow > .alignright {
		margin-inline-start: 0 !important;
	}
	
	footer .ftr-row {
		flex-direction: column !important;
    	margin-left: 15px !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
		gap: 15px;
	}
	
	.yoast-breadcrumbs{
		    margin-top: 20px !important;
	}
	
	.ban-faq{
		padding: 0 !important;
		overflow: hidden !important;
	}
	.ban-txt {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}
}

@media (min-width: 660px) {
}

@media (max-width: 660px) {
	
}
