/****************************** Propriété Globales ******************************/

@font-face {
    font-family: 'Rosalia';
    src: url('../font/rosalia.woff2') format('woff2'),
        url('../font/rosalia.ttf') format('ttf')
}

:root {
    --main-color: #FFFAEE;
    --secondary-color: #FF8695;
    --third-color: #FFDF81;
    --fourth-color: #333333;
    --fifth-color: #FFFFFF;
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

html::-webkit-scrollbar {
    width: 0.375rem;
}

html::-webkit-scrollbar-track {
    background-color: var(--main-color);
}

html::-webkit-scrollbar-thumb {
    background-color: var(--secondary-color);
    border-radius: 0.625rem;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--main-color);
    color: var(--fourth-color);
    font-family: "Forum";
    width: 100%;
    height: 100%;
}

a {
    text-decoration: none;
    color: var(--fourth-color);
}

/****************************** Header / Menu Téléphone ******************************/

header {
    position: relative;
    z-index: 100;
    height: 0;
}

.nav-menu {
    width: fit-content;
    position: fixed;
    right: 1.875rem;
    bottom: 1.875rem;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    justify-content: flex-start;
    gap: 0.938rem;
}

.nav-menu.menu-anim {
    animation: menu-animation2 0.4s ease-out forwards;
}

.menu {
    margin: 0;
    width: fit-content;
    background-color: var(--secondary-color);
    padding: 1.875rem 0.625rem;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    border-radius: 5rem;
    opacity: 0;
    transition: opacity 0.2s ease-in;
}

.menu.animation1 {
    animation: menu-animation1 0.4s ease-out forwards;
    opacity: 1;
    transition: opacity 0.2s ease-in;
    display: flex;
}

@keyframes menu-animation1 {
    0% {
        transform: scale(1, 1);
    }

    33% {
        transform: scale(0.95, 1.05);
    }

    66% {
        transform: scale(1.05, 0.95);
    }

    100% {
        transform: scale(1, 1);
    }
}

@keyframes menu-animation2 {
    0% {
        transform: scale(1, 1);
    }

    33% {
        transform: scale(0.95, 1.05);
    }

    66% {
        transform: scale(1.05, 0.95);
    }

    100% {
        transform: scale(1, 1);
    }
}

.menu li {
    list-style-type: none;
    cursor: pointer;
}

.ico-menu {
    font-size: 1.25rem;
    color: var(--main-color);
}

.ico-plus {
    font-size: 1.563rem;
    background-color: var(--secondary-color);
    padding: 0.625rem 0.719rem;
    border-radius: 100%;
    animation: fab-animation-reverse 0.4s ease-out forwards;
    cursor: pointer;
    color: var(--main-color);
}

.menu a i {
    transition: all 0.3s linear;
}

.menu a.active i {
    color: var(--fourth-color);
    transition: all 0.3s linear;
}

.ico-plus.animate {
    animation: fab-animation 0.4s ease-out forwards;
}

@keyframes fab-animation {
    0% {
        transform: rotate(0) scale(1);
    }

    20% {
        transform: rotate(60deg) scale(0.93);
    }

    55% {
        transform: rotate(35deg) scale(0.97);
    }

    80% {
        transform: rotate(48deg) scale(0.94);
    }

    100% {
        transform: rotate(45deg) scale(1);
    }
}

@keyframes fab-animation-reverse {
    0% {
        transform: rotate(45deg) scale(1);
    }

    20% {
        transform: rotate(-15deg);
    }

    55% {
        transform: rotate(10deg);
    }

    80% {
        transform: rotate(-3deg);
    }

    100% {
        transform: rotate(0) scale(1);
    }
}

/****************************** Accueil Téléphone ******************************/

