@charset "utf-8";
/* CSS Document */

.wp-site-blocks {
    overflow-x: hidden;
}

a:active, a:focus {
  outline: 0 !important;
  border: none !important;
  -moz-outline-style: none !important;
}

.a-re-over a{
	text-decoration: none;
}
.a-re-over a:hover{
	text-decoration: underline;
}
.sticky-header.sticky {
    z-index: 1000;
    position: fixed;
    top: 0;
    width: 100%;
    background: #fff;
	border-bottom: solid 1px #1c1c1c;
}
.sticky-header .wp-block-site-logo img{
	transition: all 0.15s ease;
}
.sticky-header.sticky  .wp-block-site-logo img{
	width: 160px;
    margin-top: -15px;
    margin-bottom: -15px;
}

.pre-header .wp-block-social-links .wp-social-link svg {
    height: 1.4em;
    width: 1.45em;
}

.h-menu-p .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item__content{
	font-weight: 600;
}
.h-menu-ombre{
	box-shadow: 0px 4px 7px 0px #0000002B;
}
.h-menu-tel, .h-menu-devis {
    background: #B71F39 !important;
    border-radius: 30px;
    padding: 4px 10px 3px !important;
}
.h-menu-devis {
    background: #2B2D7C !important;
}
.h-menu-tel a, .h-menu-devis a{
	background: transparent;
}
.h-menu-tel a span, .h-menu-devis a span{
	color:#FFF;
}

.wp-block-navigation__container .wp-block-navigation-item a{
	position: relative;
}
.wp-block-navigation__container .wp-block-navigation-item.current-menu-item a .wp-block-navigation-item__label{
	font-weight: 600;
}
.wp-block-navigation__container .wp-block-navigation-item a:hover{
	text-decoration: none;
}
.wp-block-navigation__container .wp-block-navigation-item a:after{
	content: '';
	display: block;
    position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height:1px;
	background:#000;
	transition: all 0.5s ease;
}
header ul.h-menu-p li.two-columns ul.wp-block-navigation-submenu > li.wp-block-navigation-item a:after {
	background: #B71F39 !important;
}
header ul.h-menu-p li.two-columns.vr ul.wp-block-navigation-submenu > li.wp-block-navigation-item a:after {
	background: #748E78 !important;
}
.wp-block-navigation__container .wp-block-navigation-item.h-menu-tel a:after,
.wp-block-navigation__container .wp-block-navigation-item.h-menu-devis a:after{
	background:#fff;
}
.wp-block-navigation__container .wp-block-navigation-item a:hover:after{
	width: 100%;
}
.footer-top-border{
	position:absolute;
	width: 100%;
	max-width:100%;
	top: -195px;
}
.footer-top-border img{
	width: 100%;
}
.s-footer .coord a:hover,
.d-cp-r a:hover{
	text-decoration: underline !important;
}
.btn-contact{
	border: solid 1px #000;
	border-radius:0 20px 0 20px;
	padding: 7px 20px !important;
	transition: all 0.5s ease;
}
.btn-contact:hover{
	background: #000;
}
.btn-contact:hover a{
	color: #fff !important;
}
.btn-contact:hover a:after{
	background:#fff !important;
}
.hr-w16-b2 {
    width: 16%;
    border-width: 0 0 2px 0;
}
.hr-w105px-b1 {
    width: 105px;
    border-width: 0 0 1px 0;
}
.hr-w280px-b1 {
    width: 280px;
    border-width: 0 0 1px 0;
}

.txt-marquee-rtl{
	overflow: hidden;
}
.txt-marquee-rtl [data-text]:before {
	animation-play-state: paused;
}
.txt-marquee-rtl [data-text] {
	white-space: nowrap;
	display: inline-block;
	cursor: pointer;  
}
.txt-marquee-rtl [data-text]:before,
.txt-marquee-rtl [data-text]:after {
	content: attr( data-text);
	display: inline-block;
	min-width: 50%;
}
.txt-marquee-rtl [data-text]:before {
	animation: marque-defil 20s infinite linear;
}
@keyframes marque-defil {
	0% {
		margin-left: 0;
	}
	100% {
		margin-left: -50%;
	}
}

