@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

.ouvre_popup {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 70px;
    padding: 35px;
    cursor: pointer;
    border: 6px solid white;
    z-index: 2;
    width: 45px;
    height: 45px;
    margin-left: 57%;
    margin-top: 18%;
    animation: glow 1250ms infinite alternate;
    transform: translate(-50%, -50%);
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: Inter, 'sans-serif';
    font-size: 100%;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

img {
    object-fit: contain;
}

.titre {
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 40px;
    padding: 20px;
    font-size: 20px;
    position: absolute;
    text-align: center;
    top: 25px;
    width:  60vh;
    left: 50%;
    transform: translateX(-50%);
    font-family: Poppins, 'sans-serif';
}

body {
    line-height: 1;
    padding: 0;
    width: 100vw;
    margin: 0;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.popup {
    max-height: 85vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: none;
    align-items: center;
    width: 1182vw;
    height: 546vh;
    background-color: white;
    justify-content: space-evenly;
    border-radius: 8px;
    z-index: 30;
}

.popup p {
    margin-bottom: 15px;
}

.popup h2 {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 20px;
}

.texte {
    display: none;
}

.close {
    position: absolute;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 50;
    width: 30px;
    height: 30px;
    display: flex;
    top: 1%;
    right: 1%;
}

.close img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}


.description {
    max-height: 85vh;
    display: block;
    margin-top: 20px;
    padding-left: 50px;
    padding-right: 50px;
    overflow-y: scroll;
}

.popup-img {
    max-height: 85vh;
    width: 344px;
    margin: 15px;
    border-radius: 5px;
}


@keyframes glow {
    from {
        box-shadow: 0 0 40px -10px rgba(255, 255, 255, 0.3);
    }
    to {
        box-shadow: 0 0 20px 40px rgba(255, 255, 255, 0.6);
    }
}


.popup.on {
    display: flex;
    box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.4);
}

.ouvre_popup {
    margin-left: 0%;
    margin-top: 0%;
}

#ouvre_popup2 {
    margin-left: 0%;
    margin-top: 0%;
}

#ouvre_popup3 {
    margin-left: 0%;
    margin-top: 0%;
}

#ouvre_popup4 {
    margin-left: 0%;
    margin-top: 0%;
}

#ouvre_popup5 {
    margin-left: 0%;
    margin-top: 0%;
}

.scroll-container {
    width: 100%;
    height: 80vh;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    background: #f4f4f4;
    position: relative;
}

.image-wrapper {
    position: relative;
    height: 100%;
    width: max-content;
    display: block;
}

.image {
    position: relative;
    display: inline-block;
}

.image-wrapper img:first-child {
    height: 100%;
    width: auto;
    display: block;
    user-select: none;
    object-fit: contain;
    object-position: center center;
}

.launch {
    display: none;
}

.logo1 {
    position: fixed;
    left: 5px;
    bottom: 0px;
    z-index: 99;
    min-width: 25px;
    min-height: 25px;
    height: 11%;
    width: 55px;
}

.logo2 {
    background-color: rgba(255, 255, 255, 0.9);
    position: fixed;
    left: 70px;
    bottom: 3%;
    z-index: 99;
    min-width: 25px;
    max-width: 60px;
    min-height: 25px;
}

.logo3 {
    position: relative;
    padding-top: 10px;
    left: 20px;
    z-index: 99;
    min-width: 25px;
    min-height: 25px;
    height: 11%;
    width: 140px;
}

.logo4 {
    position: relative;
    padding-top: 10px;
    left: 100px;
    z-index: 99;
    min-width: 25px;
    min-height: 25px;
    height: 11%;
    width: 100px;
}

.cr {
    position: absolute;
    bottom: 10px;
    left: 20px;
    color: white;
    font-size: 12px;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 5px;
    border-radius: 5px;
}

.svg-lien {
    min-width: 25px;
    min-height: 25px;
    width: 40px;
    position: fixed;
    right: 2%;
    bottom: 2%;
    background-color: white;
    border-radius: 50%;
}

.svg-lien2 {
    min-width: 25px;
    min-height: 25px;
    width: 40px;
    position: fixed;
    right: 4%;
    bottom: 2%;
}

