[data-composant="PresentationProjet"]
{
	&{
		width: var(--maxWidth);
		margin: auto;
		border-radius: var(--borderRadius);
		padding: var(--padding);
	}
	
	article
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1em;
	}
	
	.img {
		width: 100%;
		height: 300px;
		border-radius: var(--borderRadius);
	}
	
	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: var(--borderRadius);
	}
	
}


[data-composant="PresentationProjet"][data-theme="image-height-100"]
{
	&{
	}
	
	article
	{
		min-height: calc(100dvh - var(--headerHeight) - var(--headerHeight));
		align-items: center;
	}	
	
	.img{
		height: 100%;
	}
	img{
		height: 100%;	
	}
}

[data-composant="PresentationProjet"][data-theme="image-height-50"]
{
	&{
	}
	
	article
	{
		min-height: calc(50dvh - var(--headerHeight) - var(--headerHeight));
		align-items: center;
	}	
	
	.img{
		height: 100%;
	}
	img{
		height: 100%;	
	}
}
[data-composant="ImageStickyEtTextes"]
{
	&{
		width: var(--maxWidth);
		margin: auto;
		border-radius: var(--borderRadius);
		padding: var(--padding);
		
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2em;
		
		timeline-scope: --article-0, --article-1, --article-2, --article-3;
	}
	
	article:not(:last-child)
	{
		margin-bottom: 100dvh;
	}
	
	.img {
		width: 100%;
		height: 70dvh;
		border-radius: var(--borderRadius);
		position: sticky;
		top: 20px;
	}
	
	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: var(--borderRadius);
		
		
		
	}
	
	.img .image
	{
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		height: 100%;
	}
	.img .image:not(:nth-child(1))
	{
		animation: ImageStickyEtTextes--afficherImage linear both;
		animation-range: entry 0% entry 40%;
		
	}
	
	.img .image:nth-child(1)
	{
		opacity: 1;
	}
	
}


@keyframes ImageStickyEtTextes--afficherImage
{
	
	from
	
	{
		opacity: 0;
	}
	to
	{
		opacity: 1;
	}
}
[data-composant="membre-equipe"]
{
	&{
		width: var(--maxWidth);
		display: grid;
		grid-template-columns: 1fr 2fr;
		align-items: start;
		margin: auto;
	}
	
	
	.tag{
		background: #f7f7f7;
		font-size: .8em;
		padding: 10px 20px;
		border-radius: var(--borderRadius);
	}
	
	
	.liste{
		&{
			scroll-snap-type: x mandatory;
			overflow-x: scroll;
			gap: 1em;
			padding: 0;
			margin:0;
			display: flex;			
			border-radius: var(--borderRadius);
		}
		
		& > li
		{
			&{
				list-style: none;
				background-size: cover;
				background-position: right;
				padding: 0 20px;
				border-radius: var(--borderRadius);
				scroll-snap-align: start;
				min-width: 45%;
				position: relative;
				overflow: hidden;
				font-size: 1.2em;
				display: grid;
			}
			
			@media (max-width: 820px) 
			{
				&{
					min-width: 80%;
				}
			}
			
			
			header
			{
				width: 100%;
				aspect-ratio: 4/3;
				position: relative;
			}
			
			header .tag
			{
				position: absolute;
				top: 20px;
				left: 20px;
				
			}
			
			a{
				text-decoration: none;
				color: initial;
			}
			img{
				width: 100%;
				height: 500px;
				object-fit: cover;
				border-radius: var(--borderRadius);
				border:1px solid var(--couleurborderImageRessourcesSlider);
				display: block;
				transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
				transform: scale(1);	
				
			}
			
			
			
			&:hover img{
				transform: scale(1.01);
			}
			
			.main
			{
				h3{
					font-size: 1.3em;
					margin-top: 20px;
				}
				
				.txt{
					overflow: hidden;
					display: -webkit-box;
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 3;
					line-clamp: 3;
				}
			}
			
			footer
			{
				&{
					display: flex;
					align-items: center;
					justify-content: space-between;
					margin-top:20px;
				}
				
				[data-composant="tags"]
				{
					&{
						margin: 0;
						padding: 0;
						display: flex;
						align-items: center;
					}
					
					li{
						list-style: none;
					}
				}
			}
			
			
			
			&.cta {
				&{
					background-position: center;
					background-size: cover;
					background-color: var(--couleurBTN);
			
									
				}
				& > div{
					width: 100%;
					display: flex;
					height: 100%;
					color: var(--couleurTexte);
			
				}
				
				.cta-rdv{
					border-radius:var(--borderRadius);
					padding:var(--padding);
					display:flex;
					align-items:center;
				}
				
				@media (max-width: 768px) 
				{
					.cta-rdv{
						padding:calc(var(--padding) / 2);
					}
				}
				.icone{
					width:80px;
					height:80px;
					border-radius:50%;
					background:rgba(255,255,255,.4);
				
					display:grid;
					place-items:center;
				
					font-size:2rem;
					margin-bottom:30px;
				}
				
				.cta-rdv h2{
					line-height:.9;
				}
				
				.cta-rdv p{
					line-height:1.6;
					color: var(--couleurTexte);
				}
				
				[data-composant="bouton"]{
					display:flex;
					align-items:center;
					justify-content:space-between;
					gap:1em;
					flex-direction: row-reverse;
					width:100%;					
					padding:25px 35px;
				
					background:white;
					border-radius:24px;
					font-size: .8em;
					text-decoration:none;
					color:inherit;
				
					box-shadow:0 10px 30px rgba(0,0,0,.08);
				}
				
				@media (max-width: 768px) 
				{
					.btn-rdv{
						padding:15px 15px;
					}
				}
				
				
			}
			
			&:not(.cta)
			{
				i, svg{
					position: absolute;
					right: 20px;
					bottom: 20px;
					font-size: 3em;
					opacity: .5;
					color: rgba(37, 75, 59, 1);
				}
			}
			strong{
				color: white;
			}
		}
		
	}
	
}