.menu-ban{
	position: relative;
	overflow: hidden;
}
.menu-ban .wp-block-cover__image-background{
	transition: all .55s ease-in-out;
}
.menu-ban:hover .wp-block-cover__image-background,
.a-bk-lnk:hover+.menu-ban .wp-block-cover__image-background{
	transform: scale(1.1);
}
.p-rep{
	position: relative;
}
.a-bk-lnk{
	display:block;
	position:absolute;
	top:0;
	width: 100%; 
	height: 100%;
	z-index: 2;
}
.img-book figure.left{
	transform-origin: bottom right;
}
.img-book figure.right{
	transform-origin: bottom left;
}
.bn-vague .wp-block-cover__image-background {
	object-fit: fill;
}
.hp-real{
}
.hp-real .real-img{
	max-width: 285px;
	min-width: calc(50% + 16px);
}
.hp-real .real-det{
	width: 0;
	opacity: 0;
	max-height: 236px;
	overflow:hidden;
	
	transform-origin: bottom right;
	transform: perspective(2500px) rotateY(100deg);
	/*transition-duration: .700s;*/
	backface-visibility: hidden;
    transition-property: transform;
	
	transition: all .7s ease-in-out;
}
.hp-real:hover .real-det{
	display: inherit;
	transform: perspective(2500px) rotateY(0);
	width: 100%;
	opacity: 1;
}
.hp-real .real-det h3,
.hp-real .real-det .wp-block-post-excerpt{
	opacity: 0;
	transition: all .25s ease-in-out;
	transition-delay: .7s;
}
.hp-real:hover .real-det h3,
.hp-real:hover .real-det .wp-block-post-excerpt{
	opacity: 1;
}
.zi-2{
	position: relative;
	z-index: 2;
}

.span-ban {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 3px;
}
.span-ban.rg{
	background: #B71F39;
}
.span-ban.vr{
	background: #748E78;
}
.span-ban.vl{
	background: #2B2D7C;
}
.ombre-1{
	box-shadow: 0px 0px 13px 9px #00000012;
}
.ombre-2{
	box-shadow: 0px 0px 12px 0px #00000029;
}
.hide{
	display: none !important;
}
.p-a-600 a{
	font-weight: 600;
}
.btn-scale{
	transition: all .15s ease-in-out;
}
.btn-scale:hover{
	transform: scale(1.1);
}
.btn-scale a:hover{
	text-decoration: none !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;
}

.titre-style span{
	font-family: var(--wp--preset--font-family--eurostile-extended) !important;
	font-weight: 400 !important;
}
.incl{
	-webkit-transform: translateX(3px) rotate(-2deg);
    transform: translateX(3px) rotate(-2deg);
}
.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);
}
.brd-tl-tr-10{
	border-radius: 10px 10px 0 0;
}
.brd-10{
	border-radius: 10px;
}

.hp-realisations{
	display: flex;
	flex-wrap: wrap;
	/*gap: 25px;*/
}
.hp-realisations .realisation-item {
	padding: 10px 15px;
	text-align: center;
	flex: 1 1 calc(33.33% - 30px);
}

.hp-realisations .realisation-item .beforeAfter{
	height: 310px !important;
	overflow:hidden;
	border-radius: 10px;
} 
.hp-realisations .realisation-item .beforeAfter img{
	object-fit: cover;
	height: 100%;
    width: 100%;
}
.hp-realisations .realisation-item .titre{
	font-size: 15px;
	color: #fff;
	font-weight: 500;
}

.hp-temoignages .slick-track{
	padding: 45px 0 25px;
}
.hp-temoignages .temoignage-item {
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0px 0px 12px 0px #00000029;
    margin-left: 12.5px;
    margin-right: 12.5px;
	transition: margin .3s ease-in-out;
	position:relative;
}
.hp-temoignages .slick-current{
	margin-top: -25px;
}
.hp-temoignages .temoignage-item::before {
    content: '';
    background: url(./i-tem.svg);
    display: block;
    position: absolute;
    width: 31px;
    background-position: top;
    height: 23px;
    top: -10px;
    left: calc(50% - 20px);
}
.tm-vr .hp-temoignages .temoignage-item::before{
    background: url(./i-tem-vr.svg);
}
.hp-temoignages .temoignage-item .desc {
    height: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500px;
    margin-top: 27px;
	text-align:center;
}
.hp-temoignages .temoignage-item .nom{
	text-align: right;
	color: #2B2D7C;
	font-weight: 600;
	text-align:center;
}
.tm-vr .hp-temoignages .temoignage-item .nom{
	color: #58595B;
}
.hp-temoignages .temoignage-item .etoiles {
    text-align: right;
    margin: -10px 0 -15px;
}
.hp-temoignages .temoignage-item .etoiles img{
	display: inline-block;
	margin:0 2px;
}
.slick-dots li {
    width: 14px;
    height: 14px;
}
.slick-dots li button:before {
    border-radius: 5px;
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 9px;
    height: 9px;
    content: '';
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    border: solid 1px #2B2D7C;
    -moz-osx-font-smoothing: grayscale;
}
.tm-vr .slick-dots li button:before {
	border: solid 1px #748E78;
}
.slick-dots li.slick-active button:before{
	background:#2B2D7C;
}
.tm-vr .slick-dots li.slick-active button:before{
	background:#748E78;
}
.lst-actu-item a:hover{
	text-decoration: underline !important;
}

