@charset "UTF-8"; 

/*Normalize*/ 
@import url(normalize.css);

/*Utilitaires*/
@import url(utilitaires.css);

/*Charte typographique*/ 
@import url(typo.css);

figure {
    margin: 0;
}
img {
    max-width: 100%;
    padding-bottom: .5em;
}
body {
    background-color: var(--couleur-bleuPale);
}
:focus {
    outline: none;
    border-radius: var(--borderRadius);
    border-color: var(--couleur-rose);
    border-style: solid;
    border-width: 6px;      
}
/*Header*/
header {
    background-color: var(--couleur-bleuFonce);  
}
.nav__header {
    padding: 2em;
}
@media(min-width: 500px) {
    .nav__header{
        max-width: 1000px;
        margin-left: auto;  
        margin-right: auto;
        padding-left: 0;
    }
}
.nav__header a{
    display: block;
    border-radius: var(--borderRadius);
}
/*Section1*/

.section1 {
    background-color: var(--couleur-bleuFonce);
    color: var(--couleur-blanc);
    max-width: 100vw;
    margin-top: 0;

}
.titreAccroche {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 5em;
   
}
@media (min-width: 700px) {
    .titreAccroche {
        max-width: 1000px;
        padding-left: 10px;
        margin-left: auto;
        margin-right: auto;
    }
}
h1 {
    margin: 0;
    margin-bottom: 2em;
    padding-top: 1.5em;
}
@media (min-width: 700px) {
    h1 {
        padding-left: 4em;
    }
}
.grimm {
    background-color: var(--couleur-blanc);
    border-radius: var(--borderRadiusMobile);
    border-color: var(--couleur-rose);
    border-style: solid;
    border-width: 7px;
    color: black;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    bottom: -3.4em;   
}
@media (min-width: 500px) {
    .grimm {
        border-width: 12px;
    }
}
@media (min-width: 700px) {
    .grimm {
        bottom: -8em;
        border-radius: var(--borderRadius);
        border-width: 18px;
    }
}
.figure_grimm {
    text-align: center;
    padding-top: 1.5em;
}
@media (min-width: 700px) {
    .figure_grimm {
        padding-top: 1.5em;
    }
}
/*Section2*/ 

.section2 {
    margin-top: 5em;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 5em;
}
@media (min-width: 700px) {
    .section2{
        max-width: 1000px;
        padding-left: 10px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10em;
    }
}
.figure_hansel{
    text-align: center;
}
@media (min-width:700px) {
   .figure_hansel {
    padding-left: 7.5em;
    text-align: center;
} }

/*Section3*/ 
.section3 {
    background-color: var(--couleur-bleuFonce);
    border-radius: var(--borderRadiusMobile);
    border-color: var(--couleur-rose);
    border-style: solid;
    border-width: 7px;
    color: var(--couleur-blanc);
    max-width: 1000px;
    margin-bottom: 5em;
    padding-bottom: 1em;
}
@media (min-width: 500px) {
    .section3 {
        border-width: 12px;
    }
}
@media (min-width: 700px) {
    .section3 {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10em;
        border-radius: var(--borderRadius);
        border-width: 18px;
    }
}
.figure_rapunzel {
    text-align: center;
}
@media (min-width: 700px) {
    .figure_rapunzel{
        padding-left: 1.5em;
    }
}
/*Section4*/
.section4 {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 5em;
}
@media (min-width: 700px) {
    .section4{
        max-width: 1000px;
        padding-left: 10px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10em;
    }
}
.figure_cendrillon {
    text-align: center;
}
@media (min-width: 700px) {
    .figure_cendrillon{
        padding-left: 1.5em;
    }
}

/*Grilles*/
.grille1 {
    display: grid;
    gap: 20px;
    justify-items: center;
    grid-template-areas: "A"
                         "B";
}

@media  only screen and (min-width: 500px) {
    .grille1 {
        display: grid;
        gap: 20px; 
        grid-template-areas: "A"
                             "B";
    }}

@media  only screen and (min-width: 700px) {
.grille1 {
    display: grid;
    max-width: 1100px;
    gap: 1em 1em; 
    grid-template-columns: 2em 6fr 2em 5fr 2em;
    grid-template-areas: ". A . B .";
}}

.A {
    grid-area: A;
}
.B {
    grid-area: B;
    padding-left: 10px;
    padding-right: 10px;
}

.grille2 {
    display: grid;
    grid-template-areas: "C"
                         "D"
                         "E";
}
@media only screen and (min-width: 500px) {
    .grille2 {
        display: grid;
        grid-template-areas: "C"
                             "D"
                             "E";
}}
@media only screen and (min-width: 700px) {    
    .grille2 {
            display: grid;
            grid-auto-columns: 1fr;
            gap: 1em 1em;
            grid-template-columns: 5.8fr 2em 5fr;
            grid-template-rows: .5fr 1.5fr;
            grid-template-areas: "C C C"
                                 "D . E"; 
}}
.C {
    grid-area: C;
    justify-self: center;
    padding-bottom: 0;
    margin-bottom: 0;
}
@media (min-width: 700px) {
    .C {
        justify-self: end;
        padding-right: .2em;
    }
}
.D {
    grid-area: D;
}

