body {
    background-color: #342B52;
    color: #F5F5F5;
    font-family: "Shantell Sans", cursive;
    font-size: 20px;
    margin:0;
    padding: 0;
    line-height: 1.6;
}

.contenu {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap:20px;
    margin-left: 200px;
    margin-right: 200px;
    position: relative;
    z-index: 0;
}


/* --------------- Navigation --------------- */

.navigation__list {
    list-style: none;
    display: flex;
    justify-content: end;
    font-size: clamp(1.25rem, 1.1771rem + 0.5833vw, 1.6875rem);
}

.navigation__el a {
    color:#C9C0EA;
    text-decoration: none;
    transition: color 0.3s ease;
}

.navigation__el a:hover {
    color: #FFE747;
    cursor: pointer;
}

.navigation__el {
    width: 15%;
}

.navigation__toggle {
    display: none;
}

.no-scroll{ 
    overflow: hidden;
}

/* --------------- Header --------------- */

.header__title {
    margin-left: 200px;
    margin-right: 200px;
    margin-top: 171px;
    margin-bottom: 171px;;
}


/* --------------- Titres --------------- */

.title {
    display: block;
    font-size: 84px;
    font-family: "Bagel Fat One", system-ui;
    color: #C9C0EA;
    margin:0;
    padding:0;
    margin-bottom: 41px;
    margin-top: 97px;
}

.title__main--big {
    font-size: clamp(2.9375rem, 2.0833rem + 6.8333vw, 8.0625rem);
    text-align: center;
    padding-top:41px;
    margin-bottom: 0px;
}

.title__main--small {
    font-size: clamp(2.1875rem, 1.8958rem + 2.3333vw, 3.9375rem);
    color:#FFE747;
    font-family: "Shantell Sans", cursive;
    font-weight: 300;
    text-align: center;
    margin:0;
    padding:0;
}

.title__txt--big {
    font-size: clamp(2.1875rem, 1.8958rem + 2.3333vw, 3.9375rem);
}

.title__txt--middle {
    color:#FFE747;
    font-family: "Shantell Sans", cursive;
    font-size: clamp(1.9375rem, 1.6875rem + 2vw, 3.4375rem);
    text-align: center;
    padding:0;
    margin:0;
    font-weight: 500;
}


/* --------------- Aside --------------- */


.aside { 
    display: none;
}

.aside--active {
    display: block; 
    margin-top: 137px;
    grid-column:1;
    top:20%;
    position: fixed;
}


.menu__list {
    margin: 0;
    padding: 0;
    font-size: clamp(1.25rem, 1.1771rem + 0.5833vw, 1.6875rem);
    list-style: none;
    text-align: center;
}

.menu__el a {
    color:#C9C0EA;
    text-decoration: none;
}

.menu__el a :hover {
    color: #FFE747;
    transition: 3s ease-in;
}

.menu__el--active a {
    color: #FFE747 !important;
}


/* --------------- Container --------------- */

.container {
    grid-column: 2/8;
    position: relative;
    margin-top:97px;
    margin-bottom: 171px;
}

.jaune {
    position: absolute;
    top: 97px;
    width: 3px;
    height: calc(100% - 97px); 
    background-color: #FFE747;
    border-radius: 2px;
}

.section {
    margin-left: calc(100% / 7);
}

.section__txt {
    box-shadow: 0px 0px 5px 3px #C9C0EA;
    border-radius: 30px;
    margin-bottom: 97px;
    padding:27px;
}

.section__projet {
    display: inline-flex;
    gap:20px;
    flex-wrap: wrap;
    width: 100%;
}

.section__case {
    box-shadow: 0px 0px 5px 3px #C9C0EA;
    border-radius: 30px;
    width: calc(100% /2 - 10px);
    margin-bottom: 20px;
    transition: box-shadow 0.3s ease;
    transition: color 0.3s ease;
    text-align: center;
}

.section__case:hover {
    box-shadow: 0px 0px 5px 3px #FFE747;
    cursor: pointer;
}

.section__case a {
    color:#C9C0EA;
    text-decoration: none;
    box-sizing: content-box;
}
.section__case p {
    font-family: "Bagel Fat One", system-ui;
    font-size: clamp(1.25rem, 1.1771rem + 0.5833vw, 1.6875rem);
}
.section__case a:hover {
    color:#FFE747;
}


/* --------------- Contenu --------------- */

.contenu__case a {
    color:#FFE747;
    text-decoration: none;
}
.contenu__case a:hover {
    text-decoration: underline;
    text-decoration-color:#FFE747;
}

.contenu__case--but {
    grid-column:3/7 ;
}

.contenu__case--process {
    grid-column: 1/5;
}

.contenu__case--final {
    grid-column: span 8;
    margin-bottom: 171px;
}

.contenu__case--final h2 {
    text-align: center;
}