.contenu-detail-actu h2 {
    font-family: var(--wp--preset--font-family--eurostile-extd) !important;
        font-size: clamp(16.293px, 1.018rem + ((1vw - 3.2px) * 0.989), 25px) !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
}
.contenu-detail-actu h3{
    font-family: var(--wp--preset--font-family--eurostile-extd);
    font-size: font-size: clamp(14.642px, 0.915rem + ((1vw - 3.2px) * 0.836), 22px) !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
}
.mr-l---170{
	margin-left: -170px;
}
.mw-268{
	max-width: 268px;
}
.a-h-s a:hover{
	text-decoration: underline !important;
}

/*******Formulaire contact*******/
.form-row{
	width: 100%;
}
.column-half, .column-full {
    float: left;
    position: relative;
    padding: 6px 0;
    width: 100%;
    margin: 0;
}
.column-full{}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .custom-in-file, .wpcf7-select {
	width: calc(100% - 16px);
	padding: 8px;
	border: none;
	background: #F5F5F5;
	border-radius: 0px;
	-webkit-box-shadow: none !important;
  	box-shadow: none !important;
	color:#898989;
	font-family: var(--wp--preset--font-family--montserrat); !important;
	outline: none !important;
	font-weight:400;
	font-size: 11px;
}
.wpcf7-select{
	width: 100%;
}
.wpcf7 textarea{
	height: 90px;
}
.custom-in-file{
	display: block;
	white-space: nowrap;
}
.custom-in-file .wpcf7-form-control-wrap{
    display: inline-block;
    /*max-width: 50%;*/
    margin-left: 5px;
    color: #67D1C5;
    overflow: hidden;
    vertical-align: middle;
	position:relative;
}
.custom-in-file .wpcf7-form-control-wrap .wpcf7-file{
	font-size: 12px;
}
.custom-in-file:after{
	content:'';
	position:absolute;
	width:18px;
	height:18px;
	top:14px;
	right:14px;
	background:url(/wp-content/uploads/2025/05/i-download.png) center center no-repeat;
}
.custom-in-file input[type="file"]{
	border: none !important;
	outline: none !important;
}
.custom-in-file input[type="file"]::file-selector-button{
	display: none;
}
.wpcf7-not-valid{
	border: 1px solid #ef5555;
}
.wpcf7-not-valid-tip,
.wpcf7-list-item .wpcf7-list-item-label{
	font-family: var(--wp--preset--font-family--montserrat); !important;
	font-weight:400;
	font-size: 12px;
	color: #A2A2A2;
}
.wpcf7-not-valid-tip{
	color: #dc3232;
}
.custom-in-file .wpcf7-not-valid-tip{
	color: #dc3232;
}
.wpcf7 input[type="text"]::placeholder, 
.wpcf7 input[type="email"]::placeholder, 
.wpcf7 input[type="tel"]::placeholder, 
.wpcf7 textarea::placeholder{
	color: #A2A2A2;
}
.wpcf7 input[type="checkbox"]{
	border: 1px solid #fff;
	-webkit-box-shadow: none !important;
  	box-shadow: none !important;
	outline: none !important;
}
.wpcf7 .wpcf7-submit {
    border: solid 1px #B71F39;
    background: #B71F39;
    font-family: var(--wp--preset--font-family--montserrat); !important;
    font-size: 14px;
	font-weight: 500;
	text-transform:uppercase;
    color: #fff;
    border-radius: 0px;
    padding: 4px 35px;
    outline: none !important;
	border-radius: 15px;
}
.wpcf7 .wpcf7-submit:hover{
	background:#2B2D7C;
	border-color: #2B2D7C;
}
.wpcf7 .wpcf7-submit:disabled{
	opacity: .5;
}
.wpcf7-list-item {
    margin: 0 0 0 0;
}
.wpcf7-list-item .wpcf7-list-item-label {
    display: inline-block;
    width: 85%;
    vertical-align: middle;
    margin-left: 5px;
}
.wpcf7 .wpcf7-submit:hover {
	color:#d3af37;
}
/*@media (min-width: 660px) {
	.column-half{
		width: calc(50% - 6px);
	}
	.column-half:first-child{
		padding-right: 6px;
	}
	.column-half:last-child{
		padding-left: 6px;
	}
}*/
/********************************/

