
/* GLOBAL */	

	html{
		scroll-behavior: smooth;
		min-height: 100%;
		font-size:15px;
		background: var(--mc-white);
		scroll-padding-top: 100px;

		&.freezed{
			overflow: hidden;
		}
	}
	body{
		
		display: flex;
		flex-direction: column;
		/* min-height: 100vh; */
		max-width: 2000px;
		font-family: var(--mf-secondary);
		margin:0 auto;
		color:var(--mc-text);
		background-color: #FFF;
		line-height: 1.5;
	}
	
	a{
		color:var(--_clr-a);
		text-decoration:var(--_textdecoration-a);
		transition: color 0.2s ease-in-out 0s;

		&:hover{
			text-decoration:none;
			color:var(--_clr-a-hover);
		}
		&:focus{
			text-decoration:none;
			color:var(--_clr-a-hover);
			box-shadow:none !important;
		}
		&.disabled {
			color:#AAAAAA !important;
			pointer-events: none;
		}
	}
	
	img,
	picture,
	svg {
		max-width: 100%;
		display: block;
	}

	img {
		height: auto;
		font-style: italic;
		background-repeat: no-repeat;
		background-size: cover;
		object-fit: var(--img-fit, contain);

		&[onclick]{
			cursor: pointer;
		}
	}
	strong, b{
		--fw:600;
	}


	.h1{
		color:var(--c-title-h1);
		font-size: clamp(32px, 3.5vw, 30px);
		font-weight: var(--_font-weight,normal);
		line-height: 1em;
		letter-spacing: -2px;
		text-wrap: balance;
		margin-bottom: 0.5rem;
	}
	.h2{
		margin: 2rem 0 0.25rem 0;

		color:var(--c-title-h2);

		font-size: clamp(1.5rem,2.5vw,2.2rem);		
		font-weight: var(--_font-weight,normal);
		line-height: 1em;
		letter-spacing: -2px;
		text-wrap: balance;
	}
	.h3, h3{
		font-family: var(--mf-primary);
		color:var(--c-title-h3);		
		font-size: clamp(1.3rem,1.5vw,2rem);
		font-weight: var(--_font-weight,normal);
		line-height: 1em;
		letter-spacing: -1.5px;
		text-wrap: balance;
		margin-bottom: 0.25rem;
	}
	.h4, h4{
		font-family: var(--mf-primary);
		font-size: 1.5em;
		color:var(--c-title-h4);
	}
	.h5, h5{
		font-family: var(--mf-primary);
		font-size: 1.3em;
		color:var(--c-title-h5);
	}
	hr {
		display: block;
		height: 2px;
		background: #CCC;
		margin: 0 5px;
	}
	p{
		margin-top: 0;
		font-weight: var(--fw, 400);
	}

	ul {
		list-style-type: none;
		padding: 0;
		font-weight: var(--fw, 400);

		&.ul_custom {
			list-style-type: square;
			margin-left: 25px;
		}
	}


	label {
		font-weight: normal;
	}

	input.form-control,
	select.form-control {
		height: calc(1.5em + .75rem + 10px);
	}

	input.form-control,
	select.form-control,
	textarea.form-control {
		appearance: none;
		border:0 none;
		border-radius: 0;
		font-family: var(--font-main);
		font-size: 0.9em;
	}

	input.form-control:focus,
	select.form-control:focus,
	textarea.form-control:focus,
	input.form-control:focus-visible,
	select.form-control:focus-visible,
	textarea.form-control:focus-visible {
		-webkit-box-shadow: none;
		box-shadow: none;
		outline:unset;
	}

	.form-control::placeholder {
		color: red;
	}

	.form-control-inline {
		display: inline;
		width: auto;
	}

	.custom_select {
		position: relative;
		width: 100%;
		height: auto;
		overflow: hidden;
		text-overflow: ellipsis;

		&::after{
			content:"";
			position: absolute;
			top: 50%; 
			margin-top: -3px;
			right: 0;  
			display: block; 
			width: 0; height: 0;
			border-color: transparent;
			border-top-color: #444; 
			border-width: 6px;
			border-style: solid;
			pointer-events: none;
			transform: translateX(-150%);
		}

		& select {
			width: 100%;
			appearance: none;
		}
	}

		/* SPEC FORM FILTRES */
		.page_resultats .filtres .custom_select::after{
			transform: translateX(-75%);
		}


	@media (max-width: 767px) {	
		.custom_select{width: max-content;}
	}

	.d-none{display: none !important;}
	.inline-block{display: inline-block;}

	.text-center{text-align: center;}
	.text-left{text-align: left;}
	.text-right{text-align: right;}

	/* grilles auto... */
	.auto-grid{
		--min-column-size:22rem;
		display: grid;
		gap: 1rem;
		grid-template-columns: repeat(auto-fit, minmax(min(var(--min-column-size), 100%), 1fr));
	}
	.flexible-grid{
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;

		& > *{
			flex: 1;
		}
	}
	.scroll-snap-grid{
		--gap: 1rem;
		display: grid;
		gap: var(--gap);
		grid-auto-flow: column;
		grid-auto-columns: 33%;
		overflow-x: scroll;
		scroll-snap-type: x mandatory;
		scroll-padding: var(--gap);

		& > *{
			scroll-snap-align: start;
		}
	}

	.oy_hidden {
		overflow-y: hidden;
	}

	dialog{
		border: 0;
		border-radius: 20px;
		width: 75vw;
		height: 65dvh;
		margin-top: 10vh;
		margin-inline: auto;
		overflow: unset;	
		
		&.fit{
			width: fit-content;
			min-width: 300px;
		}

		&.dialog-sm{
			max-width: 768px;
			height: fit-content;
		}
		&.dialog-md{
			max-width: 999px;
		}
		&.dialog-lg{
			max-width: 1280px;
		}
		& .main_dialog_content{
			overflow-y: scroll;
			height: 100%;
		}
		
		&::backdrop{
			width: 100%;
			height: 100vh;
			background-color: rgba(0, 0, 0, 0.9);
		}
		&[open] {
			animation: showDialog 1s ease normal;
			-webkit-animation: showDialog 1s ease normal;
		}
		&.closing {
			animation: closingDialog 0.5s ease normal;
			-webkit-animation: closingDialog 0.5s ease normal;
		}
		& .btn_close_dialog{
			position: absolute;
			top: 0;
			right: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 40px;
			height: 40px;
			background-color: var(--mc-primary);
			color:#fff;
			border-radius: 50px;
			translate: 10px -10px;
		}

		@media (max-width:580px) {
			width: 85vw;
		}
		@media (max-width:480px) {
			width: 85vw;
			min-width: unset !important;
		}
	}

	@keyframes showDialog{
		from {
			transform: translateY(-200%);
		}
		to {
			transform: translateY(0%);
		}
	}
	@keyframes closingDialog{
		from {
			transform: translateY(0%);
		}
		to {
			transform: translateY(100vh);
		}
	}

	.container{
		max-width: unset;	
		width:min(var(--w-container), calc(100% - 1.5em));
		margin-inline:auto;

		& .container{
			width:min(var(--w-container), 100%);	
		}
	}

	.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {background-color: transparent;border:0 none;}
	.tooltip{letter-spacing: 0.5px;font-size: 14px;font-family:var(--mf-primary);}
	.annotation{font-size: 12px;font-style: italic;}

	.placeholder-img{object-fit: scale-down !important;opacity: 0.3;border: 1px solid #CFCFCF;}
	.ck-img-float-right{margin-bottom: 15px;margin-left: 15px;float:right;}
	.ck-img-float-left{margin-bottom: 15px;margin-right: 15px;float:left;}

	.splash_logo{
		position: absolute;top:30%;width: 100%;z-index:1000;text-align: center;
	}
	.splash_logo img{
		max-width: 200px;
	}

	@media (max-width: 768px) {
		
		.h1:where(.text-left,.text-right){
			padding-inline: unset !important;
		}
	}

	@media (max-width: 480px) {
		.ck-img-float-right, .ck-img-float-left{float: none;
		display: flex;-ms-align-items: center;align-items: center;}
	}



	.fb{--main-color: #3B5A9A;}
	.tw{--main-color: #00AEF0;}
	.ig{--main-color: #D93175;}
	.lk{--main-color: #007BB6;}
	.yt{--main-color: #FF0000;}

	.divider-bottom {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		overflow: hidden;
		line-height: 0;

		& svg {
			position: relative;
			display: block;
			width: calc(100% + 1.3px);
			height: 29px;
		}
		& .shape-fill {
			fill: #FFFFFF;
		}	
	}

/* HEADER */

	#header {
		.header__wrapper{
			.header__top{
				--_minh:35px;
				--_clr-a:var(--mc-text);
				--_clr-a-hover:var(--mc-primary-dark);

				display: none;/*flex*/
				align-items: center;
				min-height: var(--_minh);
				padding: 0.25rem 1rem;

				border-bottom: 1px solid;
				border-image: linear-gradient(to left, #CCC 20%, white 50%);
    			border-image-slice: 1;

				& > div{
					display: flex;
					align-items: center;
					justify-content: space-between;
					width: 100%;

					& div:nth-child(1){
						color:#FFF;
						font-weight: lighter;
						font-size: 0.9rem;
						padding-left: 70px;
					}
					& div:nth-child(2){
						display: flex;
						align-items: center;
						justify-content: end;
						gap: 1rem;
					}
				}
			}
			.header__body{
				--_border-bottom: 5px;
				position: relative;
				padding-inline: 1rem;
				
				& > .wrapper{
					display: grid;
					grid-template-columns: 300px 1fr;
					align-items: center;
					padding-top: 0;
					padding-bottom: 0;
				}

				.bloc_logo{
					display: flex;
					justify-content: center;
					padding-top: 0.5rem;
					padding-bottom: 0.5rem;

					.logo{
						display: flex;
					}
					img {
						display: inline-block;
						width: auto;
						height: 110px;
						object-fit: contain;
						border-radius: 10px;
					}
				}
				.slogan{

					img{
						position: absolute;
						top: 0;
						width: 150px;
						aspect-ratio: 1;
						object-fit: scale-down;
						translate:-50% 10%;
					}
				}

				& .coords{
					color:var(--mc-text);
					position: relative;
					padding-right: 100px;
		
					&::after{
						content: '';
						position: absolute;
						top: -24%;
						right: 0;
						display: block;
						width: 100px;
						height: 100px;
						background: transparent url(../../images/call.jpg) right 10px no-repeat;
						background-size: contain;
					}
		
					& .tel {
						font-size: 30px;
						text-align: right;
						padding-right: 45px;
						font-weight: 800;
		
						& .fa {
							color: var(--mc-primary-light);
						}
					}
		
					& .rappel {
						text-align: right;
		
					& .fa {
						font-size: 18px;
					}
		
					& .btn {
						margin-top: 0;
					}
					}
				}

			}		
			.header__bottom{
				display: none;
				padding: 1rem;
				background-color: var(--mc-primary);
				color:var(--mc-over-primary);

				.wrapper{
					text-align: center;
				}
			}	
		}		
		.socials_mobile{
			display: none;
		}
		.socials{
			display: flex;
			flex-flow: row wrap;
			gap:1rem;
			margin: 0;
		}
		.nav_mobile{
			display: none;
			padding-right: 1rem;

			a{
				--_clr-a:var(--mc-text);
				font-size: 1.5rem;
			}
		}

		@media (max-width:1200px){
			
			.nav_mobile{
				display: flex;
				gap: 2rem;
				justify-content: end;
			}
			.header__wrapper{
				.header__top{
					.container{
						div:nth-child(1){
							padding-left: unset;
						}
					}
				}
				.header__body{
					&> .wrapper{
						display: flex;
						align-items: center;
						justify-content: space-between;
					}
					.bloc_logo{	
						padding-inline: 2rem;
					}
				}
			}

		}
		@media (max-width:768px){
			.header__wrapper{	
				.header__top{
					display: none;
				}			
				.header__body{
					.bloc_logo{						
						justify-content: start;
						padding: 0;
						
						.logo {
							padding: 0.5rem;

							img{
								width:unset;
								height: 70px;
							}
						}
					}					
					.slogan{
						img{
							display: none;
						}
					}
				}
			}
			.coords {
				display: none;
			}
			/* .socials_mobile{
				display: unset;
			}
			.socials{
				position: absolute;
				top: calc(var(--_minh) + 0.25rem);
				right: 0;
				z-index: 101;
				translate: 99% 0;
				display: flex;
				flex-flow: column;
				gap: 0.25rem;
				margin-top: 0;
				padding: 1rem;
				background-color: #fff;

				&.show{
					translate: 0 0;

					a{
						color:var(--mc-primary);
					}
				}
			} */
		}
	}

/* FOOTER */

	.footer{
		--_h_sep:20px;
		--c-title-h1:var(--mc-white);
		--_clr-a:var(--mc-primary);
		
		position: relative;
		margin-top: 0;

		color:var(--mc-grey-dark);
		background-color: #f5f5f5;

		.titre_box{
			margin-top: 0;
			letter-spacing: 0;
			font-weight: 600;

			&:not(:empty)::after {
				content: '';
				display: block;
				width: 100px;
				height: 1px;
				margin-top: 0.25rem;
				margin-bottom: 1rem;
				background-color: var(--mc-primary);
			}
		}

		.topfooter{
			position: relative;
		}
		.middlefooter{
			
			.wrapper{

				display: grid;
				grid-template-columns: 1fr 3fr;
				grid-template-areas:
					'section2 infos'
				;
				gap:2rem;
				padding: 2rem 0 2rem 0;

				.box_pages_section{				

					&.section_2{
						grid-area: section2;
					}
					&.section_3{
						grid-area: section3;
						
					}

					ul{
						display: flex;
						flex-direction: column;
						gap: 0.25rem;

						li{
							&::before{
								content:'>';
								display: inline-flex;
							}

							a{
								&:hover{
									--_clr-a:var(--mc-secondary);
								}
							}
						}
					}

				}
				.box_infos{
					grid-area: infos;

					.infos__contact{
						p{
							margin: 0;
						}
					}
					.infos__legales{
						display: grid;
						margin-top: 0.25rem;
						font-size: 0.9rem;
					}
				}
			}
		}
		.bottomfooter{			
			--_clr-a-hover:var(--mc-secondary);

			.socials{
				display: flex;
				flex-direction: row;
				justify-content: center;
				width: 100%;
				gap: 2rem;
				font-size: 1.5rem;
			}
		}

		@media (max-width: 999px) {

			.titre_box{
				&:not(:empty)::after {
					margin-inline: auto;
				}
			}
			.topfooter{
				&::after{
					--_bg-direction:to top;
				}
			}
			.middlefooter{				
				.wrapper{				
					grid-template-columns: 1fr;
					grid-template-areas:
					'section2'
					'section3'
					'infos'
					;
					place-items: center;

					.box_infos{
						.tel{
							margin: 2rem;
							justify-content: center;
						}
						.agences{
							ul{
								display: grid;
								grid-template-columns: 1fr 1fr;
								gap: 2rem;

								li{
									padding-bottom: 1rem;
									border-bottom: 1px solid var(--mc-primary);
								}
							}
						}
					}

				}
			}
		}
		@media (max-width: 768px) {
			.middlefooter{
				.wrapper{				
					grid-template-columns: auto;
					grid-template-areas:
					'section2'
					'section3'
					'infos'
					;
					justify-content: center;
					text-align: center;

					.box_infos{
						.agences{
							ul{
								display: grid;
								grid-template-columns: 1fr;
								gap: 2rem;
							}
						}
					}
				}
			}
		}
	}

	.copyright{
		.wrapper{
			padding: 1rem 0;
			text-align: center;

			p{
				font-size: 0.8rem;
			}
			a{
				--_clr-a:var(--mc-primary-dark);
				font-weight: 600;
				font-size: 0.8rem;
			}
		}

		@media (max-width: 768px) {
			font-size: 0.8rem;
			padding-bottom: 2rem;
		}
	}

/* NAVIGATION */

	.nav_top{
		& ul{
			margin: 0;
		}
	}

	@media (min-width:1200px) {
		#section-nav{			
			background-color: var(--mc-primary);
		}
		.main_nav{
			position: relative;
			display: flex;
			justify-content: start;
			align-items: center;
			margin-top: 1.5rem;

			& .main_nav_toggle{
				display: none;
			}

			& > ul {
				position: relative;
				display: flex;
				align-items: center;
				justify-content: end;
				gap:1.5rem;
				width: 100%;
				margin: 0;
				margin-bottom: 0.5rem;

				& > li {
					--_clr-a:var(--mc-text);
					position: relative;
					display: inline-flex;
					text-align: left;
					vertical-align: top;
					border: 0px solid #999;
					padding: 1rem;

					&:hover{
						&::before{
							opacity: 1;
							visibility: visible;
							width: 100%;
						}
						& > a {
							text-decoration: none;
							color: var(--_clr-a);

							&::before {						
								visibility: visible;
								width: 100%;
							}
						}	
						& > ul {
							transform: translateX(0px) translateY(100%);
							visibility: visible;
							opacity: 1;
						}
					}
					& > a {
						display: inline-flex;
						align-items: center;

						font-size: 0.9rem;
						font-weight: 700;
						letter-spacing: 1px;
						text-decoration: none;
						text-transform: uppercase;
						
						transition: all 0.25s ease;

						&::before {
							content: '';
							position: absolute;
							bottom: 2px;
							left: 0;
							right: 0;
							margin: auto;
							visibility: hidden;
							width: 0%;
							height: 1px;
							-webkit-transition: all .3s ease-in-out 0s;
							transition: all .3s ease-in-out 0s;
							background-color: var(--mc-primary);
						}
						& span {
							white-space: nowrap;

							& span.soustitre{
								flex-direction: column;
								align-items: start;
								line-height: 1em;
							}
						}
						& > span {
							display: flex;
							flex-direction: column;
						}
					}
					&:has(ul){
						& > a::after {
							content: '\f107';
							font-family: 'Fontawesome';
							vertical-align: unset;
							border: 0 none;
							margin-left:0.25rem;
						}
					}
					& > ul {
						position: absolute;
						z-index: 1000;
						bottom: 0;
						left: -3px;
						min-width: 250px;
						display: flex;
						flex-direction: column;
						margin: 0px;
						padding: 0px;
						padding-top: 10px;
						padding-bottom: 10px;

						list-style-type: none;
						background-color: rgba(255, 255, 255, 0.9);
						text-align: left;
						border: 0 none;
						border-bottom: 1px solid #CCC;
						visibility: hidden;
						opacity: 0;
						box-shadow: none;
						border-radius: 0;
						transition: all 0.25s ease;
						transform: translateX(-10px) translateY(100%);

						& li {
							position: relative;
							line-height: 1em;

							&:hover {
								background-color: transparent;

								& > ul {
									transform: translateX(0px);
									visibility: visible;
									opacity: 1;
								}
							}

							& a {
								display: block;
								padding: 8px 15px;
								color: #000;
								font-size: 0.95em;
								text-transform: none;
								letter-spacing: normal;
								white-space: nowrap;

								&:hover {
									text-decoration: none;
									background-color: transparent;
									color: var(--mc-primary);
									-webkit-transition: all 0.25s ease;
									-moz-transition: all 0.25s ease;
									transition: all 0.25s ease;
								}
							}

							& ul {
								top: 0px;
								left: 100%;
								white-space: nowrap;
								visibility: hidden;
								opacity: 0;
								-webkit-transition: all 0.25s ease;
								-moz-transition: all 0.25s ease;
								transition: all 0.25s ease;
								-webkit-transform: translateX(-10px);
								-moz-transform: translateX(-10px);
								transform: translateX(-10px);
							}

						}
					}

					&.btn_rejoindre{
						background: var(--mc-secondary);
						--_clr-a: var(--mc-over-primary);
						border-radius: 10px;

						& > a{
							&::before {
								display: none;
							}
						}
					}
				}
			}
		}

		.main_nav ul > li:hover > a::before,
		.main_nav ul > li > a.active::before {
			visibility: visible;
			width: 100%;
			/*-webkit-transform: scaleX(1);
			transform: scaleX(1);*/
		}


		.main_nav ul>li>ul {
			left: calc(13px);
		}

		.main_nav ul>li:first-child>ul {
			left: 0px;
		}

		.main_nav ul>li ul.dropdown-submenu {
			padding-top: 3px;
		}
	}

	@media (max-width:1200px) {
				
		.main_nav{
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			z-index: 2000;
			padding: 60px 1rem 1rem;
			background: #fff;
			height: calc(90vh);
			overflow: auto;
			box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
			translate: 100% 0;
			opacity: 0;
			visibility: hidden;
			transition: .3s all ease-in-out;
			
			&.open{
				right: 8%;
				translate: 10% 0;
				opacity: 1;
				visibility: visible;
			}
			.main_nav_toggle{
				position: absolute;
				top: 2rem;
				right: 2rem;
				font-size: 2rem;
			}
			
			ul{
				padding: 0;
			}
			& > ul{
				display: flex;
				flex-direction: column;

				& > li{

					& a{
						display: block;
						padding:0.75rem 0.25rem;
					}
					& > a{
						--_clr-a:var(--mc-text);
						position: relative;
						display: flex;
						justify-content: space-between;

						font-size: 1.125rem;
						font-weight: bold;

						border-bottom:1px solid #CCC;
					}

					&:has(.dropdown-menu){
						& > a::after{
							content:'\f107';
							font-family: "Font Awesome 6 Free";
						}
					}
					& > ul{
						position: relative;
						padding-left: 1rem;
					}
				}
			}
		}

	}

/* SLIDER */

	.slider{
		--swiper-pagination-color:var(--mc-primary-light);
		--swiper-pagination-bullet-inactive-color:var(--mc-grey);
	}

	#sliderHome{
		--_h_slider:70vh;
		--_w_form:100%;
		position: relative;
		isolation: isolate;
		
		.bloc_slider{
			position: relative;
			width: 100%;

			.goToContent{
				position: absolute;
				bottom: 1rem;
				left: 0;
				right: 0;
				z-index: 1000;
				display: flex;
				align-items: center;
				justify-content: center;

				a{
					display: flex;
					align-items: center;
					justify-content: center;
					width: 40px;
					height: 40px;
					background-color: #fff;
					border-radius: 10px;
				}
			}
		}		
		> .container{	
			position: relative;		
			display: flex;
			flex-direction: row;
			align-items: center;
			gap:1rem;
		}
		.sliderHome{
			height:var(--_h_slider);
			

			.item{
				position: relative;
				width: 100%;
				background-image: var(--bg-image);
				background-color: transparent;
				background-repeat: no-repeat;
				background-size: cover;
	
				img{
					--img-fit:cover;
					width: 100%;
					height: var(--_h_slider);
				}
	
				.item_wrapper{
					position: relative;
					height: var(--_h_slider);
				}
	
				.caption{
					height: var(--_h_slider);
	
					.caption_inner{
						position: absolute;
						z-index: 10;
						left:50%;
						translate: -50% 0;
						bottom: 33%;
						width: min(var(--w-container), calc(100% - 1.5em));
						display: flex;
						flex-direction: column;
						justify-content: start;
						padding-left: 2rem;
		
						.surtitre{
							max-width: 70%;
							margin-bottom: 1rem;
							font-size: clamp(1rem,2.5vw,1.2rem);
							line-height: 1.1em;
							font-weight: 600;
							color:#FFF;
							text-shadow: 1px 2px 10px #000;

							&::before{
								content: '';
								display: inline-block;
								width: 15px;
								height: 15px;
								margin-right: 0.5rem;
								background-color: var(--mc-secondary);
							}
						}
						.titre{
							max-width: 70%;
							font-size: clamp(2rem,5vw,3rem);
							line-height: 1.1em;
							font-weight: 800;
							color:#FFF;
							text-shadow: 1px 2px 10px #000;
							/*Animation*/
								opacity: 0;
								transform: translateY(-2rem);
  								transition: opacity 1s ease, transform 1s ease;
						}
						.texte{
							max-width: 70%;
							font-size: clamp(1rem,3vw,1.8rem);
							color:#FFF;
							line-height: 1.2em;
							text-shadow: 1px 2px 10px #000;
							/*Animation*/
								opacity: 0;
						}
						.liens{
							display: flex;
							gap: 1rem;
							margin-top: 1rem;
							margin-bottom: 3rem;
							max-width: 70%;
							/*Animation*/
								opacity: 0;
						}
					}
				}

				&.glide__slide--active{
					
					& .caption{
						background-color: #CCC;
						
						& .caption_inner{
							& .titre{
								opacity: 1;
								transform: translateY(0px);
							}
							& .texte{
								opacity: 1;
							}
							& .liens{
								opacity: 1;
							}
						}
					}
				}
			}
			.swiper-button-next::after, .swiper-button-prev::after{
				display: none;
			}
		}
		
		@media (max-width:999px){
			--_h_slider: 60vh;

			& > .container{		
				width: 100%;
				flex-direction: column;
				margin: 0;
				gap: 0;
			}
			.bloc_slider{
				width: 100%;

				& .sliderHome{
					& .item{
						background-size: contain;

						&::after{
							display: none;
						}
						& .caption{

							& .caption_inner{
								inset:0;
								translate: unset;
								width: unset;
								justify-content: center;
								align-items: center;
								margin: 0;
								padding: 0;

								& *{
									text-align: center;
									max-width: unset;
								}
								& .lien{
									display: none;
								}
							}
						}
					}
					& .autoplay-progress{
						display: none;
					}
				}
			}
		}
		@media (max-width:580px){
			.sliderHome{
				.item{
					.caption{
						.caption_inner{
							.liens{
								flex-direction: column;
								align-items: center;
								text-align: center;
								width: 100%;
							}
						}
					}
				}
			}
		}

	}

/* BLOC INTRO HOME */

	.banner_info {
		position: relative;
		padding: 2rem;
		background-color: #f5f5f5;	

		& .inner {	
			display: grid;
			grid-template-columns: 210px auto;
			grid-template-rows: auto;
			grid-template-areas: 
				'livraison titre'
				'livraison soustitre'
				'livraison avantages'
			;
			width: 80%;
			margin: auto;

			& .livraison{
				grid-area: livraison;
				& img{
					rotate:-10deg;
				}
			}
			& .titre {
				grid-area: titre;
				text-align: center;
				font-size: 35px;
				text-transform: uppercase;
				letter-spacing: -1.5px;
				font-weight: bold;
				line-height: 1.1em;
			}
			& .soustitre {
				grid-area: soustitre;
				text-align: center;
				font-size: 24px;
				text-transform: uppercase;
				letter-spacing: -1px;
				line-height: 1.1em;
			}
			& .avantages {
				grid-area: avantages;
				display: flex;
				align-items: center;
				justify-content: space-around;
				flex-wrap: wrap;
				margin-top: 15px;
				font-family: var(--mf-cursive);

				& li {
					font-size: 1.5rem;
					padding-bottom: 5px;
					border-bottom: 2px solid #f8f8f8;
					transition: 0.5s;
					letter-spacing: -0.2px;

					&:hover {
						border-bottom: 2px solid var(--mc-primary);
						cursor: default;
					}

					& .fa{
						color:var(--mc-primary);
					}
				}
			}
		}
		

		@media (max-width:999px){
			& .inner{
				width: 100%;
			}
		}
		@media (max-width:768px){
			& .inner{
				display: flex;
				flex-direction: column;
				align-items: center;
				grid-template-areas: unset;
				width: 100%;
				
				& .titre {
					font-size: 25px;
				}
				& .soustitre {
					font-size: 12px;
					line-height: 2em;
				}
				& .avantages{
					flex-direction: column;
				}
			}
		}
	}
	
	.page_home .banner_info .titre span,
	.page_home .banner_info .soustitre span {
		color: #ea202e;
	}

/* PAGES */

	.pg{
		padding-bottom: 3rem;	

		:has(.surtitre) .h2{
			margin-top: 0;
		}
		h1{
			--_font-weight: 500;
		}
		.h2{
			--_font-weight:700;
			--c-title-h2:var(--mc-primary-dark);

			span{
				display: inline-block;

				&:not(:empty)::after{
					content: '';
					display: block;
					width: 200px;
					height: 1px;
					margin-top: 0.5rem;
					margin-bottom: 1rem;
					background: linear-gradient(to right, var(--mc-secondary) 75%, var(--mc-white));
				}
			}
		}
		h3{
			--c-title-h3:var(--mc-grey-dark);
			--_font-weight:500;
			display: flex;
			align-items: baseline;
			gap: 0.5rem;
			margin-bottom: 0.5rem;
		}

		.pg_header{
			--_height:35vh;
			position: relative;
			height: var(--_height);

			.titre{
				position: absolute;
				inset: 0;
				width: 100%;
				max-width: var(--w-container);
				height: 100%;
				display: flex;
				justify-content: start;
				align-items: center;
				margin-inline: auto;
				padding-inline: 1rem;

				font-size: 6rem;
				font-weight: 700;
				line-height: 0.8;
				
				color: rgba(255,255,255,1);


			}

			img{
				width:100%;
				height: var(--_height);
				object-fit:cover;
			}
		}
		.surtitre{
			display: flex;
			align-items: center;
			font-weight: 500;
			color: var(--mc-primary);

			&::before{
				content: '';
				display: inline-block;
				width: 15px;
				height: 15px;
				background-color: var(--mc-primary);
				margin-right:0.5rem;
			}
		}
		.texte{
			h3{
				margin-bottom: 1rem;
			}
		}

		@media (max-width:768px) {
			& .pg_header{
				--_height:15vh;

				.titre{
					font-size: 3rem;
				}
			}
			:has(.surtitre) .h2{
				margin-top: 0.5rem;
				margin-bottom: 1rem;
			}
		}
	}	

	#contenu_page{
		min-height: 50vh;

		& .texte{			
			color:var(--mc-text);

			& p{				
				color:var(--mc-text);
			}
			& a{
				--_clr-a: var(--mc-primary-dark);
				--_textdecoration-a: underline;

				&:hover{
					text-decoration: none;
				}
			}
			& ul{
				list-style-type: disc;
				padding-left: 1rem;
				margin-left: 1rem;
			}
		}
	}

	.body_home{
		/* & #header{
			& .header__wrapper{
				& .header__body{
					& > .wrapper{
						& .bloc_logo{					
							justify-content: center;
						}
					}
				}
			}
		} */
		& .contenu{
			background:linear-gradient(to bottom, #F8F8F8, #FFFFFF 100px);
		}
	}
	.page_home{

		& .h2{
			--c-title-h2:var(--mc-primary);
		}
		& #home__avis{
			background-color: #f8f8f8;
			padding-top: 3rem;
			padding-bottom: 5rem;

			& > .titre{
				text-align: center;
			}

			& .liste_temoignage{
				display: grid;
				grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
				gap: 2rem;
				margin-top: 2rem;

				& .item{
					display: flex;
					flex-direction: column;
					justify-content: center;
					text-align: center;

					& .visuel {
						display: flex;
						justify-content: center;
						margin-bottom: 0.5rem;

						& img{
							width: 150px;
							height: 100px;
							object-fit: scale-down;
						}
					}
					& .auteur{
						padding: 1rem;
						color:var(--mc-primary);
					}
				}
			}
		}
	}	

/* BLOC PAGE */

	.pg_home .home_section .page_section_ligne{
		position: relative;
		overflow: hidden;
		/* overflow-x: hidden; */
		z-index: 2;
		--c-text:var(--mc-text);
	}

	.home_section .home_section_ligne:first-child{padding-top:0;}
	.home_section .page_section_ligne.format_1{padding-bottom: 0;}

	#blocsaccueil{
		overflow:unset;
		
		& > div > .wrapper {
			margin-top: -150px;
		}
	}

	/* FORMAT 1 TITRE TEXTE SIMPLE */

		.format_1{padding: 2em 0;}
		.format_1 .soustitre{font-weight: bold;}
	/* FORMAT 4 FORMULAIRE DE CONTACT */
		.item-format-contact{
			display: grid;
			grid-template-columns: repeat(2,1fr);
			grid-template-rows: repeat(4,auto) 1fr;
			grid-template-areas: 
				'surtitre form'
				'titre form'
				'soustitre form'
				'texte form'
				'lien form'
			;
			gap:1rem;

				&.form_pos_left{
					grid-template-areas: 
					'form surtitre'
					'form titre'
					'form soustitre'
					'form texte'
					'form lien'
				};
				&.form_pos_top{
					grid-template-areas: 
					'form'
					'surtitre'
					'titre'
					'soustitre'
					'texte'
					'lien'
				};
				&.form_pos_bottom{
					grid-template-areas: 
					'surtitre'
					'titre'
					'soustitre'
					'texte'
					'lien'
					'form'
				};
		
			.surtitre{
				grid-area: surtitre;
			}
			.titre{
				grid-area: titre;
			}
			.soustitre{
				grid-area: soustitre;
			}
			.texte{
				grid-area: texte;
			}
			.lien{
				grid-area: lien;
			}
			.form{
				grid-area: form;
				padding: 0;
			}
			.contact_retour{
				padding-top: 3rem;
			}

			@media (max-width: 768px) {
				display: flex;
				flex-direction: column;

				& .form{
					width: min(450px, 100%);
					margin-inline:auto;
				}
			}
		}
	/* FORMAT 6 BANDEAU IMAGE */
		.item-format6{
			position: relative;
			--c-text:white;
			--c-title-h2:white;

			.wrapper{
				position: relative;
				overflow: hidden;
				display: flex;
				justify-content: center;
				align-items: center;
				flex-direction: column;
				height: var(--height,300px);
				background-color: #DDD;
				isolation: isolate;
			}
			.visuel{
				position: absolute;
				z-index: -1;
				display: block;
				width: 100%;
				height: 100%;
				&::before{
					content:'';
					position: absolute;
					display: block;
					width: 100%;
					height: 100%;
					background:linear-gradient(to top, rgba(0,0,0,0.8), transparent);

				}
				img{
					width: 100%;
					height: 100%;
					object-fit: var(--img-fit);
					object-position: var(--img-position, bottom center);
				}
			}
			.titre{
				color:var(--mc-text);
				display: flex;
				align-items: center;
				justify-content: center;
			}
			.texte{
				color:var(--mc-text);
				text-wrap: balance;
			}

			@media (max-width: 768px) {
				.texte{
					*{
						font-size: clamp(1.2rem,3vw,2rem) !important;
					}
				}
			}
		}

	/* FORMAT 2 TITRE + VISUEL DROITE/GAUCHE */
		.home_section .item-format2{
			/* display: grid; */
			gap: 2.5rem;

			& .bloc_contenu{
				display: flex;
				flex-direction: column;
	
				&.top-left{
					justify-content: start;
					align-items: start;	
				}
				&.top-center{
					justify-content: start;
					align-items: center;	
				}
				&.top-right{		
					justify-content: start;
					align-items: end;
				}
				&.center-left{
					justify-content: center;
					align-items: start;	
				}
				&.center-center{
					justify-content: center;
					/* align-items: center;	 */
				}
				&.center-right{
					justify-content: center;
					align-items: end;		
				}
				&.bottom-left{
					justify-content: end;
					align-items: start;	
				}
				&.bottom-center{
					justify-content: end;
					align-items: center;		
				}
				&.bottom-right{
					justify-content: end;
					align-items: end;	
				}
			}
			& .titre{
				/* color: var(--c-title); */
				grid-area: 1 / 2 / 2 / 3;
			}
			& .soustitre{
				margin:1em 0;
				font-size: 1.3em;
				grid-area: 2 / 2 / 3 / 3;
			}
			& .visuel{
				grid-area: 1 / 1 / 4 / 2;			
				display: grid;
				width: 100%;
				height: 100%;
				justify-content: center;
				align-items: center;

				img{
					width: var(--img-width, 100%);
					height: var(--img-height, auto);
					object-fit: var(--img-fit, 'scale-down');
					object-position: var(--img-position, 'center center');
				}
	
				&.top-left{			
					align-items: start;	
					justify-content: start;
				}
				&.top-center{		
					align-items: start;		
					justify-content: center;
				}
				&.top-right{		
					align-items: start;		
					justify-content: end;
				}
				&.center-left{			
					align-items: center;	
					justify-content: start;
				}
				&.center-center{		
					align-items: center;		
					justify-content: center;
				}
				&.center-right{		
					align-items: center;		
					justify-content: end;
				}
				&.bottom-left{			
					align-items: end;	
					justify-content: start;
				}
				&.bottom-center{		
					align-items: end;		
					justify-content: center;
				}
				&.bottom-right{		
					align-items: end;		
					justify-content: end;
				}
	
			}
			& .texte{
				grid-area: 3 / 2 / 4 / 3;
			}
			& .lien{
				grid-area: 4 / 1 / 5 / 5;
				margin:1em 0;
			}

			@media (max-width: 1200px) {
				& .visuel {
					& img{
						height: min(250px, 40vh) !important;
					}
				}
			}
		}		

		/*img à droite*/
			.home_section .item-format2-droite{
				display: grid;
				grid-template-columns: 1fr 1fr;
				column-gap: 1em;
				row-gap: 0.5em;
				
				& .titre{
					grid-area: 1 / 1 / 2 / 3;
				}
				& .soustitre{
					margin:0 0 1em 0;
					font-size: 1.3em;
					grid-area: 2 / 1 / 3 / 3;
				}
				& .visuel{
					grid-area: 1 / 2 / 4 / 3;
					display: grid;
					justify-content: center;
				}
				& .texte{
					grid-area: 3 / 1 / 4 / 2;
				}

				@media (max-width: 999px) {
					
				}
			}

		/*img au dessus*/
			.home_section .item-format2-dessus{
				display: grid;
				grid-template-columns: 1fr;
				column-gap: 1em;
				row-gap: 0.5em;
				
				& .titre{
					margin-top:0.5em;
					grid-area: 2 / 1 / 3 / 3;
				}
				& .soustitre{
					margin: 0;
					font-size: 1.3em;
					grid-area: 3 / 1 / 3 / 3;
				}
				& .visuel{
					grid-area: 1 / 1 / 2 / 3;
				}
				& .texte{
					grid-area: 4 / 1 / 4 / 3;
				}
			}
		/*img entre titre et texte*/
			.home_section .item-format2-entre{
				display: grid;
				grid-template-columns: 1fr;
				column-gap: 1em;
				row-gap: 0.5em;
				
				& .titre{
					margin-top:0.5em;
					grid-area: 1 / 1 / 2 / 3;
				}
				& .soustitre{
					margin: 0;
					font-size: 1.3em;
					grid-area: 3 / 1 / 3 / 3;
				}
				& .visuel{
					grid-area: 2 / 1 / 3 / 3;
				}
				& .texte{
					grid-area: 4 / 1 / 4 / 3;
				}
			}
		
		/*img en dessous*/
			.home_section .item-format2-dessous{
				display: flex;
				flex-direction: column;
				column-gap: 1em;
				row-gap: 0.5em;
				
				& .titre{
					margin-top:0.5em;
					order: 1;
				}
				& .soustitre{
					order: 2;
					margin: 0;
					font-size: 1.3em;
				}
				& .visuel{
					order: 4;
				}
				& .video{
					order: 4;
				}
				& .texte{
					order: 3;
				}
			}
		

		/* STRUCTURE AVEC COLONNES */
			.home_section {
				& .item-format2.col_structure{
					display: flex;
					flex-flow: row wrap;
				}

				@media (max-width:768px) {
					& .item-format2.col_structure{
						flex-direction: column !important;
					}
				}
			}
			.home_section .item-format2.col_1-1{
				flex-flow: row wrap;
			}
			.home_section .item-format2.col_1-1 > div:nth-child(1){
				flex:1;
			}
			.home_section .item-format2.col_1-1 > div:nth-child(2){
				flex:1;
			}
			.home_section .item-format2.col_2-1 > div:nth-child(1){
				flex:1;
			}
			.home_section .item-format2.col_2-1 > div:nth-child(2){
				flex:3;
			}
			.home_section .item-format2.col_1-2 > div:nth-child(1){
				flex:3;
			}
			.home_section .item-format2.col_1-2 > div:nth-child(2){
				flex:1;
			}
			/* 66 - 33 */
			.home_section .item-format2.col_66-33 > div:nth-child(1){
				flex:1;
			}
			.home_section .item-format2.col_66-33 > div:nth-child(2){
				flex:2;
			}
			/* 33 - 66 */
			.home_section .item-format2.col_33-66 > div:nth-child(1){
				flex:1;
			}
			.home_section .item-format2.col_33-66 > div:nth-child(2){
				flex:2;
			}
			.home_section .col_structure.item-format2-droite{
				flex-flow: row-reverse wrap;
			}

		.home_section .item-format2-bgimg{
			display:flex;
			flex-direction: column;
			justify-content: center;
			width:100%;
			background-size:cover;
			height:var(--bg-height,300px);
			background-image: var(--bg-image, 'none');
		}
		.home_section .item-format2-bgimg h1{
			padding-left: 0 !important;
		}
		.home_section .item-format2-bgimg .visuel{
			display: none;
		}
		.home_section .item-format2-bgimg .infos{
			width: 100%;
		}
		
	/* FORMAT 3 GALERIE PHOTO */

		.format_3{
			& h2{
				margin-bottom: 1em;
			}
			& .lien{
				text-align: center;
			}
		} 

		.items-format3{
			--_nb_col:3;
			display: grid;
			grid-template-columns: repeat(var(--_nb_col), 1fr);
			gap:1rem;

			&.type-1{/*mosaique 3 col*/				
				--_nb_col:3;
			}
			&.type-2{/*mosaique 4 col*/				
				--_nb_col:4;
			}
			&.type-mos5{/*mosaique 5 col*/				
				--_nb_col:5;
			}
			&.type-mos6{/*mosaique 6 col*/				
				--_nb_col:6;
			}
			&.galerie_carousel{/*carousel 1/2/3 col*/		
				--_nb_col:unset;	
				display: initial;
				grid-template-columns: unset;

				.glide__track{
					width: 100%;
				}
			}
			.item{
				flex: 1;
				padding: 1em;

				.item-wrapper{
					img{
						width:100%;
						height:var(--img-h);
						object-fit:var(--img-fit,cover);
						transition: all 0.3s;
					}
					figure{
						margin: 0;
						padding: 0;
		
						a{
							position: relative;
							display: block;
							overflow: hidden;
							line-height: 0;
				
							transition: scale 0.3s;
				
							/*&::before{
								content:'';
								display: block;
								position: absolute;
								inset: 0;
								background-color: rgba(0, 0, 0, 0.3);
								opacity: 0;
								transition: opacity 0.25s ease-in-out;
							}*/
							&:hover{
								scale:1.03;
				
								&::before{
									opacity: 1;
								}
							}
						}
					}
					figcaption{
						padding:0.25rem;
						font-size: 0.9rem;
						font-style: italic;
						text-align: center;
					}
				}
			}
			&.img_fit_scaledown{
				--img-fit:scale-down;
			}
			&.hide_caption{
				.item-wrapper{
					figcaption{
						display: none;
					}
				}
			}
			&.hover_effect_grayscale{
				.item{
					.item-wrapper{
						img{
							filter: grayscale(1);
						}
						figure{
							a{
								&:hover{
									scale: unset;
								}
							}
						}
					}
					&:hover{
						img{
							
							filter: grayscale(0);
						}
					}
				}
			}

			@media (max-width: 1024px) {
				.liste {
					flex-wrap: wrap;
				}
			}

			@media (max-width: 990px) {
				&:where(.type-1,.type-2){				
					--_nb_col:3 !important;
					display: grid;
					justify-content: center;
				}
				&:where(.type-1,.type-2) .item{
					text-align: center;
					flex:none !important;
				}
				h2 {
					font-size: 24px;
				}

				.item{ 
					padding: 0;

					
					a {
						picture{
							display: flex;
							width: 100%;
						}
						img {
							--img-w: 100% !important;
							--img-h: 200px !important;
						}
					}
				}
			}
			@media (max-width: 768px) {
				&:where(.type-1,.type-2){				
					--_nb_col:2 !important;
					display: grid;
					justify-content: center;
				}
			}
			@media (max-width: 580px) {
				.item{ 
					figure{
						display: inline-flex;
						width: 100%;

						a{
							width: 100%;

							img {
								--img-w: 90% !important;
								--img-h: 100px !important;
							}
						}

						figcaption{
							display: none;
						}
					}
				}
			}
			
		}

		.home_section .home_section_ligne .item-common h2{font-size: 26px;letter-spacing: 1px !important;}


	/* FORMAT 5 PAVES */
		
		/* VERSION SIMPLE */
		.format_5{
			--bgc:var(--mc-grey-light-light);
			--c:var(--mc-secondary);
			--c-text:var(--mc-text);
			--c-title:var(--mc-primary);

			& .simple{
				display: block;
				padding-top: 2rem;
				/* box-shadow: 0 0 0 100vmax;
				clip-path: inset(0 -100vmax); */

				& .h1{
					position: relative;
					padding: 0;
					color:inherit;

					& span{
						position: relative;
						display: inline-flex;
						padding:1rem;
						background-color: var(--bgc);
						z-index: 2;
					}
				}
				& .liste{
					display: grid;
					grid-template-columns: repeat(var(--nb_col),1fr);	
					gap:var(--_gap, 1rem);					
				}
				& .item{
					--border-color-hover:#e5e5e5;

					position:relative;
					display: flex;
					flex: 1;
					flex-direction: column;
					align-items: center;
					padding: 1rem;
					margin: 1em auto;

					text-align: center;
					color: var(--c-title),var(--mc-primary);

					&:hover img{
						opacity: 0.9;
					}
					& .wrapper{
						z-index:2;
					}
					& .span_img{
						order:1;
						position: relative;
						display: flex;
						width: 100%;
						justify-content: center;

						& img{
							display: block;
							width: var(--_img-width,200px);
							height: var(--_img-height,200px);
							object-fit: var(--_img-object-fit,contain);
							border-width: var(--_img-border-width,0);
							border-style: var(--_img-border-style,'none');
							border-color: var(--_img-border-color,'transparent');
							margin:auto;
							transition:all 0.3s;
						}
					}
					& .titre{order:2;
						display: block;
						margin-top: 0.25rem;
						padding:0.5em 1em 0.5em 0.5em;
						font-family: var(--mf-primary);
						color:var(--c-title);
						font-size: 1.5em;
						text-align: center;
						line-height: 1em;
						
						&::before{
							display: none;
						}
						& a{
							--_clr-a:var(--mc-white);
							display: flex;
							flex-direction: column;
							line-height: 2rem;
						}
						& span{
							display: block;
							font-size: 2rem;
						}
					}
					& .texte{order:3;
						color:var(--mc-text);
						line-height: 1.2em;
						font-size: 1em;
						padding:0 0.5em 1em 0.5em;
						margin-top: 0;
					}
					& .lien{order:4;
						display: flex;
						justify-content: center;
						padding: 0 auto 2em auto;
						margin-top: auto;
						width: 100%;
					}
				}

				@media (max-width: 990px) {
					& .liste{
						--nb_col:2 !important;
					}
				}
				@media (max-width: 640px) {
					& .liste{
						--nb_col:1 !important;
						width: 90vw !important;

						.item{
							
							width: 90vw !important;
							img{
								--_img-height:unset !important;
								--_img-width: 90vw !important;
								aspect-ratio: 16 / 9;
							}
						}
					}
				}
			}
			& :not(.simple){
				& .lien{
					margin-top: 1rem;
				}
			}


		}

		/* VERSION avancée avec texte hover image*/
		.format_5 .special{display: block;}
		.format_5 .special .item{
			position:relative;
			overflow:hidden;
			text-align: center;
			display: flex;
			flex: 1;
			justify-content: center;
			flex-direction: column;
			text-align: center;
			margin: 1em 2em;
			border-radius: 10px;
		}
		.format_5 .special .liste{display: flex;justify-content: space-around;align-items: start;flex-wrap: wrap;}
		.format_5 .special img{display: block;width: 100%;height: 448px;object-fit: cover;margin:0;transition:all 0.3s;}
		.format_5 .special .infos{position: absolute;bottom:0;left: 0;right: 0;transform: translateY(67%);padding:0.5em;transition: transform 0.3s ease-in-out;
			background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,1) 97%);
			background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 97%);
			background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 97%);
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
		}
		.format_5 .special .titre{margin-top: 1em;text-transform: uppercase;font-size: 1.3em;color:var(--mc-white);font-family: var(--mf-primary), sans-serif;letter-spacing: 5px;
			
		}
		.format_5 .special .texte{min-height: 60px;line-height: 1.2em;color:var(--mc-white);font-size: 0.9rem;}
		.format_5 .special .lien{margin-top: 1.5em;}
		.format_5 .special .item:hover .infos{transform: translateY(0%);transition: transform 0.3s ease-in-out;}
		.format_5 .special .item:hover img{opacity: 0.9;}




	/* FORMAT 8 */

		.format_8{position: relative;}
		.format_8 h2{
			margin-bottom: 1em;
			color: var(--c-title);
		}
		.format_8 iframe{border:0;}

	/* FORMAT 9 LISTE NEWS */

		.section_liste_news{

			.liste_news{
				--grid-nb:4;
				display: grid;
				grid-template-columns: repeat(var(--grid-nb), 1fr);
				gap:1rem;

				&.items_3{
					--grid-nb:3;
				}
				&.items_2{
					--grid-nb:2;
				}
				&.items_1{
					--grid-nb:1;
				}
				
				& > .item{
					display: grid; 					

					.wrapper{						
						display: grid;
						grid-template-rows: subgrid;
						grid-template-columns: minmax(150px, 1fr);
						grid-template-rows: auto auto auto 1fr; /* les 4 zones que wrapper va hériter */
						grid-template-areas:
							"visuel"
							"titre"
							"texte"
							"lien";
						row-gap: 1rem;
						--_clr-a:var(--mc-text);
						
						padding: 1rem; 
						border: 1px solid var(--mc-grey-light);
						border-radius: 10px;

						.visuel {
							grid-area: visuel;
							margin-bottom: 0.5rem;

							img{
								width: 100%;
								height: 200px;
								object-fit: cover;
								
								&.img_default{							
									object-fit: scale-down;
									opacity: 0.3;
								}
							}
						}
						.date{
							grid-area: date;
							padding: 0.25rem;
							font-size: 0.9rem;
							color:var(--mc-primary);
						}
						.titre{
							grid-area: titre;
							--_clr-a:var(--mc-text);
							--_textdecoration-a:none !important;

							font-size: 1.2rem;
							font-weight: 600;
							line-height: 1;
							margin-top: 0;
							letter-spacing: unset;
							
							&::before{
								display: none !important;
							}
						}
						.accroche{
							--fw:300;
						}
						.texte{
							--_clr-a:var(--mc-text);
							grid-area: texte;						
							display: -webkit-box;
							-webkit-box-orient: vertical;
							-webkit-line-clamp: 3;
							line-clamp: 3;

							line-height: 1;
							overflow: hidden;
							color:var(--mc-text);
							text-overflow: ellipsis;
						}
					}
					.lien{
						margin-top: auto;
					}
				}

				&.liste_news__line{
					flex-direction: column;

					& > .item{
						.wrapper{
							max-width: unset;
						}
					}
				}			
			}

			@media (max-width: 768px) {
				.liste_news{
					--grid-nb:1 !important;

					& > .item{
						.wrapper{
							.visuel{
								img{					
									height: 100px;
								}
							}
						}
					}
				}
			}

		}
	/* FORMAT 12 TEMOIGNAGES */
		
		.format_12 .apres_texte{
			display: flex;
			flex-direction: column;

			& .titre{
				order: 1;
			}
			& .texte{
				order: 2;
			}
			& .section_liste_temoignages{
				order: 3;
			}
		}
		.liste_temoignages .item{
			height: auto !important;
			overflow: hidden;
			margin-bottom: 1rem;
		}
		.liste_temoignages .item{
			& .wrapper{
				display: grid;
				grid-auto-columns: max-content max-content 1fr;
				grid-template-areas: 
					'auteur note date'
					'texte texte texte'
				;
				align-items: center;
				gap:1em;
				padding: 1em 2em;
				height: calc(100% - 1em);
				background-color: #f8f8f8;
				border-radius: 15px;
				background: #f8f8f8;
				transition: transform 250ms ease-in-out;
				
			}
			& .note{
				grid-area: note;
				font-size: 1.2rem;
				min-width: 110px;

				& .fa-star{
					color: darkgoldenrod;
				}
				& .half-star{
					color: darkgoldenrod;
				}
			}
			& .auteur{
				grid-area: auteur;
				font-weight: bold;
			}
			& .texte{
				grid-area: texte;
				font-style: italic;
				margin-top: 0;
				font-size: 0.9em;
			}
			& .date{
				grid-area: date;
				font-size: 0.8em;
			}

			@media (max-width: 768px) {
				& .wrapper{
					grid-template-areas: 
						'auteur auteur auteur'
						'note date date'
						'texte texte texte'
					;
				}
			}

		}

		/* COLONNES */
		.liste_temoignages.colonne{
			display: grid;
			gap:1.5em;
		}
		.liste_temoignages.colonne.items_2{
			grid-template-columns: 1fr 1fr;
		}
		.liste_temoignages.colonne.items_3{
			grid-template-columns: 1fr 1fr 1fr;
		}
		.liste_temoignages.colonne.items_4{
			grid-template-columns: 1fr 1fr 1fr 1fr;
		}
		/* CAROUSEL */


	
	/* FORMAT FORM ADHESION */

	.item-format-adhesion{
		.wrapper_form{
			display:flex;
			gap:2rem;

			.illustrations{
				flex: 1;
			}
			.form_adhesion{
				flex: 3;

				.donnees{
					display: flex;
					flex-direction: column;
					width: fit-content;
				}
				.head{
					padding: 1rem 0;
					font-size: 1.3rem;
				}
				.ligne:not(.ligne_checkbox){
					margin-bottom: 1rem;
				}

				select{
					appearance: auto;
					border-radius: 10px;
				}

				.ligne_choix_cotisation{
					display: flex;
					gap: 1rem;

					& > span{
						padding: 1rem;
							background-color: #f8f8f8;
							border-radius: 10px;
					}
				}
				.actions{
					margin-top: 1rem;
				}

				@media (max-width: 768px) {
					.ligne_choix_cotisation{
						flex-direction: column;

						& > span{
							background-color: #f8f8f8;
							border-radius: 10px;
						}
					}
				}
			}
		}	
		@media (max-width: 768px) {
			.wrapper_form{
				.illustrations{
					display: none;
				}
				.form_adhesion{
					flex: unset;
					width: 90vw;

					.donnees{
						width: auto !important;
					}
				}
			}
		}
	}
	
	/* RESPONSIVE */

		@media (max-width: 1024px) {

			.items-format9{
				display: flex;
				justify-content: space-around;				
			}
		}
		@media (max-width: 990px) {
			.liste_agences{
				gap: 2em;
			}
		}
		@media (max-width: 768px) {
			
			
			.home_section .home_section_ligne .item-common h2{
				font-size: 1.5em;
			}

			/* FORMAT 2 */
			.home_section .item-format2{
				column-gap:unset;
			}
			.home_section .item-format2 .visuel, .home_section .item-format2 .infos{width: 100%;transform: unset;}
			.home_section .item-format2 .infos{padding: 2em 0;}
			.home_section .item-format2 .visuel{
				grid-area: 3 / 1 / 4 / 4;
			}
			.home_section .item-format2 .texte{
				grid-area: 4 / 1 / 5 / 5;
			}
			.home_section .item-format2 .lien{
				grid-area: 5 / 1 / 6 / 6;
			}

			.format_5 .special .liste{flex-direction: column;align-items: unset;}
			.format_5 .special .infos{transform:translateY(0);}

			
			
			/* FORMAT 9 */
			.items-format9{
				flex-wrap: wrap;
				justify-content: center;
			}
			.items-format9 .item::after{
				content: '';
				display: block;
				height: 1px;
				width: 100%;
				background-color: var(--mc-lightgrey);
				margin:2em 0;
			}
			/* FORMAT 11 */
			.format_11 .counters{
				padding-inline: 0;
				flex-direction: column;
			}
			/* FORMAT 14 */
			.format_14 .wrapper > div{
				display: flex;
				flex-direction: column;
			}
		}
	/**/