[data-composant="membre-equipe"][data-theme="membres"]
{
	&{
		display: block;
		background: #f7f7f7;
		padding: var(--padding);
		border-radius: var(--borderRadius);
	}
	
	.txts h2{
		font-size: 2.5em!important;
		text-align: center;
		margin-bottom: 50px;
	}
	
	.liste > li 
	{
		&{
			width: 50%;
		}
		.main
		{		
			.txt{
				display: block;
			}
		}
	}
}
[data-composant="footer"]
{
	&{
		background: var(--couleurDegrader1);
		color: white;
		padding: 20px;
		padding-top:40px;
		position: sticky;
		bottom: 0;
		margin-top: -20px;
		
	}
	
	@media (max-width: 820px)
	{
		h2, h3{
			font-size: 1.5em!important;
		}
	}
	
	& > div {
		display: flex;
		justify-content: space-between;
		gap: 1em;
	}
	
	@media (max-width: 720px)
	{
		& > div {
			display: block;
		}
	}
	
	
	@media (max-width: 820px)
	{
		& > div > div{
			max-width: 350px;
		}
	}
	
	.txt{
		max-width: 500px;
	}
	#menus{
		display: flex;
		gap: 1em;
	}
	
	@media (max-width: 720px)
	{
		nav {
			font-size: .8em;
		}
	}
	
	
	ul{
		padding-left: 0;
	}
	li{
		list-style: none;
		padding-left: 0;
	}
	
	h2, h3, h4{
		color: white !important;
	}
	
	
	a{
		color: white;
	}
	
	li a{
		text-decoration: none;
	}
	
	[data-composant="bouton"]
	{
		color: var(--couleurBTNTexte);
	}
	
	
	#copyright
	{
		&{
			font-size: .8em;
			
		}
		
		p{
		}
	}
	
	
}

@keyframes apparitionProcessus {
	from{
		scale: .65;
		translate: 0 100px;
		rotate: x 25deg;
		opacity: 0;
		filter: blur(8px);
	}

	to{
		scale: 1;
		translate: 0 0;
		rotate: x 0deg;
		opacity: 1;
		filter: blur(0);
	}
}

@keyframes apparitionPkoiNous {
	from{
		transform: perspective(1000px) rotateY(-40deg);
	}

	to{
		transform: perspective(1000px) rotateY(0deg);
	}
}


/* perspective: 400px; */