.svg-lienI {
    min-width: 25px;
    min-height: 25px;
    width: 40px;
    position: fixed;
    right: 9%;
    bottom: 2%;
}

.svg-lien2I {
    min-width: 25px;
    min-height: 25px;
    width: 40px;
    position: fixed;
    right: 4%;
    bottom: 2%;
}

.svg-lien3 {
    width: 20px;
    height: 20px;
    /* Si tu veux changer la couleur du SVG via CSS (si c'est un tracé noir de base) */
    filter: brightness(0) saturate(100%) invert(30%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(95%) contrast(90%);
    align-items: center;
}

.ouvre_popup2 {
    position: absolute;
    top: 90%;
    left: 93%;
    transform: translate(-50%, -50%);

    width: 45px;
    height: 45px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

.ouvre_popup2:hover {
    background-color: rgba(255, 255, 255, 1);
    transform: translate(-50%, -55%);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.description2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    padding: 0 30px;
    text-align: center;
}

.logo5 {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.logo6 {
    position: relative;
    padding-top: 10px;
    left: 100px;
    z-index: 99;
    min-width: 25px;
    min-height: 25px;
    height: 80%;
    padding-right: 200px;
    width: 100px;
}

.container-logo {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 40px;
}

.texte-top {
    font-weight: bold;
    margin-bottom: 70px;
}

.link {
    background-color: black;
    width: 4%;
    border-radius: 8%;
    margin-right: 5px;
}

.lien {
    text-decoration: underline;
    color: black;
}

@media (min-width: 768px) {

    html, body {
        width: 100%;
        overflow-x: hidden;
        margin: 0;
        padding: 0;
    }

    .description {
        max-height: 85vh;
        display: block;
        margin-top: 20px;
        padding-left: 50px;
        padding-right: 50px;
        overflow-y: scroll;
    }

    .popup {
        max-height: 85vh;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: none;
        align-items: center;
        width: 90%;
        max-width: 1100px;
        height: auto;
        padding: 20px;
        background-color: white;
        justify-content: space-evenly;
        border-radius: 8px;
        z-index: 300;
        overflow-y: auto;
        box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    }

    .scroll-container {
        height: 100vh;
        overflow-x: hidden;
    }

    .image-wrapper {
        width: 100%;
        height: 100%;
    }

    .image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    .texte-top {
        font-weight: bold;
        margin-bottom: 40px;
    }

    .logo6 {
        position: relative;
        padding-top: 10px;
        left: 0;
        z-index: 99;
        width: 60px;
        height: auto;
        padding-right: 0;
    }

    .description a:first-of-type {
        display: block;
        text-decoration: underline;
    }

    .logo4 {
        display: block;
        left: 0;
        width: 120px;
        height: auto;
    }

    .svg-lien {
        min-width: 25px;
        min-height: 25px;
        width: 40px;
        position: fixed;
        right: 9%;
        bottom: 2%;
    }

    .svg-lien2 {
        min-width: 25px;
        min-height: 25px;
        width: 40px;
        position: fixed;
        right: 2%;
        bottom: 2%;
    }

    /* Nettoyage du logo4 */
    .logo4 {
        position: relative;
        padding-top: 10px;
        left: 0;
        z-index: 99;
        width: 100px;
        height: auto;
    }

    .svg-lienI {
        min-width: 25px;
        min-height: 25px;
        width: 40px;
        position: fixed;
        right: 9%;
        bottom: 2%;
    }

    .svg-lien2I {
        min-width: 25px;
        min-height: 25px;
        width: 40px;
        position: fixed;
        right: 2%;
        bottom: 2%;
    }

    .logo6 {
        position: relative;
        padding-top: 20px;
        padding-bottom: 20px;
        left: 0;
        z-index: 99;
        width: 80px;
        height: auto;
        padding-right: 0;
    }

    .logo1 {
        position: fixed;
        left: 5px;
        bottom: 5px;
        z-index: 99;
        min-width: 25px;
        min-height: 25px;
        height: 11%;
        width: 55px;
    }

    .cr {
        position: absolute;
        bottom: 10px;
        left: 110px;
        color: white;
        font-size: 12px;
        background-color: rgba(0, 0, 0, 0.4);
        padding: 5px;
        border-radius: 5px;
    }

}