.accueil {
    height: calc(100vh - 6.25rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
    gap: 1.875rem;
    scroll-margin: 9.375rem;
}

.big-div-accueil {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: space-evenly;
}

.div-accueil1 {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2.5rem;
}

.textes-accueil {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.625rem;
}

.textes-accueil h1 {
    font-family: "Oleo Script";
    font-size: 3.125rem;
    margin: 0;
    font-weight: lighter;
    cursor: default;
}

.textes-accueil p {
    font-size: 1.25rem;
    margin: 0;
    cursor: default;
}

.btns-accueil {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
}

.btn-saumon {
    background-color: var(--secondary-color);
    color: var(--main-color);
    font-weight: bolder;
    padding: 0.625rem 1.25rem;
    border-radius: 3.125rem;
    border: 0.125rem solid var(--secondary-color);
}

.btn-jaune {
    background-color: var(--third-color);
    color: var(--fourth-color);
    font-weight: bolder;
    padding: 0.625rem 1.25rem;
    border-radius: 3.125rem;
    border: 0.125rem solid var(--third-color);
}

.div-accueil2 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.img-1 {
    width: 60%;
}

.big-div-scroll {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.scroll {
    border: 0.125rem solid var(--fourth-color);
    border-radius: 1.25rem;
    width: 2.313rem;
    height: 3.75rem;
    display: flex;
    justify-content: center;
    padding-top: 0.625rem;
    z-index: 1;
    position: relative;
    background-color: var(--main-color);
}

.div-scroll {
    width: 0.625rem;
    height: 0.625rem;
    background-color: var(--fourth-color);
    border-radius: 1.25rem;
    top: 0;
    border: 0.094rem transparent solid;
    animation: infinite 2.5s scroll;
}

@keyframes scroll {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: translateY(4vh);
        opacity: 0;
    }

}

/****************************** À Propos Téléphone ******************************/

.apropos {
    margin-bottom: 1.25rem;
    scroll-margin: 1.25rem;
}

.image-3 {
    display: none;
}

.div-apropos2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.div-apropos2 h2 {
    font-family: "Rosalia";
    font-size: 1.875rem;
    font-weight: lighter;
    margin: 0;
    margin-left: 1.25rem;
    cursor: default;
}

.div-p-apropos p {
    margin: 1.25rem;
    border-radius: 0.938rem;
    position: relative;
    padding: 1.25rem;
    z-index: 10;
    cursor: default;
}

.div-p-apropos p::before {
    content: "";
    position: absolute;
    border: 0.188rem var(--secondary-color) solid;
    height: 100%;
    width: 98.3%;
    top: 0;
    left: 0;
    border-radius: 0.938rem;
    z-index: -1;
}

.div-p-apropos p::after {
    content: "";
    position: absolute;
    height: 105%;
    width: 50%;
    top: -0.063rem;
    left: 25%;
    background-color: var(--main-color);
    z-index: -1;
}

.icones-reseaux i {
    color: var(--secondary-color);
    font-size: 2.5rem;
    cursor: pointer;
}

.icones-reseaux {
    display: flex;
    flex-direction: row;
    gap: 0.625rem;
    align-items: center;
    margin-right: 1.25rem;
}

.div-apropos3 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/****************************** Projet Téléphone ******************************/

.projet {
    margin: 2.5rem 1.25rem 3.125rem 1.25rem;
    scroll-margin: 1.875rem;
}

.projet h2 {
    font-family: "Rosalia";
    font-weight: lighter;
    font-size: 1.875rem;
    text-align: center;
    cursor: default;
}

.big-div-slide {
    display: flex;
    flex-direction: row;
    gap: 1.25rem;
    align-items: center;
}

.fleche-slide-gauche {
    cursor: pointer;
}

.fleche-slide-droite {
    cursor: pointer;
}

.big-div-slide i {
    font-size: 1.563rem;
    color: var(--secondary-color);
}

.slide-plus .fleche-slider {
    color: var(--fourth-color);
    font-size: 0.938rem;
}

.slide p {
    width: auto;
    text-align: center;
    margin: 0;
    cursor: default;
}

.titre-slide {
    font-weight: bolder;
    font-size: 1.25rem;
}

.slide .slide-plus p {
    width: fit-content;
    cursor: pointer;
}

a.lien-slide {
    width: 100%;
}

.slide-plus {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.625rem;
}

.slide .first-p {
    width: auto;
    align-self: flex-end;
}

.slider-container {
    display: flex;
    flex-direction: row;
    overflow: hidden;
    position: relative;
    width: 100%;
    justify-content: flex-start;
}

.slider {
    display: flex;
    flex-direction: row;
    transition: transform 0.5s ease-in-out;
    width: 100%;
}

.slide-transition {
    transition: transform 0.5s ease;
}

.slide {
    border: 0.188rem solid var(--secondary-color);
    border-radius: 0.938rem;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background-color: var(--fifth-color);
    margin: 0 auto;
    justify-content: space-between;
    min-width: calc(100% - 1.25rem);
    gap: 0.938rem;
    margin-top: 1.25rem;
    margin-left: 1.25rem;
}

.slide::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #FFDF81, #FF8695);
    transform: translate(-1.25rem, -1.25rem);
    top: 0;
    left: 0;
    position: absolute;
    z-index: -1;
    border-radius: 0.938rem;
}

