@font-face {font-family:'AmericanTypewriter';src:url('../fonts/AmericanTypewriterStd-Cond.woff2') format('woff2');font-weight:normal;font-style:normal;}
@font-face {font-family:'AmericanTypewriter';src:url('../fonts/AmericanTypewriterStd-Bold.woff2') format('woff2');font-weight:bold;font-style:normal;}

:root {--green:#3e5f44;--yellow:#efb135;--beige:#f9e4cf;--mauve:#a474b0;}
* {padding:0;margin:0;border:0;}
body {font-family:'AmericanTypewriter';background:var(--green);color:white;font-family:'AmericanTypewriter';}

header, main, footer {max-width:100%;margin:0 auto;}
header {text-align:center;position:relative;}
header::before {content:'';background:url('../img/bg-header.svg') no-repeat center center;background-size:cover;position:absolute;top:0;left:0;width:100%;height:60%;z-index:-1;clip-path:polygon(0% 0%, 0% 97.51%, 33.37% 100%, 76.46% 99.67%, 100% 85.72%, 100% 0%);}
header .info {position:relative;text-align:center;font-size:1rem;padding:1rem .5rem;color:var(--green);}
header .info p {margin:0;}
header .info p strong {font-size:1.2rem;display:block;}
header nav ul {display:flex;flex-direction:row;align-items:center;justify-content:center;list-style:none;gap:1rem;}
header nav ul li a {color:white;}
header h1 {font-size:0;}
header img {max-width:35%;}
body.home header h1 a {pointer-events:none;}

main section {display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;padding-inline:10vw;}
main section .fullwidth {flex:0 0 100%;}
main section .halfwidth {flex:0 0 50%;}

footer {text-align:center;background:url('../img/bg-footer.svg') no-repeat top center;background-size:cover;color:var(--mauve);width:100%;aspect-ratio:600/67;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;}
footer a.acces {background:url('../img/plan-acces.svg') no-repeat center center;width:6rem;aspect-ratio:1/1;display:block;position:absolute;top:-3rem;left:55%;transform-origin:50% 100%;animation:balance 1s ease-in-out infinite;}
footer p a {color:var(--mauve);}
footer img {max-height:4rem;margin:1rem auto;}
footer img + p {font-size:1.4rem;}

footer .photo-ferme {background:url('../img/photo-ferme.png') no-repeat center center;background-size:cover;width:20rem;aspect-ratio:566/467;position:absolute;top:-4rem;right:10%;z-index:-1;}

@keyframes balance {0% {transform:rotate(0deg);}50% {transform:rotate(15deg);}100% {transform:rotate(0deg);}}

h2 {font-size:1.5rem;text-align:center;margin:1rem 0;}
h2 span {font-size:60%;display:block;}
p {margin-bottom:1rem;text-align:center;}

section article.intro {margin-bottom:1rem;}
section article.intro h2 {font-size:2rem;}

section article.horaires h2 {font-size:1.6rem;}
section article.horaires p {font-size:1.2rem;}

main section article.bloc-tarifs {background:var(--beige);padding:4rem;border-radius:2rem;flex:0 0 calc(50% - 8rem);color:var(--green);}
main section article.bloc-tarifs h2 {margin:0 0 1rem 0;}
ul.tarifs {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;list-style:none;gap:1rem;}
ul.tarifs li {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0 1rem;flex-wrap:wrap;line-height:1.2;width:100%;}
ul.tarifs li span {font-weight:bold;}
ul.tarifs li i {flex:1 0 100%;}

main section article.contacts {margin:3rem 0;}
main section article.contacts a {background:var(--beige);border-radius:2rem;display:inline-block;padding:.25rem 2rem 0 2rem;line-height:2;text-decoration:none;font-weight:bold;color:var(--green);margin:0;font-size:1.2rem;margin-inline:1rem;}
main section article.contacts a:hover {background:var(--yellow);color:var(--beige);}

body:not(.home) section {text-align:left;margin-bottom:5rem;}
body:not(.home) section a {color:white;}
body:not(.home) section a:hover, body:not(.home) section a:focus {color:var(--yellow);}
body:not(.home) section p, body:not(.home) section ul {text-align:left;width:100%;}

@media screen and (max-width:900px) {
    header img {max-width:60%;}
    main section {padding-inline:5vw;}
    main section article.horaires {padding:2rem;flex:0 0 calc(50% - 4rem);}
    main section article.bloc-tarifs {padding:2rem;flex:0 0 calc(50% - 4rem);}
    footer .photo-ferme {width:15rem;top:-5rem;right:0;}
}
@media screen and (max-width:750px) {
    footer {aspect-ratio:initial;}
    footer a.acces {top:-4rem;left:10%;}
}
@media screen and (max-width:640px) {
    header .info {font-size:1rem;}
    header .info p strong {font-size:1.1rem;}
    header img {max-width:80%;}
    main section article.horaires {padding-inline:1rem;flex:0 0 calc(100% - 2rem);}
    main section article.bloc-tarifs {padding:2rem;flex:0 0 calc(100% - 4rem);}
    main section article.contacts a {margin-bottom:.5rem;}
    main section article.contacts {margin-bottom:5rem;}
    ul.tarifs li i {font-size:75%;}
    footer .photo-ferme {width:10rem;top:-5rem;right:0;}
    footer img + p {font-size:1.1rem;}
    footer p a {white-space:nowrap;}
}