.E {
    grid-area: E;
}
.grille3 {
    display: grid;
    grid-template-areas: "F"
                         "G"
                         "H";
}
@media only screen and (min-width: 500px) {
    .grille3 {
        display: grid; 
        grid-template-areas: "F"
                             "G"
                             "H";
}}
@media only screen and (min-width: 700px) {    
    .grille3 {
            display: grid;
            gap: 1em; 
            max-width: 1100px;
            grid-template-columns: 2em 6fr 2em 5fr 2em;
            grid-template-rows: .2fr 1.5fr;
            grid-template-areas: ". F F F ."
                                 ". G . H ."; 
}}
.F {
    grid-area: F;
    justify-self: center; 
    padding-bottom: 0;
    margin-bottom: 0;
    margin-top: 0;
}

.G {
    grid-area: G;
}

.H {
    grid-area: H;
    padding: .5em;

}
@media (min-width: 700px) {
    .H{
        margin: 0;
    }
}
.grille4 {
    display: grid;
    grid-template-areas: "J"
                         "K"
                         "L"
                         "I"
                         "M";
}
@media only screen and (min-width: 500px) {
    .grille4 {
        display: grid;
        grid-template-rows: .5fr .1fr .1fr .2fr 1fr;
        grid-template-areas: "J"
                             "K"
                             "L"
                             "I"
                             "M";
}}
@media only screen and (min-width: 700px) {    
    .grille4 {
            display: grid;
            grid-gap: 1em; 
            grid-template-columns: 4fr 1.7fr 2em 5fr;
            grid-template-rows: .5fr 20em 1fr;
            grid-template-areas: "I I . J"
                                 "K K K K"
                                 "L M M M"; 
}}
 .I {
     grid-area: I;
     margin-left: 0;
     margin-right: 0;
 }
 .J {
     grid-area: J;
 }

.K {
    grid-area: K;
    justify-self: center;
    margin-bottom: 0;

}
@media (min-width: 700px) {
    .K {
        justify-self: start;
    }
}
.L {
    grid-area: L;
    justify-self: end;
    margin-top: 0;
}
@media (min-width: 700px) {
    .L {
        justify-self: start;
    }
}
.M {
    grid-area: M;
}

/*FOOTER*/ 

.sources {
    background-color: var(--couleur-bleuFonce);
    color: var(--couleur-blanc);
    padding-top: 2em;
    padding-bottom: 2em;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 100vw;
}
@media (min-width: 700px) {
    .sources h3, ul {
    max-width: 1000px;
    margin-right: auto; 
    margin-left: auto;
}}
.liste__item__sources{
    list-style-type: none;
}
.lien__sources:link, .lien__sources:visited {
    color: var(--couleur-blanc);
}
.lien__sources:hover, .lien__sources:active {
    color: var(--couleur-rose)
}

.nav__footer {
    background-color: var(--couleur-blanc);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    
}
.nav__logo {
    margin-top: 2em;
    display: flex;
    justify-content: center;
}

@media (min-width: 500px) {
    .nav__logo { 
        justify-content: start;
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}
.media-sociaux{
    list-style-type: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
}
@media (min-width: 500px) {
    .media-sociaux {
        justify-content: end;
        margin-right: auto;
        margin-left: auto;
        max-width: 1000px;
    }
}
.media-liste{
    margin-left: 1em;
    display: inline;
}
.media-liste:first-of-type {
    margin-left: 0;
}
.media-liste a{
    display: block;
}
.media-liste a:focus{
    border-radius: 20px;
    border-width: 8px;                 
}
.facebook {
    background-image: url("../images/icones/facebook_noir.svg");
    display: inline-block;
    width: 50px;
    height: 50px;
}
.facebook:hover {
    background-image: url("../images/icones/facebook_couleur.svg");
}
.instagram {
    background-image: url("../images/icones/instagram_noir.svg");
    display: inline-block;
    width: 50px;
    height: 50px;
}
.instagram:hover {
    background-image: url("../images/icones/instagram_couleur.svg");
}
.twitter {
    background-image: url("../images/icones/twitter_noir.svg");
    display: inline-block;
    width: 50px;
    height: 50px;
}
.twitter:hover {
    background-image: url("../images/icones/twitter_couleur.svg");
}
.youtube {
    background-image: url("../images/icones/youtube_noir.svg");
    display: inline-block;
    width: 50px;
    height: 50px;
}
.youtube:hover {
    background-image: url("../images/icones/youtube_couleur.svg");
}
.credits p{
    text-align: center;
    font-size: 1.4rem;
}
.credits a:link, .credits a:visited {
    color: black;
    font-weight: 600;
}
.credits a:hover, .credits a:active {
    font-size: 1.5rem;
}