.img-slide {
    width: 80%;
    border-radius: 0.938rem;
    border: 0.188rem solid var(--secondary-color);
}

/****************************** Mini-projet Téléphone ******************************/

.mini-projet {
    margin: 3.125rem 1.25rem 3.125rem 1.25rem;
}

.mini-projet i {
    font-size: 1.25rem;
    cursor: pointer;
}

.titre-mini-projet {
    margin-top: 1.25rem;
}

.titre-mini-projet p {
    margin: 0;
    cursor: default;
}

.titre-mini-projet h2 {
    font-family: "Rosalia";
    margin: 0;
    cursor: default;
    font-weight: lighter;
}

.p-mini-projet {
    position: relative;
    padding: 0.938rem;
    cursor: default;
}

.p-mini-projet::before {
    content: "";
    position: absolute;
    border: 0.188rem var(--secondary-color) solid;
    height: 100%;
    width: 98.3%;
    top: 0;
    left: 0;
    border-radius: 0.938rem;
    z-index: -1;
}

.p-mini-projet::after {
    content: "";
    position: absolute;
    height: 105%;
    width: 50%;
    top: -0.063rem;
    left: 25%;
    background-color: var(--main-color);
    z-index: -1;
}

.img-livre {
    width: 70%;
}

.img-premier {
    width: 60%;
}

