/*******************************************************************
                    STYLE DE LA PAGE D'ACCUEIL
********************************************************************/
header{
    align-self: center;
}

main{
    overflow: hidden;
}

.section-accueil  {
    strong {
        font-size: calc(var(--mobile-taille-grosTitresSecondaires) * 1.2);
        font-weight: var(--graisseur-gras);
        
        @media (min-width:768px){
            font-size: calc(var(--tablette-taille-grosTitresSecondaires) * 1.2);
        }
    }

    h4 {
        width: 85%;
    }
}

/* Section hero */
.hero-texte {
    mask-image: var(--degrade-debut-page);
    display: flex;
    color: var(--main-couleur-texte-principale);
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    width: 100%;
    min-height: 590px;
    height: 78vh;
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    @media screen and (min-width: 768px){
		height: 95vh;
	}  

    .hero-bg {
        position: absolute;
        inset: -10%;
        /* dÃƒÂ©passe pour ÃƒÂ©viter trous */
        background-size: cover;
        background-position: center;
        z-index: -1;
        will-change: transform;
        mask-image: linear-gradient(to top, transparent 0%, black 100%);
		
        @media (min-width:768px){
            height: 44rem;
        }

        @media (min-width:1024px){
            height: unset;
        }
    }

    /* Titre */
    .hero-titre {
        .hero-bonjour {
            padding-top: 1.5rem;
            font-size: 2.4rem;
            font-weight: var(--graisseur-normal);
            line-height: 8px;
            margin: 0;

            @media (min-width:768px) {
                line-height: 2px;
                font-size: clamp(2.8rem, -0.8571rem + 7.619vw, 6rem);
            }

            @media (min-width:1024px) {
                line-height: 1px;
                margin: 0;
            }
        }

        .titre-timien {
            margin: 0;
            font-size: 5rem;
            background-size: 100% calc(1.25 * 5rem);

            @media (min-width:768px) {
                font-size: var(--tablette-taille-titres);
                background-size: 100% calc(1.25 * 8rem);
            }

            @media (min-width:1024px) {
                font-size: var(--desktop-taille-titres);
                background-size: 100% calc(1.25 * 13.5rem);
            }
        }
    }

    /* Sous-titre */
    .hero-bienvenue {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--mobile-taille-titresSecondaires);
        font-weight: var(--graisseur-tres-mince);

        @media (min-width:768px) {
            font-size: var(--tablette-taille-petitsTextes);
        }

        @media (min-width:1024px) {
            font-size: var(--desktop-taille-petitsTextes);
        }

        .hero-Centre {
            margin: 0;
        }

        .img-aideTim-hero {
            width: 6rem;
            margin-bottom: 4px;

            @media (min-width:768px) {
                width: 6rem;
            }

            @media (min-width:1024px) {
                width: 7rem;
            }
        }
    }

    .groupe-img-hero{
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 1rem;
        position: relative;

        .texte-de-bulle-hero{
            z-index: 1;
            /* position: absolute; */
            top: 1.4rem;
            left: 2.5rem;
            color: white;
            width: 13rem;
            font-weight: var(--graisseur-normal);
            font-size: 1rem;

            @media (min-width:768px) {
                
                
                top: 1rem;
                left: 1rem;
                width: 18rem;
                
            }

            @media (min-width:1024px) {

                font-size: 1.5rem;
                top: 2.5rem;
                left: 0.5rem;
                width: 32rem;
                font-weight: var(--graisseur-gras);
            }
            
        }

        .bulle-texte-hero{
            user-select: none;
            width: 18rem;
            filter: drop-shadow(4px 9px 0 #AC72E4);
            visibility: hidden;

            @media (min-width:768px) {
                width: 20rem;
            }

            @media (min-width:1024px) {
                width: 33rem;
            }
        }
    }

    /* image tim-ee */
    .timee-hero {
        user-select: none;
        margin-top: 2rem;
        position: relative;
        margin-right: 2rem;
        animation: float 6s ease-in-out infinite;
        
        @media (min-width:768px) {
            margin-top: 1rem;
        }

        @media (min-width:1024px) {
            margin-right: 60rem;
            margin-top: -26rem;
        }

        img {
            width: 15.18756rem;
            height: 18.24013rem;
            filter: drop-shadow(4px 9px 0 #AC72E4);

            @media (min-width:768px) {
                width: 15rem;
                height: 20rem;
            }

            @media (min-width:1024px) {
                width: clamp(13.5rem, -16.5rem + 62.5vw, 23.5rem);
                height: 28.2rem;
                object-fit: contain;
                object-position: 0;
                
            }
        }
    }
}

/* Toutes les sections de accueil (n'incluant pas le hero et la section "toujours perdu")*/
.section-accueil {
    display: flex;
    justify-content: stretch;
    align-items: center;
    flex-direction: column;
    width: 65%;
    margin-bottom: 9rem;
    gap: 1rem;
    align-self: center;

    @media (min-width:768px) {
        width: 80%;
    }

    @media (min-width:1024px) {
        width: 80%;
    }

    /* Boutons dans accueil */
    button {
        font-size: var(--mobile-taille-petitsTextes);

        @media (min-width:768px) {
            font-size: var(--tablette-taille-petitsTextes);
        }

        @media (min-width:1024px) {
            font-size: var(--desktop-taille-petitsTextes);
        }
    }

    /* h2 dans l'accueil */
    h2 {
        text-align: center;
        width: 100%;
        margin-bottom: 0;
    }

    .h2-cetim{
        margin-bottom: 0;
    }

    .timee-cetim{
        width: 50%;
        translate: 5rem -3rem;
        position: relative;
        align-self: flex-end;

        @media (min-width:768px) {
            display: block;
            width: 36%;
        }
     
        @media (min-width:1024px) {
            display: block;
        }

        img {
            margin-top: 5rem;
            position: absolute;
            width: 100%;
            filter: drop-shadow(4px 9px 0 #000000);
            animation: float 6s ease-in-out infinite;
        }
    }

    /* Image TIM-EE dans bottin */
    .timee-bottin {
        width: 47%;
        position: relative;
        transform: scaleX(-1) rotate(10deg) translate(-123%, 3rem);
        
        @media (min-width:768px) {
            display: block;
            transform: scaleX(-1) rotate(10deg) translate(-13rem, 0rem);
            width: 12rem; 
        }
     
        @media (min-width: 1024px) {      
            display: block;
            transform: scaleX(-1) rotate(10deg) translate(-23rem, -1rem);
            width: 28%;
            max-width: 18rem;
        }
    
        img{
            position: absolute;
            width: 100%;
            filter: drop-shadow(4px 9px 0 #AC72E4);
            animation: float 6s ease-in-out infinite;
        }
    }

    /* Image CÃƒâ€°TIM */
    .cetim-image-accueil{
        width: 99vw;
    }
}

/* PrÃ©sentation tim-ee */
.section-presentation{
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 8rem;
    
    @media (min-width: 768px) {
        position: relative;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: center;
        margin: 0;
        margin-bottom: 3rem;
    }
    
    @media (min-width:1024px) {
        margin-bottom: 5rem;
    }

    .images-presentation{
        animation: idleMascotte 3s ease-in-out infinite;
        transform-origin: center bottom; /* plus naturel */
        filter: drop-shadow(-2px 0px 0px var(--couleur-accent-primaire)) drop-shadow(2px 0px 0 var(--couleur-accent-secondaire));

        .bulle-texte-presentation{
            width: 20rem;
            margin-left: 6rem;
            margin-bottom: -3rem;
            transform: rotate(-19deg);
        }

        .timee-presentation{
            user-select: none;
            width: 15.18756rem;
            height: 18.24013rem;
            top: 125%;
            display: block;
            position: absolute;
           
    
            @media (min-width:768px) {
                padding-left: 38vw;
                /* top: 2rem; */
                width: 318px;
                height: auto;
                position: relative;
                z-index: 2; /* la mascotte passe au-dessus */
            }
    
            @media (min-width:1024px) {
                padding-left: 28vw;
                width: 45%;
            }
        }
    }

    .presentation-texte-groupe{
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-top: 40%;
        padding-bottom: 2rem;
        /* gap: 2rem; */
        width: 76vw;
    
        /* Couleur gradient de background */
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(89, 43, 228, 0.499) 100%);
        border-radius: 25px;
        box-shadow: 3px 0px 0px #06eef9, -2px 0px 0px #dd40b4;
        
        @media (min-width:768px) {
            position: absolute; /* le bloc devient un fond */
            left: 50%;
            transform: translateX(-50%);
            width: 85vw;
            height: 100%;
            z-index: 1; /* derriÃ¨re lâ€™image */
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            padding-top: 0;
            padding: 2rem;    
            
        }

        @media (min-width:1024px) {
            width: 55vw;
            height: 30vh;
        }

        .texte-presentation{
            display: flex;
            flex-direction: column;
            gap: 2rem;
            color: var(--main-couleur-texte-principale);
            width: 270px;
        }
        /* Le H2 */
        h2{
            color: rgb(255, 255, 255);
            margin: 0;
            margin-top: 2rem;
            font-size: clamp(1.75rem, 1.5115rem + 1.0178vw, 2rem);
            @media (min-width:768px) {
                margin: 0;
                font-size: clamp(2rem, 1.8218rem + 0.3713vw, 2.75rem);
                width: 500px;
                position: relative;
                margin-left: 5rem;
            }

            @media (min-width:1024px) {
                margin-left: 12rem;
            }
        }
       
        .img-aideTim-presentation {
            width: 6rem;
            margin-bottom: -153px;
            margin-left: -21.8rem;

            @media (min-width:768px) {
                width: 6rem;
            }

            @media (min-width:1024px) {
                width: 9rem;
            }
        }
    }
}

/* Animation de vol TIM-EE */
@keyframes gauche-droite {
	0% {
		transform: translatex(0px) rotate(2deg);
	}
	50% {
		transform: translatex(10px) rotate(-2deg);
	}

	100% {
		transform: translatex(0px) rotate(2deg);
	}
}

/* Images  Centre d'Aide */
.centre-aide-images {
    position: relative;
    width: 100%;
    max-width: 350px;
    margin: 200px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.centre-aide-images img {
    position: absolute;
    pointer-events: none;
}

.centre-aide-fond1-img {
    left: -60px;
    top: -140px;
    width: 60%;
    z-index: 1;
}

.centre-aide-fond2-img {
    right: -100px;
    bottom: -110px;
    width: 60%;
    z-index: 1;
}

.centre-aide-img {
    position: relative;
    z-index: 3;
    width: 95%;
    animation: centreAideAnim 3s ease-in-out infinite;
}

/* Styles pour les ÃƒÂ©crans TABLETTE */
@media (min-width: 768px)  {
    .centre-aide-images {
        max-width: 480px;
        padding: 2.5em 0;
    }

    .centre-aide-fond1-img {
        left: -80px;
        top: -180px;  
        width: 55%;    
    }

    .centre-aide-fond2-img {
        right: -120px;       
        bottom: -140px;
        width: 55%;
    }

    .centre-aide-img {
        width: 85%;
    }
}

/* Styles pour les ÃƒÂ©crans DESKTOP */
@media (min-width: 1024px)  {
    .centre-aide-images {
        max-width: 650px;
        padding: 3em 0;
    }

    .centre-aide-fond1-img {
        left: -120px;
        top: -220px;
        width: 50%;  
    }

    .centre-aide-fond2-img {
        right: -150px;        
        bottom: -170px;
        width: 50%;
    }

    .centre-aide-img {
        width: 80%;
    }
}