.h-pr{
	position:relative;
	padding-left:20px !important;
}
.h-pr.vr{
	padding-left:30px !important;
}
.h-pr:before{
	width:13px;
	height:13px;
	border-radius:10px;
	content:'';
	background:#B71F39;
	display:block;
	position:absolute;
	top:0px;
	left:0;
}
.h-pr.vr:before{
	background:#748E78;
}
.h-pr.mdl:before{
	top:calc(50% - 7.5px);
}
.acc-faq p.aab__accordion_title{
	font-size: 16px;
	font-weight: 600;
}
.acc-faq .wp-block-aab-accordion-block {
    border-radius: 10px !important;
	border: none !important;
}
.acc-faq .wp-block-aab-accordion-block .aab__accordion_head {
    border-radius: 10px !important;
}
.acc-faq .wp-block-aab-accordion-block .aab__accordion_component p {
	font-size: 14px;
}
.h-100p{
	height: 100%;
}

@media (max-width: 900px) {
}

@media (min-width: 992px ) {  
	header ul.h-menu-p li.two-columns ul.wp-block-navigation-submenu > li.wp-block-navigation-item {
		width: calc(50% - (var(--wp--preset--spacing--50) / 2));
	}
	header ul.h-menu-p li.two-columns ul.wp-block-navigation-submenu > li.wp-block-navigation-item .wp-block-navigation-item__label{
		display: flex;
		align-items: center;
    	gap: 7px;
	}
	header ul.h-menu-p li.two-columns.vr ul.wp-block-navigation-submenu > li.wp-block-navigation-item .wp-block-navigation-item__label{
    	color: var(--wp--preset--color--accent-1) !important;
	}
	header ul.h-menu-p li.two-columns{
		padding-bottom: 15px !important;
		margin-bottom: -15px !important;
	}
	header ul.h-menu-p li.two-columns > ul.wp-block-navigation-submenu {
		width: 340px !important;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		column-gap: var(--wp--preset--spacing--50);
		box-shadow: 0px 0px 13px 9px #00000012;
		border-radius: 18px;
		border: none;
		padding: 15px 20px;
		right: inherit !important;
		left: calc(-180px + 50%) !important;
	}
	
}

@media (max-width: 781px) {
	header .wp-block-site-logo{
		width: 100%;
		justify-content: center;
		display: flex;
	}
	header .wp-block-navigation__responsive-container-open svg{
		width: 30px !important;
		height: 30px !important;
	}
	.wp-block-navigation__responsive-container{
		padding: 15px !important;
	}
	.footer-top-border{
		display: none !important;
	}
	.footer-blk{
		margin-top: 30px !important;
		border-top: solid 1px #1c1c1c !important;
		position: relative;
	}
	.footer-blk:before{
		content:'';
		display: block;
		position:absolute;
		top: -10px;
		left:0;
		width: 100%;
		border-top: solid 1px #1c1c1c;
	}
	.footer-elements{
		justify-content: center !important;
	}
	.menus-footer{
		display: flex !important;
		flex-direction: row !important;
    	gap: 15px !important;
	}
	.menus-footer > figure {
	  order: -1;
	}
	.hp-banniere{
		min-height: 40vh !important;
	}
	.bn-vague{
		background: #2a2b2a;
	}
	.bn-vague .wp-block-cover__image-background{
		display: none !important;
	}
	
	.hp-real .real-det{
		display: inherit;
		transform: perspective(2500px) rotateY(0);
		width: 100%;
		opacity: 1;
		padding-top: 63px !important;
	}
	
	.hp-real .real-det h3,
	.hp-real .real-det .wp-block-post-excerpt{
		opacity: 1;
	}
	
	.col-feuille-gris-noir{
		display: flex;
    	justify-content: center;
	}
	.feuille-gris-noir{
		max-width: 247px;
	}
	.row-a-rev{
		flex-direction: column-reverse !important;
	}
	.hp-realisations {
		flex-direction: column; /* Stacks columns vertically on smaller screens */
	}
	.hp-realisations .realisation-item {
		flex: 1 1 auto; /* Allows items to take full width when stacked */
	}
	
	header .h-menu-p .wp-block-navigation__responsive-container-content,
	header .h-menu-p .wp-block-navigation__responsive-container-content ul,
	header .h-menu-p .wp-block-navigation__responsive-container-content .items-justified-right{
		justify-content: flex-start !important;
    	align-items: flex-start !important;
	}
	.wp-block-navigation.items-justified-right {
		--navigation-layout-justification-setting: flex-start !important;
		--navigation-layout-justify: flex-start !important;
	}
	
	main > .entry-content > .wp-block-group:not(:has(.wp-block-cover)){
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
	
	.mr-l---170 {
		margin-left: 0px;
	}
}

@media (max-width: 660px) {
}

@media (max-width: 599px) {
}