.div-mini-projet {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

/****************************** Galerie Téléphone ******************************/

.mini-projet-galerie {
    margin: 3.125rem 3.125rem 3.125rem 3.125rem;
}

.titre-galerie {
    font-family: "Rosalia";
    font-size: 1.25rem;
    font-weight: lighter;
    text-align: center;
}

.galerie-projet {
    display: grid;
    gap: 0.938rem;
}

.galerie-projet img {
    width: 100%;
    border-radius: 0.938rem;
}

.bordure-jaune {
    border: 0.25rem solid var(--third-color);
}

.bordure-rose {
    border: 0.25rem solid var(--secondary-color);
}

.mini-projet-galerie i {
    font-size: 1.25rem;
    cursor: pointer;
}

.overlay {
    display: none;
}

/****************************** Galerie Projet Téléphone ******************************/

.sec-mprojet-galerie i {
    font-size: 1.25rem;
    cursor: pointer;
}

.sec-mprojet-galerie {
    margin: 1.875rem 1.25rem;
}

.mimage {
    width: 100%;
    border-radius: 0.938rem;
}

.mimage2 {
    width: 80%;
    border-radius: 0.938rem;
}

.mtitre-galerie {
    font-family: "Rosalia";
    font-weight: lighter;
    cursor: default;
    margin: 0;
    font-size: 1.563rem;
}

.mprojet-galerie {
    display: flex;
    flex-direction: column-reverse;
    padding: 1.25rem;
    border-radius: 0.938rem;
    background-color: #FFFFFF;
    gap: 1.25rem;
    margin-top: 1.25rem;
}

.mini-mprojet-galerie {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.mini-mprojet-galerie p {
    cursor: default;
    margin: 0;
}

.sources-projet {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
}

.sources-projet2 {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
}

.sources-projet2 .btn-saumon{
    width: fit-content;
}

.sources-projet2 .btn-jaune{
    width: fit-content;
}

.sources-projet video{
    border-radius: 0.938rem;
    width: 100%;
}

.sec-mprojet-galerie .bord-rose {
    border: 0.188rem solid var(--secondary-color);
}

.sec-mprojet-galerie .bord-jaune {
    border: 0.188rem solid var(--third-color);
}

/****************************** Contact Téléphone ******************************/

.contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 1.25rem 3.125rem 1.25rem;
}

.contact h2 {
    font-family: "Rosalia";
    font-weight: lighter;
    font-size: 1.875rem;
    text-align: center;
    cursor: default;
}

form {
    width: 100%;
}

.form {
    display: flex;
    flex-direction: column;
    gap: 0.938rem;
    border: solid 0.188rem var(--secondary-color);
    border-radius: 0.938rem;
    padding: 1.25rem;
    width: 100%;
}

.label-form {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.313rem;
}

.label-form input,
.label-form textarea {
    background-color: transparent;
    border: none;
    border-bottom: 0.125rem solid var(--secondary-color);
    padding: 0.313rem;
    font-family: "Forum";
}

.big-big-div {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.938rem;
}

.img-form {
    width: 100%;
    border: 0.125rem solid var(--third-color);
    border-radius: 0.938rem;
    display: none;
}

.btn-form {
    width: fit-content;
    background: linear-gradient(to right, #FFDF81, #FF8695);
    border: none;
    border-radius: 1.25rem;
    padding: 0.5rem 1.563rem;
    color: var(--fifth-color);
    font-size: 1.125rem;
    cursor: pointer;
    font-family: "Forum";
    font-weight: bolder;
}

/****************************** Footer Téléphone ******************************/

footer {
    background-color: var(--secondary-color);
    margin: 3.125rem 0.938rem 2.5rem 0.938rem;
    padding: 0.938rem 2.5rem;
    display: flex;
    flex-direction: row;
    gap: 1.25rem;
    align-items: center;
    border-radius: 6.25rem;
    margin-top: 2.5rem;
}

.footer-reseaux {
    gap: 0.313rem;
    display: flex;
    flex-direction: column;
}

footer p {
    color: var(--fifth-color);
    font-size: 1.125rem;
    cursor: default;
}

footer a {
    color: var(--fifth-color);
}

footer i {
    color: var(--fifth-color);
    font-size: 1.25rem;
}

.footer-reseaux i {
    font-size: 1.563rem;
    color: var(--fifth-color);
}

/****************************** Formulaire Valide/Non Valide Téléphone ******************************/

.body-valide {
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 0 60px 0;
}

.body-valide main .accueil {
    margin: 0;
}

.body-valide footer {
    margin: 0 0.938rem 0 0.938rem;
}

@media all and (min-width: 768px) {

    /****************************** Header/Menu Tablette ******************************/

    .nav-menu {
        gap: 0.938rem;
        bottom: 3.125rem;
        right: 3.125rem;
    }

    .menu {
        padding: 2.5rem 0.625rem;
        gap: 1.563rem;
    }

    .ico-menu {
        font-size: 1.563rem;
    }

    .ico-plus {
        font-size: 1.875rem;
    }

    /****************************** Accueil Tablette ******************************/

    .scroll {
        border-radius: 1.875rem;
        width: 3.125rem;
        height: 5rem;
        padding-top: 0.75rem;
    }

    .div-scroll {
        width: 0.75rem;
        height: 0.75rem;
    }

    .big-div-accueil {
        flex-direction: row;
    }

    .div-accueil2 {
        width: 50%;
    }

    .img-1 {
        width: 90%;
    }

    /****************************** À Propos Tablette ******************************/

    .apropos {
        display: flex;
        flex-direction: row;
        gap: 1.875rem;
        align-items: center;
        margin-bottom: 3.125rem;
        scroll-margin: 2.5rem;
    }

    .div-p-apropos p {
        margin-right: 2.5rem;
        padding: 1.875rem;
    }

    .div-p-apropos p::before {
        width: 98.6%;
        top: 0;
        left: 0;
        border-radius: 0.938rem;
    }

    .div-apropos-img {
        width: 80%;
    }

    .image-3 {
        display: initial;
        width: 100%;
    }

    .div-p-apropos p::after {
        height: 105%;
        top: -0.063rem;
    }

    .icones-reseaux i {
        font-size: 3.125rem;
    }

    .icones-reseaux {
        gap: 1.25rem;
        margin-right: 2.5rem;
    }

    .div-apropos2 h2 {
        font-size: 2.5rem;
        margin-left: 1.25rem;
    }

    .div-apropos2 p {
        font-size: 1.25rem;
    }

    /****************************** Projet Tablette ******************************/

    .projet {
        margin-top: 3.75rem;
        margin-bottom: 3.75rem;
    }

    .projet h2 {
        font-size: 2.5rem;
    }

    .slide {
        min-width: calc(50% - 1.25rem);
    }

    .big-div-slide {
        margin: 0 3.125rem;
    }

    .slide .first-p {
        font-size: 1.25rem;
    }

    .titre-slide {
        font-size: 1.563rem;
    }

    .slide-plus {
        gap: 0;
    }

    .slide-plus p {
        font-size: 1.25rem;
    }

    a.lien-slide {
        width: 100%;
    }

    a.lien-slide:hover .slide-plus .fleche-slider {
        transform: translate(0.625rem);
        transition: all 0.3s linear;
    }

    a.lien-slide .slide-plus .fleche-slider {
        transition: all 0.3s linear;
    }

    a.lien-slide .slide-plus p {
        border-radius: 0.938rem;
        padding: 0.313rem 0.938rem;
        width: fit-content;
        background: linear-gradient(to right, #FFDF81, #FF8695);
        background-size: 0% 100%;
        background-repeat: no-repeat;
        transition: background-size 0.4s linear;
    }

    a.lien-slide:hover .slide-plus p {
        background-size: 100% 100%;
        transition: background-size 0.4s linear;
        font-weight: bolder;
    }

    /****************************** Mini-projet Tablette ******************************/

    .mini-projet {
        margin: 4.375rem 3.75rem 3.125rem 3.75rem;
    }

    .mini-projet i {
        font-size: 1.563rem;
    }

    .titre-mini-projet {
        margin-top: 1.875rem;
    }

    .titre-mini-projet p {
        font-size: 1.25rem;
    }

    .titre-mini-projet h2 {
        font-size: 1.875rem;
    }

    .p-mini-projet {
        padding: 1.875rem;
        font-size: 1.25rem;
    }

    .p-mini-projet::before {
        width: 98.6%;
        top: 0;
        left: 0;
        border-radius: 0.938rem;
    }

    .p-mini-projet::after {
        height: 105%;
        top: -0.063rem;
    }

    .img-livre {
        width: 30%;
    }

    .img-premier {
        width: 25%;
    }

    .div-mini-projet {
        gap: 1.25rem;
        flex-direction: row;
    }

    /****************************** Galerie Tablette ******************************/

    .mini-projet-galerie {
        margin: 4.375rem 5rem 3.125rem 5rem;
    }

    .titre-galerie {
        font-size: 2.5rem;
    }

    .galerie-projet {
        grid-template-columns: auto auto;
        gap: 1.25rem;
    }

    .mini-projet-galerie i {
        font-size: 1.563rem;
    }

    /****************************** Galerie Projet Tablette ******************************/

    .sec-mprojet-galerie i {
        font-size: 1.563rem;
    }

    .sec-mprojet-galerie {
        margin: 4.375rem 3.125rem 3.125rem 3.125rem;
    }

    .mprojet-galerie {
        flex-direction: row;
        padding: 2.5rem;
        align-items: center;
        justify-content: space-between;
    }

    .mtitre-galerie {
        font-size: 1.563rem;
    }

    .mprojet-galerie p {
        font-size: 1.125rem;
    }

    .mimage {
        width: 40%;
    }

    .sources-projet {
        width: 40%;
    }

    .sources-projet + .mini-mprojet-galerie {
        width: 60%;
    }

    .sources-projet2 {
        width: 40%;
    }

    .sources-projet2 + .mini-mprojet-galerie {
        width: 60%;
    }

    .sources-projet .mimage {
        width: 100%;
    }

    .sources-projet2 .mimage {
        width: 100%;
    }

    /****************************** Contact Tablette ******************************/

    .contact {
        margin-right: 5rem;
        margin-left: 5rem;
    }

    .contact h2 {
        font-size: 2.5rem;
    }

    .label-form label {
        font-size: 1.25rem;
    }

    .big-big-div {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.938rem;
    }

    .label-form input,
    .label-form textarea {
        font-size: 1.25rem;
    }

    .btn-form {
        font-size: 1.25rem;
        border-radius: 3.125rem;
        padding: 0.625rem 1.875rem;
        position: relative;
        right: -15%;
    }

    .img-form {
        display: initial;
        width: 30%;
        height: 30%;
    }

    form {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        gap: 1.25rem;
    }

    .form {
        gap: 1.25rem;
        width: 100%;
    }

    /****************************** Footer Tablette ******************************/

    footer {
        margin: 4.375rem 3.125rem 3.125rem 3.125rem;
        border-radius: 6.25rem;
        padding: 1.875rem 3.125rem;
        gap: 1.25rem;
        justify-content: space-between;
    }

    .footer-reseaux {
        flex-direction: row;
        gap: 0.938rem;
    }

    .footer-reseaux i {
        font-size: 2.188rem;
    }

    .footer-reseaux p {
        font-size: 1rem;
        width: fit-content;
    }

    footer i {
        font-size: 1.563rem;
    }

    /****************************** Formulaire Valide/Non Valide Tablette ******************************/

    .body-valide footer {
        margin: 0 3.125rem 0 3.125rem;
    }
}

@media all and (min-width: 1024px) {

    /****************************** Header/Menu Ordinateur ******************************/

    .nav-menu {
        justify-content: center;
        height: 100%;
        bottom: 0;
        top: 0;
        transition: all 0.3s;
    }

    .nav-menu.menu-anim {
        animation: menu-animation2 1s ease-out forwards;
        transition: all 0.3s;
    }

    @keyframes menu-animation2 {
        0% {
            transform: scale(1, 1);
        }

        33% {
            transform: scale(0.95, 1.05);
        }

        66% {
            transform: scale(1.05, 0.95);
        }

        100% {
            transform: scale(1, 1);
        }
    }

    .menu {
        padding: 3.125rem 0;
        gap: 0.625rem;
        display: flex;
        opacity: 1;
    }

    .menu li {
        padding: 0.938rem;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        transition: all 0.2s;
    }

    .menu li:hover {
        background-color: var(--main-color);
        border-radius: 20%;
        animation: animation-li 250ms 1;
        transition: all 0.2s;
        width: 100%;
    }

    .menu a {
        transition: all 0.2s;
        width: 100%;
    }

    .menu a:hover li i {
        color: var(--secondary-color);
        transition: all 0.2s;
    }

    @keyframes animation-li {
        0% {
            transform: scale(1, 1);
        }

        50% {
            transform: scale(0.8, 1.2);
        }

        100% {
            transform: scale(1, 1);
        }
    }

    .ico-menu {
        font-size: 1.563rem;
    }

    .ico-plus {
        display: none;
    }

    /****************************** Accueil Ordinateur ******************************/

    .accueil {
        height: calc(100vh - 9.375rem);
        margin-top: 6.25rem;
    }

    .textes-accueil h1 {
        font-size: 6.25rem;
    }

    .textes-accueil p {
        font-size: 1.875rem;
    }

    .btn-saumon {
        font-size: 1.25rem;
        padding: 0.625rem 1.563rem;
        transition: 0.3s all linear;
    }

    .btn-saumon:hover {
        background-color: var(--main-color);
        border: 0.125rem solid var(--secondary-color);
        color: var(--secondary-color);
        transition: 0.3s all linear;
    }

    .mimage + .btn-saumon:hover {
        background-color: var(--fifth-color);
    }

    .btn-jaune {
        font-size: 1.25rem;
        padding: 0.625rem 1.563rem;
        transition: 0.3s all linear;
    }

    .btn-jaune:hover {
        background-color: var(--main-color);
        border: 0.125rem solid var(--third-color);
        color: var(--fourth-color);
        transition: 0.3s all linear;
    }

    .mimage + .btn-jaune:hover {
        background-color: var(--fifth-color);
    }

    .div-accueil2 {
        width: 40%;
    }

    @keyframes scroll {
        0% {
            opacity: 0;
        }

        10% {
            opacity: 1;
        }

        90% {
            opacity: 1;
        }

        100% {
            transform: translateY(2.5rem);
            opacity: 0;
        }

    }

    /****************************** À Propos Ordinateur ******************************/

    .apropos {
        gap: 6.25rem;
    }

    .div-apropos-img {
        width: 40%;
    }

    .div-apropos2 p {
        font-size: 1.563rem;
    }

    .div-p-apropos p {
        margin-right: 12.5rem;
        padding: 2.5rem;
    }

    .icones-reseaux {
        margin-right: 12.5rem;
    }

    .icones-reseaux i {
        transition: 0.3s all linear;
        transform: scale(1);
    }

    .icones-reseaux i:hover {
        transition: 0.3s all linear;
        transform: scale(1.1);
    }

    .div-p-apropos p::before {
        width: 99.4%;
    }

    .div-apropos2 h2 {
        font-size: 3.75rem;
    }

    /****************************** Projet Ordinateur ******************************/

    .projet {
        margin-top: 5rem;
        margin-bottom: 5rem;
        scroll-margin: 7.5rem;
    }

    .projet h2 {
        font-size: 3.75rem;
    }

    .slide {
        min-width: calc(33.3% - 1.25rem);
    }

    .big-div-slide {
        margin: 0 12.5rem;
    }

    /****************************** Mini Projet Ordinateur ******************************/

    .mini-projet {
        margin: 4.375rem 9.375rem 3.125rem 9.375rem;
    }

    .mini-projet i {
        font-size: 1.875rem;
    }

    .titre-mini-projet p {
        font-size: 1.563rem;
    }

    .titre-mini-projet h2 {
        font-size: 2.188rem;
    }

    .p-mini-projet {
        padding: 2.5rem;
        font-size: 1.563rem;
    }

    .p-mini-projet::before {
        width: 99.4%;
    }

    .p-mini-projet::after {
        height: 105%;
        top: -0.063rem;
    }

    .img-livre {
        width: 25%;
    }

    .img-premier {
        width: 20%;
    }

    .div-mini-projet {
        gap: 3.125rem;
        flex-direction: row;
    }

    /****************************** Galerie Ordinateur ******************************/

    .galerie-projet a {
        display: contents;
    }

    .mini-projet-galerie {
        margin: 4.375rem 9.375rem 3.125rem 9.375rem;
    }

    .titre-galerie {
        font-size: 3.75rem;
    }

    .galerie-projet {
        grid-template-columns: auto auto auto;
        gap: 1.25rem;
    }

    .mini-projet-galerie i {
        font-size: 1.875rem;
    }

    .image-container {
        position: relative;
    }
    
    .overlay {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.7);
        text-align: center;
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Rosalia";
        font-weight: lighter;
        font-size: 1.875rem;
    }
    
    .image-container:hover .overlay {
        opacity: 1;
    }

    /****************************** Galerie Projet Ordinateur ******************************/

    .sec-mprojet-galerie i {
        font-size: 1.875rem;
    }

    .sec-mprojet-galerie {
        margin: 4.375rem 9.375rem 3.125rem 9.375rem;
    }

    .mprojet-galerie {
        padding: 3.75rem;
        margin-top: 3.125rem;
        gap: 3.125rem;
    }

    .mtitre-galerie {
        font-size: 2.188rem;
    }

    .mprojet-galerie p {
        font-size: 1.563rem;
    }

    .mimage {
        width: 30%;
    }

    .sources-projet {
        width: 30%;
    }

    .sources-projet + .mini-mprojet-galerie {
        width: 70%;
    }

    .sources-projet2 {
        width: 30%;
    }

    .sources-projet2 + .mini-mprojet-galerie {
        width: 70%;
    }

    .sources-projet .mimage {
        width: 100%;
    }

    .sources-projet2 .mimage {
        width: 100%;
    }

    .sec-mprojet-galerie .bord-rose {
        border: 0.25rem solid var(--secondary-color);
    }

    .sec-mprojet-galerie .bord-jaune {
        border: 0.25rem solid var(--third-color);
    }

    /****************************** Contact Ordinateur ******************************/

    .contact {
        margin-right: 12.5rem;
        margin-left: 12.5rem;
        scroll-margin: -0.625rem;
    }

    .contact h2 {
        font-size: 3.75rem;
    }

    .btn-form {
        font-size: 1.438rem;
        right: -18%;
    }

    form {
        gap: 3.125rem;
    }

    /****************************** Footer Ordinateur ******************************/

    footer {
        margin: 6.25rem 12.5rem 3.125rem 12.5rem;
        border-radius: 6.25rem;
        padding: 1.875rem 3.125rem;
        gap: 1.25rem;
    }

    footer i {
        font-size: 1.875rem;
    }

    footer p {
        font-size: 1.438rem;
    }

    .footer-reseaux i {
        font-size: 3.125rem;
    }

    /****************************** Formulaire Valide/Non Valide Ordinateur ******************************/

    .body-valide {
        margin-bottom: 3rem;
    }

    .body-valide footer {
        margin: 0 12.5rem 0 12.5rem;
    }
}