* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
	width: 100%;
}
html {
    scroll-behavior: smooth;
	font-family: "Poppins", Sans-serif;
}

body {
    scroll-snap-type: y mandatory;
	font-family: Poppins, Sans-serif;
}
.fn1 {
	font-size: 15px;
	font-weight: normal;
}
.fn2 {
	font-size: 18px;
	font-weight: 320;
	line-height: 27px;
}
.fn3 {
	font-size: 14px;
	font-weight: bold;
    line-height: 21px;	
}
.fn4 {
	font-size: 20px;
	font-weight: bold;
	line-height: 67px;
}
header {
	display: flex;
	padding-top: 10px;
}
section {
    min-height: 100vh;
    min-height: 100svh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
}
section > * {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
a {
	text-decoration: none;
	color: white;
}
#accueil {
	background-image: URL("img/accueil.webp");
}
#accueil header {
	flex: 0 0 86px;
}
#accueil article {
	margin: auto;
}
.center-content {
	align-content: center;
}
.color1 {
	color: #C9A84C;
}
.logo {
	width:270px;
	height: 88px;
}
.logo span {
	background: URL("img/logo.png") no-repeat center;
	background-size: contain;
	font-size: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
}
.menu {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.menu * {
	padding: 20px;
}
a.button {
	padding: 10px 40px;
	background-color: #C9A84C;
	border-radius: 50px;
	color: rgb(13, 31, 20);
	display: block;
}
a.button:hover {
	color: white;
}
.head {
    color: #C9A84C;
    background-color: #0D1F1440;
    border: solid #C9A84C52;
    border-radius: 50px;
    padding: 0px 30px;
	text-align: center;
}
h1 {
	color: white;
	font-size: 60px;
	font-weight: bold;
	line-height: 67px;
	padding: 0px;
	margin: 0px;
}
h2 {
	font-size: 40px;
	font-weight: bold;
	line-height: 50px;
	padding: 0px;
	margin: 0px;
}
p {
    font-size: 18px;
    font-weight: 300;
    line-height: 27px;
	margin: 0px;
}
#accueil p {
	color: white;
}