.balise
{
	&{
		background: white;
		padding: 5px 30px;
		border-radius: var(--borderRadiusS);
		width: fit-content;
		font-size: .8em;
		position: relative;
		padding-right: 20px;
		margin-bottom: 20px
	}
	
	&:before
	{
		content: " ";
		aspect-ratio: 1/1;
		width: 10px;
		background: var(--couleurTexte);
		border-radius: 50%;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
}


main{
	padding-bottom: 20px;
}


#_accueil main > section:not(#banniere)
, #_realisations-enfant main > section:not([data-composant="avant-apres"])
{
	margin: 100px auto;
}

#contact
{
	&
	{
		background: url(https://static.wixstatic.com/media/e26fa0_2597f38ba12746c1b9141579f5c17a6b~mv2.jpg/v1/fill/w_581,h_659,al_c,lg_1,q_85,enc_avif,quality_auto/e26fa0_2597f38ba12746c1b9141579f5c17a6b~mv2.jpg);
		background-size: cover;
		background-position: center center;
		display: grid;
		place-content: center;
		position: relative;
		z-index: 1;
		height: 100dvh;
		grid-template-columns: 1fr;
	
	}
	&:before{
		content: "";
		position: absolute;
		z-index: 2;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(5px);
		
	}
	& > div{
		background: none;
		position: relative;
		z-index: 3;
		margin: 0;
	}
}

@keyframes masquerTxtsBanniere
{
	from
	{
		opacity: 1;
	}

	to
	{
		opacity: 0;
	}
}

@keyframes paralaxeTexte

{

	from
	{
		translate: 0 -45%;
	}
	to
	{
		translate: 0 -20%;
	}

}

#_accueil
{
	&{
		timeline-scope: --agence;
  
	}
	#banniere{
		&{
			position: sticky;
			top: 0;
		
			animation: masquerTxtsBanniere linear forwards;
			animation-timeline: --agence;

			/* Débute quand #agence entre dans la vue
			   Termine quand #agence est entièrement visible */
			animation-range: entry 100% contain 100%;
		}
	}
	
	#agence
	{
		&{
			view-timeline-name: --agence;
			background: #f7f7f7;
			border-radius: var(--borderRadius);
			margin-top: -20px;
			z-index: 2;
			position: relative;
			width: 100%;
			height: 100dvh;
			display: grid;
			place-content: center;
			
			background: url(https://static.wixstatic.com/media/e26fa0_fdd255c225b34286ab9519cbb48b03e1~mv2.jpg/v1/fill/w_939,h_522,al_c,q_85,enc_avif,quality_auto/e26fa0_fdd255c225b34286ab9519cbb48b03e1~mv2.jpg);
			background-size: cover;
			overflow: hidden;
		}
		
		&:before{
			content: "";
			position: absolute;
			inset: 0px;
			background: rgba(255, 255, 255, 0.7);
			backdrop-filter: blur(5px);
		}
		
		
		
		.txts{ 
			order: 2;
			background: rgba(255, 255, 255, .75);
			backdrop-filter: blur(5px);
			border-radius: var(--borderRadius);
			padding: 10px 20px;
			color: black;
			animation: paralaxeTexte linear both;
			animation-timeline: --agence;
			animation-range: entry 0% exit 100%;
			box-shadow: var(--boxShadow);
			z-index: 1
			
		}
		
		.media{
			translate: 10%;
		}
		
		& > div
		{
			align-items: end;
			width: var(--maxWidth);
			margin: 0px auto;
		}
		
		@media (max-width: 820px){
			& > div{
				display: grid;
				grid-template-columns: 1fr;
				padding-top: 60px;
			}
		}
		
		
	}
	
	[data-composant="ressources-slider"]
	{
		&
		{
			background: radial-gradient(circle at center, black, rgba(78, 71, 59, 1) 43.7%, #ceb595);
		}
		
		.liste{
			gap: 1em;
		}
		
		.liste > li{
			padding: 0;
			border-radius: var(--borderRadiusXS);
			width: auto;
		}
		
		a{
			color: white;
		}
		
		header{
			height: 60dvh;
			border-radius:var(--borderRadiusXS);
			overflow: hidden;
			width: 100%;
		}
		
		[data-composant="tags"] .tag, .tag{
			padding: 5px 10px;
			border-radius: var(--borderRadiusXS);
			font-size: .6em;
		}
		
		header .tag{
			background: rgba(51, 51, 51, 0.5);
			backdrop-filter: blur(5px);
			border-color: rgba(51, 51, 51, .5);
			color: rgba(255, 255, 255, 0.55);
		}
		
		img{
			border-radius:var(--borderRadiusXS);
			border:none;
		}
		
		.main{
			width: 60%;
		}
		
		.icone svg{
			font-size: 2em;
		}
		.icone .svg-inline--fa .fa-primary
		{
			fill: rgba(255, 255, 255, 0.5);
		}
		
		.icone .svg-inline--fa .fa-secondary
		{
			fill: rgb(51, 51, 51);
		}
		
		
		[data-composant="tags"], .tag
		{
			color: white;
		}
		
		.cta div{
			background: rgba(0, 0, 0, 0.5);
		}
	}
	
	#processus[data-composant="processus-expliquer"]
	{
		&{
			margin-bottom: -100px;
		}
		
	}
	
	[data-composant="liste-services"][data-theme="stack--full"]
	{
		&{
			z-index: -1;
		}
		h2{
			color: wheat;
		}
	}
	
	#pourquoi-nous
	{
		&{
			background: black;
			min-height: 100dvh;
			width: 100%;
			padding: 50px;
			padding-bottom: 0;
		}
		
		.intro{
			color: white;
		}
		
		h2{
			color: wheat;
			font-size: 1.5em
		}
		h2 strong{
			text-transform: uppercase;
			font-size: 2.5em;
			display: block;
		}
		
		article{
			color: wheat;
			font-size: 1.2em;
			background: var(--couleurDegrader1);
			animation: apparitionPkoiNous linear both;
			animation-timeline: view();
			animation-range: entry 0% contain 60%;
		}
	}
	
	#temoignages
	{
		article:not(:first-child)
		{
			transform-origin: center bottom;
			perspective: 1000px;
			position: relative;
			animation: apparitionProcessus linear both;
			animation-timeline: view();
			animation-range: entry 0% contain 20%;
		}
		
		article .infos{
			position: sticky;
			top: 0;
		}
	}
}
