
/********************************************************/
/*
/*      BASE
/*
/********************************************************/

html, body {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem; 
	width: 100%;
	height: 100%;
	margin-block-start: 0 !important;
	overflow-x: clip;
}

menu {
	padding: 0;
}

.wp-site-blocks {
	
	display: flex;
	flex-direction: column;
	min-height: 100%;
	
	& > :is(main, menu, footer)  {
		width: 100%;
		margin-inline: auto;
	}

	& > main  {
		flex-grow: 2;
		
	}
}

/********************************************************/
/*
/*      NAV
/*
/********************************************************/

.wp-site-blocks > menu { 
	& nav {
		font-weight: 500;
		column-gap: 0.5rem;
		flex-wrap: nowrap;
		
		li :is(a, button)  {
			color: var(--wp--preset--color--primaire);
			cursor: pointer;
		}
		li button:hover,
		li a:hover,
		li.current-menu-item a {
			color: var(--wp--preset--color--secondaire);
		}
		
		li a  {
			white-space: nowrap;
		}
		li:not(:first-child):before {
			padding-right: 0.5rem;
			content: '|';
		}
		
		li.menu-item-burger  {
			
			display: none;
			&:before  {
				display: none;
			}
			
			button {
				border: none;
				background: none;
				font-size: var(--wp--preset--font-size--large)
			}
		}
		
		@media (width < 660px) {
			
			li:not(.menu-item-burger)  {
				display: none;
			}
			li.menu-item-burger  {
				display: initial
			}
		}
	}
}


/********************************************************/
/*
/*      DIALOG
/*
/********************************************************/

#mobilemenu {
	
	--timing : 0.3s;
	--horizontal-spacing : 10rem;
	
	box-sizing: border-box;
	border: none; 
	
	opacity: 0;
	transform: translateX(-80%);
	transition: opacity var(--timing) ease-in-out, transform var(--timing) ease-in-out, display var(--timing)allow-discrete, overlay var(--timing) allow-discrete;
	
	
	
	
	&::backdrop {
		background: rgba(0 0 0 / 0);
		transition: background-color var(--timing) ease-in-out, overlay var(--timing) allow-discrete, display var(--timing) allow-discrete;
	}
	
	&:popover-open {
		
		opacity: 1;
		transform: translateX(0); 
		
		&::backdrop {
			background-color: rgb(0 0 0 / 0.8); 
		}
	}
	
	@starting-style {
		&:popover-open {
			opacity: 0;
			transform: translateX(-80%);
			
			&::backdrop {
				background-color: rgb(0 0 0 / 0);
			}
			/*
			&:is(.dialog--inner)  {
				transform: translateX(-100px);
			}
			*/
		}
	}
	
	width: 100%;
	max-width: 400px;
	height: 100vh;
	padding: 0;
	margin-left: 0;
	margin-right: auto;
	background: var(--wp--preset--color--blanc);
	

	
	:is(a, button)  {
		ont-weight: 500;
		color: var(--wp--preset--color--primaire);
		cursor: pointer;
	}
	button:hover,
	a:hover,
	li.current-menu-item a {
		color: var(--wp--preset--color--secondaire);
	}
	
	
	
	.dialog--inner {
		position: relative;
		box-sizing: border-box;
		padding-block-start: 1rem;
		background: var(--wp--preset--color--blanc);
		overflow: clip;
		min-height: 100%;
		
		.dialog--close {
			
			border: none;
			background: none;
			font-size: var(--wp--preset--font-size--large);
			position: absolute;
			right: 0.5rem;
			top:3.25rem;
		
			&:hover {
				color: var(--wp--preset--color--jaune);
				cursor: pointer;
			}
		}

	
		.dialog--nav {
		
			font-size: var(--wp--preset--font-size--large);
			gap: 1rem;
		}
	}

		
}


/********************************************************/
/*
/*      Banner
/*
/********************************************************/