.bulle {
    position: absolute; 
    background-color: #C9C0EA;
    z-index: -1;
}

.bulle--gauche {
    position: relative;
    grid-column: 1 / 3; 
    grid-row: 1;
    left: -200px; 
    width: calc(100% + 200px);
    height: auto;
    margin-top:97px;
    right: 0; 
    border-radius: 0 75px 75px 0;
}

.bulle--droite {
    position: relative;
    grid-column: 6 / 8;
    grid-row: 2;
    right: -200px;
    left: 0;
    width: calc(100% + 220px);
    margin-top:97px;
    border-radius: 75px 0 0 75px;
}

.contenu__figure {
    display: flex;
    gap: 20px; 
    width: 100%;
    margin-top: 50px;
}

.figure {
    flex: 1; 
    margin: 0;
}

.contenu__img {
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.figure__txt {
    font-style: italic;
}

.contenu__img {
  transition: transform 0.3s ease;
  cursor: zoom-in; 
}

.contenu__img:hover {
  transform: scale(1.5); 
}

/* --------------- Bouton --------------- */

.bouton {
    position: relative;
    align-items: center;
    border: solid 2px #C9C0EA;
    border-radius: 50px;
    padding:20px;
    color:#C9C0EA !important ;
    grid-column: 3/6;
    text-decoration: none;
    font-family: "Bagel Fat One", system-ui;
    text-align: center;
    justify-content: center;
    transition: color 0.3s ease;
}

.bouton:hover {
    border: solid 2px #FFE747;
    color:#FFE747 !important;
}

/* --------------- Credits --------------- */

.credits {
    margin-left: 200px;
    margin-right: 200px;
    margin-top: 171px;
    text-decoration: none;
    padding-top: 97px;
}


.credits__list a {
    color: #FFE747;
    text-decoration: none;
}

.credits__list a:hover {
    text-decoration: underline ;
    text-decoration-color:#FFE747 ;
}


/* --------------- Footer --------------- */

.footer {
    padding-top:41px;
    padding-bottom:41px;
    background-color: #C9C0EA;
    display:flex;
    flex-direction: row;
    align-items: flex-start;
    color:#342B52;
    text-align: center;
    flex-wrap: wrap;
    margin-top: 171px;
}

.title__footer {
    color:#342B52;
    font-family: "Bagel Fat One", system-ui;
}

.footer a {
    color: #342B52;
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;
    text-decoration-color: #342B52;
}

.footer__list {
    list-style: none;
}

.footer__list li {
    line-height: 1.8;
}

.footer__2 , .footer__1 {
    width: 50%;
}

.footer__3 {
    padding-top:41px;
    width: 100%;
}


/* --------------- Media queries --------------- */

@media (max-width: 700px) {

    .contenu , .header__title , .credits {
        margin-left:35px;
        margin-right:35px;
        margin-top: 250px;
    }
    .bulle {
        display: none;
    }
    .footer {
        flex-direction: column;
        align-items: center;
    }
    .footer__1, .footer__2 {
        width: 100%;
        text-align: center;
        margin-bottom: 40px;
    }
    .contenu__case, .container {
        grid-column: span 8;
    }
    .contenu__figure {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-self: center;
    }
    .aside , .jaune {
        display:none;
    }
    .section {
        margin-left:0;
    }

}

@media (min-width: 701px) and (max-width: 1100px) {

    body {
        overflow-x: hidden;
    }
    .contenu , .header__title , .credits {
        margin-left:63px;
        margin-right:63px;
    }
    .bulle--gauche {
        grid-column: 1 /2; 
        width: calc(100% + 63px); 
        left: -63px;
    }
    .bulle--droite {
        grid-column: 7/8;
        width: calc(100% + 83px);
        right: -63px;
    }
    .contenu__case--but {
        grid-column:2/8 ;
    }
    .contenu__case--process {
        grid-column: 1/7;
    }
    .contenu__figure {
        width: 80%;
        display: flex;
        flex-direction: column;
        justify-self: center;
    }
}


@media (max-width: 900px){

    body {
        font-size: 18px;
    }
    .navigation__toggle{
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        cursor: pointer;
        z-index: 20; 
    }
    .icon--burger {
        fill:#C9C0EA;
        transition: fill 0.3s ease-in-out;
    }
    .icon--burger:hover{
        fill:#FFE747;
    }
    .navigation {
        width: calc(100% - 32px);
        margin:0;
        padding: 0;
        display: flex;
        flex-direction: column; 
        align-items: center;
        position: static; 
        border-style: none;
    }
    .navigation__list{
        padding: 32px;
        justify-content: start;
        text-align: center;
        flex-direction: column;
        align-items: center;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        background-color:#342B52;
        margin: 0; 
        z-index: 10;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
    }
    .navigation--open .navigation__list{
        transform: translateX(0);
    }

}