#catalogue {
	justify-content: center;
}
#catalogue header {
	flex-direction: column;
	align-items: center;
}
#catalogue footer {
	text-align: center;
	padding: 10px;
}
.info {
	color: #C9A84C;
	background-color: #C9A84C2E;
	border-radius: 5px;
	padding: 0px 30px;
	display: inline-block;
}
#catalogue article {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2em;
	text-align: center;
	margin: 20px auto;
}
#catalogue article > * {
	color: white;
	background-color: #004F37;
	position: relative;
}
#catalogue article > *::before {
    content: "";
    display: block;
    height: 190px;
	background-position: center;
	background-repeat:  no-repeat;
    background-size: cover;
}
#catalogue article > *:hover {
	transform: scale(1.02);
}
.Pizzas::before {
	background-image: URL("img/Pizzas.webp");
}
.Pates::before {
	background-image: URL("img/Pates.webp");
}
.Salades::before {
	background-image: URL("img/Salades.webp");
}
.Desserts::before {
	background-image: URL("img/Desserts.webp");
}
.Tartes::before {
	background-image: URL("img/Tartes.jpg");
}
.Boissons::before {
	background-image: URL("img/Boissons.webp");
}
#apropos {
	background-color: #004F37;
	color: white;
	justify-content: center;
}
#apropos .layout {
	display: flex;
	flex-direction: row;
	column-gap: 10px;
}
#apropos header {
	flex-direction: column;
	align-items: flex-start;
}
#apropos h2 {
	margin-bottom: 20px;
	position: relative;
}
#apropos h2:after {
content: "";
    border-bottom: solid 2px #C9A84C;
    width: 50px;
    position: absolute;
    left: 0px;
    bottom: -10px;
}
#apropos article > div {
	border: solid 1px #C9A84C8F;
	border-radius: 10px;
	padding: 20px;
	background-color: #FFFFFF3B;
	margin-top: 10px;
}
#apropos article > div > div {
	font-weight: bold;
}
#apropos .photo {
	background: URL("img/APropos.webp") no-repeat center;
	background-size: cover;
	flex: 0 0 591px;
	border-radius: 10px;
}
#contact header {
	flex-direction: column;
	align-items: center;
}
#contact article {
	flex: 1;
}
#contact .layout {
	display: flex;
	flex-direction: row;
	column-gap: 10px;
	margin: 10px auto;
}
footer.footer {
	background-color: #004F37;
	color: white;
	max-width: none;
}
footer.footer > * {
	max-width: 1200px;
	margin: 0 auto;
}
.contact {
	background: URL("img/Contact.webp") no-repeat center;
	background-size: cover;
	flex: 0 0 591px;
	border-radius: 10px;
	color: white;
	padding: 50px;
	font-size: 18px;
}
.contact > div > div:first-child {
	font-size: 20px;
	font-weight: bold;
}
.contact > div:not(:last-child) {
	margin-bottom: 40px;
	position: relative;
}
.contact > div:not(:last-child):after {
	content: "";
    border-bottom: solid 2px #C9A84C;
    width: 50px;
    position: absolute;
    left: 0px;
    bottom: -10px;
}
.map  { 
	flex: 1;
	background-color: silver;
}
iframe {
	width: 100%;
	height: 100%;
	border: none;
}
.bottom {
	display: flex;
	column-gap: 130px;
	padding: 20px 0px;
	font-weight: normal;
}
.bottom > * {
	flex: 1;
	padding: 20px 0px;
}
.pizzeria {
	display: flex;
	flex-direction: column;
}
.pizzeria .logo {
	margin-bottom: 20px;
}
footer.footer .copyright {
	max-width: none;
	border-top: solid 1px #C9A84C;
}
.bottom a {
	display: flex;
}
.bottom a svg {
	margin: 4px;
}
.bottom .title {
	color:  #C9A84C; 
	font-size: 20px;
	font-weight: 500;
}
.open7 {
	background-color: #FFFFFF3D;
	border-radius: 5px;
	padding: 0px 10px;
	display: inline;
}
.copyright .limit {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0px;
	font-size: 18px;
	font-weight: normal;
	display: flex;
    justify-content: space-between;	
}
.copyright a {
	color: #C9A84C;
}
/* commandes */
.commandes h2 {
	text-align: center;
	margin: 20px;
}
.commandes section > article { flex: 0 0 auto }
#pizzas header {
	background-color: #004F37;
}
#tartes,
#desserts {
	background-color: #004F37;
	color: white;
}
.row {
	max-width: none;
	background-color: #004F37;
}
.row > * {
	max-width: 1200px;
	margin: 0 auto;
}
.grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);	
	gap: 20px;
	text-align: center;
	margin-bottom: 20px;
}
.produit {
	background-color: #004F37;
	color: white;
	padding: 10px;
	display: flex;
	flex-direction: column;
	aspect-ratio: 265 / 290;
}
.produit img { flex: 1; object-fit: contain; width: 100% }
.produit:hover {
	transform: scale(1.02);
}
#tartes .produit,
#desserts .produit {
	background-color: #FFFFFF3B;;
}
/* utils */
.slide {
    display: inline-block;
    opacity: 0;
}
.slide.down { transform: translateY(-5vw); }
.slide.up { transform: translateY(+5vw); }
.slide.left { transform: translateX(-5vw); }
.slide.right { transform: translateX(+5vw); }
.slide.visible {
    opacity: 1;
    transform: translate(0, 0);
    transition:
        opacity 1s ease,
        transform 1s ease;
}
#toggle {
    align-self: center;
	margin: 0px 20px;
	display: none;
}
#toggle .bars {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 10px;
    border-top: 3px solid white;
    border-bottom: 3px solid white;
    cursor: pointer;
    padding: 0px;
    align-self: center;
}
#toggle .bars:before {
    content: ' ';
    position: absolute;
    top: 11px;
    left: 0px;
    height: 3px;
    width: 20px;
    background-color: white;
}
@media (max-width: 767px) {
	h1 { font-size: 50px; line-height: 1.1em;}
	h2 { font-size: 35px }
	.fn2 { font-size: 16px; line-height: 16px }
	.fn3 { font-size: 10px; }
	.fn4 { font-size: 15px; line-height: 35px }
	.menu,
	#menu-pdf * {
		display: none
	}
	#menu-pdf {
		flex: 1;
	}
	#accueil {
		text-align: center;
	}
	#accueil header {
		flex: 0 0 
	}
	#accueil .logo {
		width: 130px;
		height: 41px;
	}
	#catalogue {
		text-align: center;
		padding: 10px;
	}
	#catalogue article {
		grid-template-columns: repeat(2, 1fr);
	}
	#catalogue article > *::before {
		height: 80px;
	}
	#apropos .layout {
		flex-flow: column-reverse;
	}
	#apropos .photo {
		flex: 0 0 380px;
		margin: 10px;
	}
	#apropos header,
	#apropos article > div {
		margin: 10px;
	}
	#contact header {
		text-align: center;
		padding: 10px;
	}
	#contact .layout {
		margin: 10px;
		row-gap: 10px;
	}
    .map { flex: 0 0 400px }	
	#contact .layout,
	.bottom	{
		flex-direction: column;
		padding: 10px;
	}
	.contact {
		flex: auto;
	}
	.copyright .limit {
		flex-direction: column;
		text-align: center;	
		font-size: 14px;
	}
	article {
		padding: 5px;
	}
	.grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		font-size: 12px;
	}
	.produit {
		aspect-ratio: 146/167;
	}
	#toggle { display: block }
	.quickMenu .menu {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 50px;
		right: 20px;
		background-color: white;
		color: black;
		z-index: 1;
	}
	.quickMenu .menu a { 
		color: black;
		padding: 10px 20px;
		width: 100%;
	}
	.quickMenu .menu a:hover {
		color: white;
		background-color: #004F37;
	}	
}