* {
    padding: 0;
    margin: 0;
    font-family: "sans-serif", Arial;
    box-sizing: border-box;
}

html 
{
    width: 100%;
    height: 100%;
}

body 
{
    min-height: 100vh;
    margin: 0;
    background: linear-gradient(to bottom right, grey, rgba(0, 0, 0, 0.922)) center/cover no-repeat;
    background-attachment: fixed;
}

.darkgold
{
    background: linear-gradient(120deg, #3d2b00 0%, #6f5200 20%, #9c7400 40%, #c49a00 50%, #9c7400 60%, #6f5200 80%, #3d2b00 100%);

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gold 
{
    background: linear-gradient(115deg, #6f5000 0%, #9b720c 10%, #d0a735 22%, #e8c45f 32%, #fff2a8 40%, #d5aa32 48%, #8a6205 56%, #e3bc4c 68%, #ffe58a 76%, #a77c12 86%, #6f5000 100%);

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.35));
}

.navbar
{
    position: sticky;
    z-index: 999;
    top: 0;
    display: flex;
    align-items: center;
    padding: 30px 5%;
    background: white;
}

.navbar .titre-principal 
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.navbar .titre-principal h1 
{
    font-size: 22px;
    font-weight: bold;
}

.navbar .titre-principal p 
{
    color: black;
    font-size: 19px;
}

.navbar .menu
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    margin-left: 150px;
    list-style: none;
}

.navbar .menu li
{
    list-style: none;
}

.navbar .menu li a 
{
    color: rgba(0, 0, 0, 0.76);
    text-decoration: none;
    font-size: 18px;
}

.navbar .menu #trait
{
    color: rgba(0, 0, 0, 0.4);
}

.main 
{
    min-height: 100vh;
    width: 100%;
}

.main .titre-secondaire
{
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.main .titre-secondaire #rond
{
    background: white;
    border-radius: 20px;
    width: 250px;
    padding: 5px 10px;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
    color: rgb(124, 144, 169);
    font-size: 13Px;
}

.main .titre-secondaire h1
{
    font-size: 60px;
    font-weight: bold;
    width: 700px;
    transform: translateX(20px);
}

.main .titre-secondaire h1 span
{
    width: 1000px;
}

.main .titre-secondaire p
{
    margin-top: 30px;
    width: 500px;
    font-size: 17px;
    text-align: center;
    color: black;
}

.main .agence, .main .block
{
    display: grid;
    grid-template-columns: repeat(3, 339px);
    justify-content: center;
    gap: 70px;
    transform: translateY(-50px);
}

.main .agence .carte, .main .block .carte2
{
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0, 0, 0, 0.347);
    border-radius: 20px;
}

.main .agence .carte
{
    width: 339px;
    height: 437px;
    background: white;
}

.main .agence .carte:hover
{
    cursor: pointer;
}

.main .agence .carte .img
{
    border-radius: 20px 20px 0 0;
    height: 220px;
    position: relative;
}

.main .agence .carte:hover .img
{
    transform: scale(1.05);
    border-radius: 20px;
}

.main .agence .carte .img p
{
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: white;
    font-size: 32px;
}

.main .agence .carte .texte-carte
{
    padding: 0 5%;
    margin-top: 20px;
}

.main .agence .carte .texte-carte .titre-carte h2
{
    font-size: 30px;
    font-weight: bold;
}

.main .agence .carte .texte-carte .premier-texte-carte p
{
    margin-top: 15px;
    color: rgb(29, 33, 38);
    font-size: 19px;
    font-weight: 500;

}

.main .agence .carte .texte-carte .premier-texte-carte .un
{
    color: black;
    font-size: 22px;
    font-weight: bold;
}

.main .agence .carte .texte-carte .premier-texte-carte .deux
{
    color: black;
}


.main .troisième-titre
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 300px;
}

.main .troisième-titre p
{
    font-size: 22px;
    letter-spacing: 2px;
}

.main .troisième-titre h2
{
    margin-top: 20px;
    font-size: 30px;
    font-weight: bold;
}

.main .block
{
    margin-bottom: 100px;
}

.main .block .carte2
{
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.11);
    width: 325px;
    height: 230px;
    justify-content: center;
    padding: 40px;
}

.main .block .carte2 img
{
    width: 60px;
    height: 60px;
    padding: 5px;
    margin-bottom: 20px;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 10px;
    
}