/* AUTRES PAGES */

	.autres_pages{
		display:flex;
		gap:2rem;
		justify-content:space-between;

		@media (max-width: 768px) {
			flex-direction: column;

			& .texte{
				display: none;
			}
			& .lien{
				display: none;
			}
		}
	}

/* LISTE PRODUITS */

	.product_listing_home{
		position: relative;

		@media (max-width:768px){
			
		}
	}

	.liste_mosaique{
		--_nb_cell:4;
		--_img_height:180px;
		position: relative;
		display: grid;
		grid-template-columns: repeat(var(--_nb_cell), 1fr);
		column-gap: 2rem;
		row-gap: 2rem;
		margin-top: 3rem;

		& li{

			& .wrapper{
				position: relative;
				border: 1px solid #ccc;
				border-radius: 15px;
				padding: 1em;

				& .categorie {
					position: absolute;
					z-index:5;
					top: -0.5rem;
					left: -0.5rem;
					background-color: #fff;
					color: var(--mc-primary);
					padding: 0.25rem 1rem;
					text-transform: uppercase;
					font-weight: 700;
					border-top: 2px solid var(--mc-primary);
					border-bottom: 2px solid var(--mc-primary);
					rotate: -5deg;
				}
				& .visuel{
					height: var(--_img_height);
					margin-bottom: 0.5rem;
					overflow: hidden;

					& img{
						width: 100%;
						height: 100%;
						object-fit: cover;
						transition: scale 0.25s;

						&.logo_marque{
							width: 80px;
							height: 100%;
							object-fit: scale-down;
							margin: auto;
							filter: opacity(20%);
						}
					}

				}
				& .infos{
					display: flex;	
					flex-direction: column;align-items: center;

					& .titre{
						font-size: 1.1rem;
						font-weight: 700;
						line-height: 1.1em;
					}
					& .texte{
						font-size: 0.9rem;
						padding: 0.25rem;
					}
					& .tarifs{
						display: flex;
						justify-content: center;
						align-items: center;
						gap: 1rem;
						width: 100%;

						& .prix_barre{
							position: relative;
							font-size: 1.4rem;
							font-weight: 700;
							color:var(--mc-primary-light);
							white-space: nowrap;

							&::after{
								content:'';
								position: absolute;
								top: 50%;
								left: -5%;
								width: 110%;
								height:2px;
								background-color: var(--mc-primary);
								rotate: -3deg;
							}
						}
						& .pourcent{
							color:var(--mc-primary-light);
						}
						& .prix{
							position: relative;
							font-size: 1.5rem;
							font-weight: 700;

							&.prix_utilitaire{								
								padding-top: 1rem;
							}
							
							& sup{
								position: absolute;	
								font-size: 0.7rem;							
							}
							& .utilitaire_ttc{
								position: absolute;
								top: 0;
								translate: 0;
								white-space: nowrap;
								font-size: 0.9rem;
							}
							& .tarif{
								color:var(--mc-primary);
								white-space: nowrap;						
							}
						}
					}
					& .lien{
						--_h:40px;
						display: flex;
						justify-content: end;
						align-items: end;
						width: 100%;
						height: 50px;

						& a{
							position: relative;
							display: flex;
							width: var(--_h);
							height: var(--_h);
							align-items: center;
							justify-content: center;
							background-color: var(--mc-primary-light);
							color: var(--mc-over-primary-light);
							border-radius: 0 50% 50% 50%;
							rotate: -45deg;
							transition: all 0.25s;

							& i{
								rotate: 45deg;
							}
						}
					}
				}
			}

			&:hover{
				& .wrapper{
					& .visuel img{
						scale:1.05;
					}
					& .lien{
						--_h:45px;
					}
				}
			}
		}

		@media (max-width:999px){
			--_nb_cell:3;
			--_img_height:150px;

		}
		@media (max-width:768px){
			--_nb_cell:2;
			--_img_height:150px;

			
		}
		@media (max-width:580px){
			--_nb_cell:1;
		}
	}

	.liste_produits_inline{

		& .special{
			font-size: 1.5rem;

			&:not(:first-child)::before{
				content: '';
				display: block;
				width: min(350px, 100% - 1rem);
				height: 2px;
				margin:2rem auto;
				background: linear-gradient(to right, var(--mc-white) 15%, var(--mc-primary), var(--mc-white) 85% );
			}

		}
		& .item{
			display: grid;
			grid-template-columns: 200px 1fr 200px 50px;
			grid-template-rows: auto;
			gap: 1rem;
			margin-top: 1rem;
			margin-bottom: 1rem;
			position: relative;
			border: 1px solid #ccc;
			border-radius: 15px;
			padding: 1em;

			& .visuel{
				& .categorie {
					position: absolute;
					z-index: 5;
					top: -0.5rem;
					left: -0.5rem;
					background-color: #fff;
					color: var(--mc-primary);
					padding: 0.25rem 1rem;
					text-transform: uppercase;
					font-weight: 700;
					border-top: 2px solid var(--mc-primary);
					border-bottom: 2px solid var(--mc-primary);
					rotate: -5deg;
				}

			}
			& .infos{

				& .titre{
					margin-bottom: 1rem;

					& a{
						color: var(--mc-primary);
						font-weight: 700;
					}

				}
				& .details{
					display: grid;
					grid-template-columns: repeat(2, 1fr);

					& .bloc_detail{
						display: flex;
						flex-direction: row;
						flex:1;
						gap: 0.25rem;
						font-size: 0.9rem;
					
						& .icone{display:inline-block;height: 18px;width: 18px;background-color: #000;}
						& .icone-km{mask:url(/assets/images/icons/081-dashboard-3.svg) no-repeat;-webkit-mask:url(/assets/images/icons/081-dashboard-3.svg) no-repeat;}
						& .icone-boite{mask:url(/assets/images/icons/081-gearshift.svg) no-repeat;-webkit-mask:url(/assets/images/icons/081-gearshift.svg) no-repeat;}
						& .icone-energie{mask:url(/assets/images/icons/081-gas-station.svg) no-repeat;-webkit-mask:url(/assets/images/icons/081-gas-station.svg) no-repeat;}
						& .icone-moteur{mask:url(/assets/images/icons/081-engine.svg) no-repeat;-webkit-mask:url(/assets/images/icons/081-engine.svg) no-repeat;}
						& .icone-co2{mask:url(/assets/images/icons/co2.svg) no-repeat;-webkit-mask:url(/assets/images/icons/co2.svg) no-repeat;}
						& .icone-annee{width: 18px;height: 18px;mask:url(/assets/images/icons/calendar.svg) no-repeat;-webkit-mask:url(/assets/images/icons/calendar.svg) no-repeat;}
					}

				}
				
			}
			& .tarif{
				position: relative;
				display: flex;
				justify-content: center;
				font-size: 1.5rem;
				font-weight: 700;
				color:var(--mc-primary);

				&:has(.pourcent){
					flex-direction: column;
					align-items: center;
				}
				& .prix_barre{
					position: relative;
					display: flex;
					width: fit-content;
					font-size: 1.2rem;
					font-weight: 700;
					color:var(--mc-primary-light);

					&::after{
						content:'';
						position: absolute;
						top: 50%;
						left: -5%;
						width: 110%;
						height:2px;
						background-color: var(--mc-primary);
						rotate: -3deg;
					}
				}
				& .pourcent{
					position: absolute;
					top: 0;
					right: 50px;
					width: 50px;
					height: 50px;
					display: flex;
					align-items: center;
					justify-content: center;
					border-radius: 50%;
					color: #FFF;
					font-size: 0.8em;
					font-weight: bold;
					background: linear-gradient(to left, var(--mc-primary) 0%, var(--mc-primary-dark) 100%);
					translate: 50% -50%;
				}
			}
			& .lien{
				--_h: 40px;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 100%;

				& a {
					position: relative;
					display: flex;
					width: var(--_h);
					height: var(--_h);
					align-items: center;
					justify-content: center;
					background-color: var(--mc-primary-light);
					color: var(--mc-over-primary-light);
					border-radius: 0 50% 50% 50%;
					rotate: -45deg;
					transition: all 0.25s;

					& i{
						rotate: 45deg;
					}
				}
			}

			&:hover{
				border-color: var(--mc-primary);
				& .lien{
					--_h:45px;
				}
			}
		}

		@media (max-width: 768px) {

			display: grid;
			grid-template-columns: repeat(2, 1fr);

			& .special{
				display: none;
			}
			& .item{
				grid-template-columns: 1fr;

				& .infos{
					& .details{
						grid-template-columns: 1fr;
					}
				}
			}
		}
		@media (max-width: 580px) {
			display: grid;
			grid-template-columns: 1fr;
		}
	}
	

/* ARIANE */

	#ariane{		
		padding: 1rem 0;
		background-color: var(--mc-grey-light-light);

		.item_back{
			padding-inline: 0.5rem;
		}
		.item{
			--_clr-a:var(--mc-grey-dark);
			padding-right: 0.5rem;

			&::before{
				content: '/';
				color: var(--mc-grey-dark);
				margin-right: 0.5rem;
			}
			&:last-child{				
				--_clr-a:var(--mc-primary);
			}
		}
	}