.wp-site-blocks > header { 
	
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	
	.wp-block-cover, .wp-block-cover-image  {
	
		aspect-ratio: 20/7;
		min-height: 0;
		
		img {
			position: absolute;
			inset: 0;
			width: 100%!important;
			height: 100%!important;
			object-fit: cover!important;
			object-position: center center!important;
		}
		
		@media (width < 1230px) {
			aspect-ratio: revert;
			min-height: 20rem;;
		}
		
	
	}
	
	.wp-block-cover {
		overflow: visible!important;
		padding-inline: 0;
	}
	

	h1  {
		padding-bottom: 6rem;
	}
	
	.rapport-annuel  {
		position: absolute;
		top: -3rem;
		left: 0;
				
		display: inline-block;
		padding: 1rem;
		background-color: var(--wp--preset--color--blanc-100);
		
		h2 {	
			margin: 0;
			font-size: var(--wp--preset--font-size--x-large);
			font-weight: 300;
			color: var(--wp--preset--color--primaire);
		}
		
		p  {
			margin: 0;
			margin-top: 1em;
			color: var(--wp--preset--color--secondaire);
		}
		
		&:hover p  {
			color: var(--wp--preset--color--primaire);
		}
		
	}

}

/********************************************************/
/*
/*      Footer CSS
/*
/********************************************************/

.wp-site-blocks > footer {

	& > section { 
		padding-block-start: 4rem;
		padding-block-end: 1rem;
		background: linear-gradient(rgb(255 255 255 / 0), rgb(255 255 255 / 1));
		
		.grid { 
			display: grid;
			grid-template-columns: minmax(auto,37rem) auto;
			column-gap: 2rem;
			row-gap: 2rem;
			
			@media (width < 980px) {
				grid-template-columns: 20rem 1fr;
			}
			
			@media (width < 740px) {
				grid-template-columns: auto min-content;
			}
			
			@media (width < 520px) {
				grid-template-columns: 1fr;
				max-width: 22rem;
				margin-inline: auto;
			}
			
			& > * {
				margin-block-start: 0;
			}
			.logo {
				align-self: flex-start;
				grid-column: 1/span 1;
				grid-row: 1/span 3;
				
				@media (width < 520px) {
					grid-column: 1/span 1;
					grid-row: 1/span 1;
				}
			}
			
			.adresses {
				align-self: flex-start;
				grid-column: 2/span 1;
				grid-row: 1/span 1;
				justify-content: space-between;
				column-gap: 2rem;
				row-gap: 1em;
				width: 100%;
				max-width: 40rem;
				& a {
					color: var(--wp--preset--color--noir)!important;
					&:hover {
						color: var(--wp--preset--color--secondaire)!important;
					}
				}
				& address p {
					margin-block-start: 0.5em!important;
				}
				& address p:first-child {
					margin-block-start: 0!important;
				}
				
				@media (width < 980px) {
					
					flex-wrap: wrap;
					& address {
						min-width: 100%;
					}
				}
				
				@media (width < 520px) {
					grid-column: 1/span 1;
					grid-row: 2/span 1;
					justify-self: center;
				}
			}
			
			.contact  {
				grid-column: 2/span 1;
				grid-row: 2/span 1;
				
				& a {
					color: var(--wp--preset--color--noir)!important;
					&:hover {
						color: var(--wp--preset--color--secondaire)!important;
					}
				}
				
				@media (width < 520px) {
		
					grid-column: 1/span 1;
					grid-row: 3/span 1;
				}
			}
			
			nav {
				
			
				grid-column: 2/span 1;
				grid-row: 4/span 1;
				
				font-weight: 500;
				gap: 0.5rem;
				
				li a  {
					color: var(--wp--preset--color--primaire);
				}
				li  a:hover,
				li.current-menu-item a {
					color: var(--wp--preset--color--secondaire);
				}
				
				li:not(:first-child):before {
					padding-right: 0.5rem;
					content: '|';
				}
				
				@media (width < 980px) {
					grid-column: 1/span 2;
					justify-self: center;
				}
				
				@media (width < 520px) {
					
					margin-block-start:0;
					
					justify-self: flex-start;
					grid-column: 1/span 1;
					grid-row: 4/span 1;
					gap: 0.25rem;
					padding-right: 0.25rem;
					font-size: var(--wp--preset--font-size--small);
				
				}
			}
		}
		
		
		
	}
	
	& > aside {
		margin-block-start: 0;
		padding-block: 1rem;
		
		& a {
			color: var(--wp--preset--color--noir)!important;
			&:hover {
				color: var(--wp--preset--color--secondaire)!important;
			}
		}
	}
	
}