.main .block .carte2 h2
{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.main .block .carte2 p
{
    font-size: 13px;
    color: rgba(91, 104, 110, 0.61);
}

.main .bar
{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.main .bar .quatrième-titre
{
    padding-bottom: 20px;
}

.main .bar .quatrième-titre h2
{
    letter-spacing:2px;
    color: #FFD700;
    font-size: 22px;
    margin-bottom: 20px;
}

.main .bar .quatrième-titre p
{
    font-size: 30px;
    font-weight: bold;
}

.main .cahier 
{
    display: grid;
    grid-template-columns: repeat(4, 400px);
    justify-content: center;
    gap: 20px;
}

.main .cahier .cahier-charge
{
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    gap: 10px;
    padding: 10px;
    background: white;
}

.main .cahier .cahier-charge .numero
{
    background: rgba(0, 0, 0, 0.07);
    border-radius: 5px;
    color: rgba(69, 114, 150, 0.56);
    width: 40px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(-20px);
    font-size: 15px;
    font-weight: bold;
    transition: 0.3s ease;
}

.main .cahier .cahier-charge:hover .numero
{
    background: #f5e6e8;
    color: rgb(255, 98, 0);    
}

.main .cahier .cahier-charge .texte-cahier
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px; 
}

.main .cahier .cahier-charge .texte-cahier .description
{
    font-size: 13px;
    font-weight: bold;
}

.main .cahier .cahier-charge .texte-cahier .date
{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    transform: translateX(-70px);
}

.main .cahier .cahier-charge .texte-cahier .date .type
{
    font-size: 10px;
    background: rgba(0, 0, 0, 0.07);
    border-radius: 5px;
    color: rgba(69, 114, 150, 0.56);
    padding: 5px;
}

.main .cahier .cahier-charge .texte-cahier .date .date-cahier
{
    font-size: 12px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.15);
}

.main .cinquieme-titre
{
    color: rgba(69, 114, 150, 0.56);
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-top: 40px;
    margin-bottom: 100px;
}

.main .lignes
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgb(25, 55, 85);
    border-radius: 20px;
    width: 800px;
    height: 270px;
    margin: 0 auto;
    margin-bottom: 100px;
}

.main .lignes .ligne-flex
{
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 40px;
}

.main .lignes .ligne-flex p
{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-right: 20px;
}

.main .lignes .ligne-flex .ligne1
{
    color: white;
    font-size: 40px;
    font-weight: bold;
}

.main .lignes .ligne-flex .ligne2
{
    color: rgba(255, 255, 255, 0.674);
    font-size: 15px;
}

.main .lignes .ligne-flex .ligne3
{
    color: grey;
    font-size: 12px;
}

.trait
{
    width: 100%;
    height: 1px;
    background-color: grey;
    margin: 20px 0;
}

.main .lignes .ligne-texte
{
    display: flex;
    justify-content: space-between;
    gap: 110px;
}