/* FORM */

	form {

		fieldset{
			padding-top: 1rem;
		}
		.ligne{		
			position: relative;
			display: flex;
			flex-direction: column;
			margin-bottom: 0.25em;

			&:has(input[required]) label::after,
			&:has(textarea[required]) label::after {
				content: '*';
				padding-left: 0.25rem;
				color:var(--mc-primary);
			}
			.champ{
				display: flex;
				flex-direction: column-reverse;
				width: 100%;

				&.champ_center{
					align-items: center;
				}
				&.champ_fullw{
					width: 100%;
				}
				&.champ_sm{
					flex:unset;
					width:100px;
				}
				&.champ_md{
					flex:unset;
					width:250px;
				}
				&.champ_lg{
					flex:unset;
					width:400px;
				}
			}
			& label{
				display: block;
				margin-top: 0.75em;
				font-size: 0.9em;
			}
			& input:not([type='checkbox']){
				color: var(--mc-darkgrey);
				display: inline-flex;
				font-size: 14px;
				line-height: 1.3333333;
				transition: all .3s ease;
				border: 1px solid #b3b2c2;
				background: #fff 0 0 no-repeat padding-box;
				border-radius: 8px;
				height: 40px;
				padding: 0 40px 0 20px;
				font-family: var(--mf-primary);
			}
			/* input[type='tel']{
				width:min(200px, 100%);
			}
			input[type='email']{
				width:min(350px, 100%);
			} */
			& textarea{		
				font-family: var(--mf-primary);
				color: var(--mc-darkgrey);
				display: inline-flex;
				font-size: 14px;
				line-height: 1.3333333;
				transition: all .3s ease;
				border: 1px solid #b3b2c2;
				background: #fff 0 0 no-repeat padding-box;
				border-radius: 8px;
				height: 100px;
				padding: 10px 40px 0 20px;
			}
			& .cp{
				width:140px;
			}
			& *:focus:invalid {
				color: var(--mc-primary);
				border: none;
				border-bottom: 1px solid var(--mc-primary);
			}
			&.ligne_checkbox{
				--_clr-a:var(--mc-primary);
				--_clr-a-hover:var(--mc-secondary);
				padding-top: 0.5rem;
				padding-bottom: 0.5rem;

				.champ{
					flex-direction: row;
					gap: 0.5rem;
				}
				label{
					margin-top: unset;
				}
				input[type='checkbox']{
					outline: 2px solid transparent;
					height: auto;
				}
			}
		}
		& .ligne,
		& .ligne-inline{
			display: flex;
			flex-flow: row wrap;
			gap:0.5em;

			& > div{
				flex:1;
				display: flex;
				flex-flow: row wrap;
				gap:0.5em;
			}
		}
		& .ligne-inline:not(.ligne-inline2) div:nth-child(2){
			flex-grow: 1;
		}
		& .ligne_full{
			width: 100%;
		}
		& .ligne_submit{
			justify-content: center;
			text-align: center;
			margin: 2em;
		}

		&.form_anim{
			& .ligne input{
				color: var(--mc-darkgrey);
				display: inline-flex;
				font-size: 14px;
				line-height: 1.3333333;
				transition: all .3s ease;
				border: 1px solid #b3b2c2;
				background: #fff 0 0 no-repeat padding-box;
				border-radius: 8px;
				height: 40px;
				padding: 0 40px 0 20px;

				&:focus-visible{
					box-shadow: 0 1px 1px rgba(0,0,0,.2);
				}
			}
			& .champ{
				position: relative;
			}
			& label:not(.label_default) {
				color: var(--mc-darkgrey);
				cursor: pointer;
				display: inline-block;
				font-weight: 400;
				margin: 0;
				position: absolute;
				transition: all .2s ease;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
				max-width: 90%;
				letter-spacing: 0;
				top: 50%;
				left: 20px;
				translate: 0 -50%;
				font-size: 14px;
				opacity: 1;
				pointer-events: none;
			}
			& select {
				color: var(--mc-darkgrey);
				display: inline-flex;
				font-size: 14px;
				line-height: 1.3333333;
				transition: all .3s ease;
				border: 1px solid #b3b2c2;
				background: #fff 0 0 no-repeat padding-box;
				border-radius: 8px;
				height: 50px;
				padding: 0 40px 0 20px;
				appearance:none;
			}

			& .ligne select ~ label:not(.label_default),
			& .ligne input:focus-visible ~ label:not(.label_default),
			& .ligne textarea:focus-visible ~ label:not(.label_default),
			& input:not(:placeholder-shown) ~ label:not(.label_default),			
			& .ligne textarea:not(:placeholder-shown) ~ label:not(.label_default){
				color:var(--mc-primary);
				top:0;
				left: 20px;
				background:#fff;
				padding:5px 10px;
				font-size:12px;
				text-align:center;
				translate: -10px -50%;
			}
			& .ligne select ~ i.icon,
			& .ligne input ~ i.icon{
				position: absolute;
				top: 50%;
				right: 20px;			
				translate: 0 -50%;
				color:#ababab;
				cursor:pointer;
			}
		}
		& .confidentialite{
			font-size: 0.8rem;
		}

	}	

	@media (max-width: 768px) {
		form{
			.ligne{
				.champ{
					&.champ_sm{
						width:unset;
					}
					&.champ_md{
						width:unset;
					}
					&.champ_lg{
						width:unset;
					}
				}
				&.ligne_checkbox{
					.champ {
						gap: 0.5rem;
						display: grid;
						grid-template-columns: 20px auto;
						align-items: baseline;
					}
				}
			}
		}
		form .ligne, form .ligne-inline > div{
			flex-direction: column;
		}
		form.form_w_pwdlvl .passwd_level{
			right: 1em;
		}
		form.form_anim .ligne select ~ i.icon, form.form_anim .ligne input ~ i.icon{
			right: 2em;
		}
		form .ligne_submit{
			margin: 2em 0;
		}
	}