.main .lignes .ligne-texte .ligne-sous-texte1, .main .lignes .ligne-texte .ligne-sous-texte2
{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.main .lignes .ligne-texte .ligne-sous-texte1 p
{
    color: grey;
    font-size: 13px;
}

.main .lignes .ligne-texte .ligne-sous-texte2 p
{
    color: rgba(128, 128, 128, 0.425);
    font-size: 13px;
}

.main .box
{
    background: rgb(91, 164, 219);
    margin: 0 auto;
    margin-top: 40px;
    width: 800px;
    height: 350px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    padding: 40px;
}

.main .box .paragraphe-box1
{
    margin-bottom: 30px;
    border: 1px solid grey;
    border-radius: 10px;
    padding: 2px 5px;
    font-size: 14px;
}

.main .box h2
{
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.main .box .paragraphe-box2
{
    font-size: 15px;
    text-align: center;
    color: rgb(69, 114, 150);
    margin-bottom: 30px;
}

.footer
{
    margin-top: 100px;
    background: black;
    padding: 30px;
}

.footer .texte-final
{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 150px;
}

.footer .texte-final .texte-finals
{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.footer .texte-final .h2
{
    color: white;
    font-size: 17px;
    margin-bottom: 20px;
}

.footer .texte-final .texte-finals p
{
    font-size: 17px;
    color: rgba(69, 114, 150, 0.56);
}

.footer .texte-final .texte-finals .span-h2
{
    color: white;
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.footer .texte-final .texte-finals .span-p
{
    font-size: 17px;
    color: rgba(69, 114, 150, 0.56);
    margin-bottom: 10px;
}

.footer .texte-final .a
{
    color: rgba(69, 114, 150, 0.56);
    text-decoration: none;
    transition: 0.3s ease;
    margin-bottom: 10px;
    font-size: 18px;
}

.footer .texte-final .a:hover
{
    color: white;
}

.footer .paragraphe-final
{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    color: rgba(69, 114, 150, 0.56);
    height: 100px;
}


@media (max-width: 1200px) 
{
    .navbar 
    {
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
        padding: 20px 5%;
    }

    .navbar li a 
    {
        margin: 0 20px;
        transform: none;
    }

    .main .titre-secondaire h1 
    {
        width: 90%;
        text-align: center;
        transform: none;
        font-size: 52px;
    }

    .main .titre-secondaire p 
    {
        width: 80%;
    }

    .main .agence, .main .block 
    {
        width: 95%;
        margin: 0 auto 80px;
        transform: none;
        grid-template-columns: repeat(3, minmax(250px, 1fr));
        justify-items: center;
        gap: 30px;
    }

    .main .agence .carte, .main .block .carte2 
    {
        width: 100%;
        max-width: 330px;
    }

    .main .bar 
    {
        width: 90%;
        margin: auto;
    }

    .main .bar .quatrième-titre
    {
        transform: none;
    }

    .main .cahier 
    {
        width: 90%;
        margin: auto;
        padding-left: 0;
        grid-template-columns: repeat(2, minmax(280px, 1fr));
    }

    .main .lignes, .main .box 
    {
        width: 90%;
    }

    .footer .texte-final 
    {
        flex-wrap: wrap;
        justify-content: center;
        gap: 35px;
    }
}

@media (max-width: 900px) 
{
    .navbar 
    {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 15px;
    }

    .navbar .menu 
    {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
        padding: 0;
        margin-left: 0;
    }

    .navbar li a 
    {
        margin: 0;
    }

    .navbar #trait 
    {
        display: none;
    }

    .main .titre-secondaire 
    {
        height: auto;
        padding: 70px 20px;
    }

    .main .titre-secondaire h1 
    {
        font-size: 44px;
    }

    .main .titre-secondaire p 
    {
        width: 90%;
    }

    .main .agence, .main .block 
    {
        width: 92%;
        grid-template-columns: repeat(2, minmax(260px, 1fr));
        justify-items: center;
        gap: 25px;
    }

    .main .bar
    {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }

    .main .cahier 
    {
        grid-template-columns: 1fr;
    }

    .main .lignes 
    {
        padding: 30px 20px;
        height: auto;
    }

    .main .lignes .ligne-flex 
    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        width: 100%;
        padding: 20px 0;
    }

    .main .lignes .ligne-texte 
    {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        text-align: center;
    }

    .footer .texte-final 
    {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 600px) 
{
    .navbar 
    {
        padding: 15px;
    }

    .navbar .menu 
    {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .main .titre-secondaire 
    {
        padding: 60px 20px;
    }

    .main .titre-secondaire #rond 
    {
        width: auto;
        text-align: center;
    }

    .main .titre-secondaire h1 
    {
        width: 100%;
        font-size: 34px;
        line-height: 1.2;
    }

    .main .titre-secondaire p 
    {
        width: 100%;
        font-size: 15px;
    }

    .main .agence, .main .block 
    {
        width: 95%;
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .main .agence .carte, .main .block .carte2 
    {
        max-width: 360px;
    }

    .main .troisième-titre 
    {
        height: auto;
        padding: 50px 20px;
        text-align: center;
    }

    .main .troisième-titre h2 
    {
        font-size: 28px;
    }

    .main .bar .quatrième-titre p 
    {
        font-size: 24px;
    }

    .main .cahier 
    {
        width: 95%;
    }

    .main .cahier .cahier-charge 
    {
        height: auto;
        padding: 20px;
    }

    .main .cahier .date 
    {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px;
        transform: none !important;
    }

    .main .lignes 
    {
        width: 95%;
    }

    .main .lignes .ligne-flex 
    {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .main .lignes .ligne1 
    {
        font-size: 34px;
    }

    .main .box 
    {
        width: 95%;
        height: auto;
        padding: 35px 20px;
        text-align: center;
    }

    .main .box h2 
    {
        font-size: 28px;
    }

    .footer 
    {
        padding: 35px 20px;
    }

    .footer .texte-final 
    {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer .texte-finals 
    {
        align-items: center;
    }

    .footer .paragraphe-final 
    {
        text-align: center;
        height: auto;
    }
}