/* TEMOIGNAGES */
	
	.pg_temoignages {
		& .liste_temoignages {
			overflow: hidden;/* Prevent AOS overflow*/
			display: grid;
			grid-template-columns: 1fr;

			& li {
				padding: 0;
				padding: 1rem 2rem;
				font-style: italic;
				border-bottom: 1px solid #999;
				display: grid;
				grid-template-columns: 1fr auto;
				grid-template-areas: 
					'texte texte'
					'auteur date'
				;
				gap: 1em;

				&:target{
					outline: 2px solid var(--mc-primary-light);
					border-radius: 20px;
					background: var(--mc-grey-light-light);
					scale: 1.05;
				}
				& .auteur {
					order:2;
					display: block;
					margin-top: 1.5em;
					font-style: normal;
					font-weight: normal;
				}
				& .texte {
					order:1;
					font-style: normal;

					& .titre{
						font-weight: 700;
					}
					& .infos{						
						font-size: 0.9rem;
					}
					& a{
						color:var(--mc-primary-dark);
					}
				}
				& .date{
					order:3;
				}
				& blockquote {
					quotes: '\201c' '\201d';
					display: flex;
					align-items: center;
					padding: 1em;
					position: relative;
					font-size: 1em;
					line-height: 1em;
					border-radius: 5px;
					font-style: italic;
					&::before {
						content: open-quote;
						position: absolute;
						top: 0;
						left: 0;
						translate: -100% 0;
						font-size: 2.5rem;
						font-weight: bold;
						color:var(--mc-primary);
					}
					&::after {					
						content: close-quote;
						position: absolute;
						bottom: 0;
						right: 0;
						translate: 100% 0;
						font-size: 2.5rem;
						font-weight: bold;
						color:var(--mc-primary);
					}
				}
			}
		}
		& .bloc_filtres {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			padding: 1em;

			& .wrapper{
				display: flex;
				align-items: center;
				gap:1rem;
				width: min(500px, 100%);

				& > div{
					white-space: nowrap;
				}
			}
		}
	}

	.pg_temoigner{
		& .wrapper{
			width:min(800px, 100%);
		}
	}

	

	@media (max-width: 999px) {
		.pg_temoignages {
			& .liste_temoignages {
				grid-template-columns: auto;
				& li{
					flex-direction: column;
				}
			}
		}
	}

/* BACK TO TOP */

	#back-to-top {
		position: fixed;
		z-index: 20;
		bottom: 1rem;
		right: 1rem;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 36px;
		height: 36px;
		font-size: 1rem;
		font-weight: 700;
		text-decoration: none;
		transition: all 0.25s ease;
		background-color:var(--mc-primary);
		color: var(--mc-over-primary);
		border-radius: 5px;
		visibility: hidden;
		opacity: 0;

		&.show{
			visibility: visible;
			opacity: 1;
		}

		&:hover{
			scale:1.05;
		}
	}

/* FLOATING BTN */

	.float-btn-mail {
		position: fixed;
		z-index: 20;
		bottom: 4rem;
		right: 1rem;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 36px;
		height: 36px;
		font-size: 1rem;
		font-weight: 700;
		text-decoration: none;
		transition: all 0.25s ease;
		background-color:var(--mc-primary);
		color: var(--mc-over-primary);
		border-radius: 5px;
		visibility: hidden;
		opacity: 0;

		&.show{
			visibility: visible;
			opacity: 1;
		}

		&:hover{
			scale:1.05;
		}
	}

	.float-btn-call {
		position: fixed;
		z-index: 20;
		bottom: 7rem;
		right: 1rem;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 36px;
		height: 36px;
		font-size: 1rem;
		font-weight: 700;
		text-decoration: none;
		transition: all 0.25s ease;
		background-color:var(--mc-primary);
		color: var(--mc-over-primary);
		border-radius: 5px;
		visibility: hidden;
		opacity: 0;

		&.show{
			visibility: visible;
			opacity: 1;
		}

		&:hover{
			scale:1.05;
		}
	}


/* RAPPEL */

	.bloc_rappel{
		& .bloc_wrapper{
			max-width: 480px;
		}

		& .intro{
			display:flex;
			margin-top:2rem;
			gap:1rem;
		}

		& form{
			max-width: 380px;
			margin:2rem auto;

			& .ligne{
				margin-bottom: 1rem;
			}
			& .ligne_submit{
				& button{
					margin-top: 0;
				}
			}
		}
	}

/* KEYFRAMES */
/* FAKELINK */
	[data-fakelink]{
		cursor: pointer;
	}
/* BAGUETTEBOX override */

	#baguetteBox-overlay .full-image figcaption{
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

@keyframes wobbleVertical {
    0% {
        transform: translateX(-63%) rotate(-90deg); /* Position initiale */
    }
    15% {
        transform: translateX(-58%) rotate(-93deg); /* Mouvement vers la droite et inclinaison */
    }
    30% {
        transform: translateX(-68%) rotate(-87deg); /* Mouvement vers la gauche et inclinaison */
    }
    45% {
        transform: translateX(-61%) rotate(-91deg); /* Retour vers le centre légèrement */
    }
    60% {
        transform: translateX(-65%) rotate(-89deg); /* Retour vers l'autre côté */
    }
    75% {
        transform: translateX(-63%) rotate(-90.5deg); /* Petit mouvement de réajustement */
    }
    100% {
        transform: translateX(-63%) rotate(-90deg); /* Retour à la position initiale */
    }
}
._anim_wooble {
    animation: wobbleVertical 2s ease-in-out infinite; /* Applique l'animation */
    animation-delay: 8s; /* Attente avant chaque cycle */
}

@keyframes textFadeInUp {
  0% {
    transform: translateY(25%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
._text_fadeInUp {
	animation: 1.5s textFadeInUp;
}


/* FONTS */

	@font-face {
		font-family: 'Montserrat';
		src: url('../webfonts/Montserrat-VariableFont_wght.ttf') format('woff2');
		font-weight: 100 900;
		font-style: normal;
		font-display: swap;
	}

/**/