/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/********************
    FONTS
********************/
/* @import url("./normalize.css"); */
@font-face {
    font-family: "Playfair Display";
    src: url("../fonts/Playfair_Display/PlayfairDisplay-VariableFont_wght.ttf");
}

@font-face {
    font-family: "Cinzel";
    src: url("../fonts/Cinzel/Cinzel-VariableFont_wght.ttf");
}

:root {
    --bleu-fonce: #000d20;
    --bleu-moyen: #0060a3;
    --bleu-pale: #007cbe;
}

/********************
    STYLES GENERAUX
********************/
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html,
body {
    /* height: 100%;
    width: 100%;
    min-height: 100%; */
    background-color: #0060a3;
}
body {
    font-family: "Playfair Display", "Times New Roman";
    background-color: #0060a3;
    background: -webkit-gradient(linear, left bottom, right top, from(#000d20), color-stop(50%, #0060a3), to(#007cbe));
    background: -webkit-linear-gradient(315deg, #000d20, #0060a3, #007cbe);
    background: linear-gradient(135deg, #000d20, #0060a3, #007cbe);
    line-height: 1;
    text-align: center;
    position: relative;
    z-index: 0;
    background-size: cover;
    background-repeat: no-repeat;
    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url("../images/satin.png");
        background-repeat: repeat;
        pointer-events: none;
        z-index: 0;
        background-blend-mode: multiply;
    }

    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        min-height: 50vh;
        width: 100%;
        background-image: url("../images/group.png");
        background-size: cover;
        background-repeat: no-repeat;
        background-blend-mode: multiply;
        opacity: 0.75;
        pointer-events: none;
        z-index: -5;
    }
}

body > *:not(footer, script) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

h1,
h2,
h3,
.color-golden {
    color: #fdcc72;
    font-weight: normal;
}

h1,
h2,
.uppercase {
    text-transform: uppercase;
}

.font-cinzel {
    font-family: "Cinzel", "Courrier New";
}

p {
    color: #fff;
}

img {
    width: 300px;
}

h1 {
    font-size: 1.5rem;
}

h2 {
    font-size: 1.125rem;
    /* letter-spacing: -1px; */
}

/* h4 {
    font-size: 1rem;
}
    */
h5 {
    font-weight: normal;
}
/********************
    STYLES HEADER
********************/
/* general */
canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -10;
    opacity: 0.5;
    pointer-events: none;
    /* mix-blend-mode: multiply; */
}
header {
    padding-top: 130px;
}

header > * {
    max-width: 60vw;
}

/* img logo fondation
header .logo-container {
    width: 15vw;
} */

/* header .logo-container img {
    width: 100%;
    height: 100%;
} */

/* titre */
header h1 {
    /* font-weight: 600; */
    /* font-size: 5.5rem; */
    font-size: 6.25vw;
    word-spacing: 0.5vw;
    letter-spacing: 0.125vw;

    margin-bottom: 3vh;
    position: relative;
    & > span::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transform: translateY(-90px);
        -ms-transform: translateY(-90px);
        transform: translateY(-90px);
        background-image: url("../images/logo-fondation.svg");
        width: 200px;
        height: 90px;
        background-repeat: no-repeat;
        background-size: contain;
    }
}
header h1::before {
    /* content: url("../images/eclat.png"); */
    content: "";
    position: absolute;
    bottom: 15%;
    left: -2.125em;

    background-image: url("../images/eclat-gauche.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 20%;
    height: 200%;
    /* transform: scale(-.375, .375); */
}
header h1::after {
    /* content: url("../images/eclat.png"); */
    content: "";
    position: absolute;
    bottom: 15%;
    right: -2.125em;

    background-image: url("../images/eclat-droite.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 20%;
    height: 200%;
    /* transform: scale(.375); */
}

header h2 {
    font-size: 4vw;
    text-align: justify;
    /* letter-spacing: 0.08rem; */
    width: 60vw;
}

/* sous-titre */
header .text-container {
    margin-top: 2vh;
    padding: 2vh 0;

    text-align: justify;
    max-width: 80vw;

    position: relative;
    &::before,
    &::after {
        content: "";
        display: block;
        height: 1px;
        width: 100%;
        background: -o-linear-gradient(left, rgba(255, 217, 0, 0.267) 0%, gold 30%, gold 70%, rgba(255, 217, 0, 0.267) 100%);
        background: -webkit-gradient(
            linear,
            left top,
            right top,
            from(rgba(255, 217, 0, 0.267)),
            color-stop(30%, gold),
            color-stop(70%, gold),
            to(rgba(255, 217, 0, 0.267))
        );
        background: linear-gradient(to right, rgba(255, 217, 0, 0.267) 0%, gold 30%, gold 70%, rgba(255, 217, 0, 0.267) 100%);
        position: absolute;
    }
    &::before {
        top: 0;
        left: 0;
    }
    &::after {
        bottom: 0;
        left: 0;
    }
}

header h3 {
    padding: 5px 0;
    color: #fff;

    font-size: 2vw;
    word-spacing: 0.5vw;
    letter-spacing: 0.2vw;
}

header .evenement {
    position: relative;
    padding-top: 4rem;
    font-weight: lighter;
    font-size: 3vw;
    letter-spacing: 0.02vw;
    color: #fdcc72;
    /* border-bottom: 1px solid gold; */
    line-height: 4vw;
}

hgroup.glow {
    text-shadow: 0 0 20px rgba(255, 247, 200, 0.484);
}
/********************
    STYLES MAIN
********************/
main {
    margin-top: 10rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    padding-bottom: 2rem;
}

#bloc-invites {
    position: relative;
    margin: 20px 0;
    min-height: 35vh;
    width: 100%;
    min-height: 70vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* border: 2px solid red; */

    & .invites {
        /* border: 2px solid white; */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        position: relative;
        -ms-flex-preferred-size: 60%;
        flex-basis: 60%;

        & img {
            display: block;
            height: 100%;
            width: 100%;

            -o-object-fit: contain;

            object-fit: contain;
        }

        .presidente {
            position: absolute;
            width: clamp(150px, 75%, 500px);
            height: clamp(150px, 75%, 500px);
            bottom: 100%;
            right: 0;
            -webkit-transform: translate(-70%, 70%);
            -ms-transform: translate(-70%, 70%);
            transform: translate(-70%, 70%);
        }

        .jean {
            position: absolute;
            /* Remettre lorsque l'autre personne sera confirmee */
            width: clamp(150px, 75%, 500px);
            height: clamp(150px, 75%, 500px);
            /* width: clamp(150px, 100%, 800px);
            height: clamp(150px, 120%, 800px); */
            bottom: 100%;
            right: 0;
            -webkit-transform: translate(-120%, 100%);
            -ms-transform: translate(-120%, 100%);
            transform: translate(-120%, 100%);
            /* -webkit-transform: translate(0, 60%);
            -ms-transform: translate(0, 60%);
            transform: translate(0, 60%); */
        }

        & .infos {
            position: absolute;
            bottom: 0;
            right: 0;
            text-align: left;
            font-family: "Cinzel", "Courrier New";
            color: #fdcc72;
            -webkit-transform: translate(65%, 0);
            -ms-transform: translate(65%, 0);
            transform: translate(65%, 0);
            width: 50vw;
            z-index: 100;
            & p {
                padding-block: 0.25rem;
            }
            & .nom {
                font-size: 3rem;
                color: #fdcc72;
                text-shadow: 1px 1px 2px #001b67c3;
            }
            & .titre {
                font-size: 1.25rem;
                text-transform: initial;
                color: #fdcc72;
                padding-bottom: 3rem;
            }
            & .small {
                font-size: 1.75rem;
                color: #fdcc72;
                padding-bottom: 0.75rem;
            }
        }
    }

    & .coupe {
        /* border: 2px solid goldenrod; */
        -ms-flex-preferred-size: 40%;
        flex-basis: 40%;

        position: relative;

        & img {
            position: absolute;
            max-width: 100%;
            /* max-height: 100%; */
            right: 0;
            bottom: 0;
            /* border: 3px solid red; */
            -webkit-transform: scale(200%);
            -ms-transform: scale(200%);
            transform: scale(200%);
            -webkit-transform-origin: bottom right;
            -ms-transform-origin: bottom right;
            transform-origin: bottom right;
            -o-object-fit: contain;
            object-fit: contain;
        }
    }
}

main p:last-of-type {
    margin-bottom: 15px;
}

main h2 {
    font-size: 1rem;
}

a {
    text-decoration: none;
    margin-top: 1.5rem;
    background-color: #001b67;
    border: 1px solid gold;
    padding: 40px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transition-property: color, background-color, border-color;
    -o-transition-property: color, background-color, border-color;
    transition-property: color, background-color, border-color;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    font-size: 2.5rem;
    text-transform: uppercase;
}
a:hover {
    color: black;
    border-color: black;
    background-color: gold;
}
.groupe-liens {
    display: flex;
    gap: 2rem;
}

/********************
    STYLES FOOTER
********************/
/* general */
footer {
}

/* partenaires */
#partenaires {
    background-color: black;
    min-height: 150px;
}

#partenaires p {
    padding-top: 2vh;
    font-size: 2vw;
}

#partenaires img {
    -webkit-filter: invert(1);
    filter: invert(1);

    /* clip-path: rect(50% 0 100% 100%); */
    -webkit-clip-path: inset(30% 0 16%);
    clip-path: inset(30% 0 16%);
    width: 80%;

    margin-top: -5vh;
}

footer {
    padding-left: 15vw;
}
/* text-container h1 et p */
footer .text-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1vh;

    padding-top: 10vh;

    position: relative;

    & .ruban-principal {
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: -5;
        overflow: hidden;

        & img {
            -o-object-fit: contain;
            object-fit: contain;
            min-height: 116vh;
            height: 86%;
            width: 72%;
            position: absolute;
            right: 0;
            top: 0;
        }
    }
    padding-bottom: 10vh;
}

footer .text-container h1 {
    border-bottom: 1px solid gold;
    padding-bottom: 1vh;

    font-size: 3vw;
}

footer .text-container > p {
    text-align: justify;
    line-height: 1.75;

    width: 50%;

    font-size: 1.5vw;
    padding-bottom: 15px;
}

footer .bouton {
    font-size: 1.25rem;
}
/* text-container div#info */
#info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2vw;

    border-width: 1px 0;
    border-style: solid;
    border-color: gold;
    padding: 1vh 0;
    margin-top: 1vh;

    text-align: left;
    line-height: 1.5;
    font-size: 1.5vw;
}

#info #date {
    font-size: 2vw;
}
#info div:first-of-type {
    width: 1px;
    background-color: gold;
}

#coordonnees p:last-child {
    font-size: 1.25vw;
}

@media screen and (max-width: 1600px) {
    #bloc-invites {
        & .invites {
            & .presidente {
                -webkit-transform: translate(-60%, 70%);
                -ms-transform: translate(-60%, 70%);
                transform: translate(-60%, 70%);
            }

            & .jean {
                -webkit-transform: translate(-100%, 100%);
                -ms-transform: translate(-100%, 100%);
                transform: translate(-100%, 100%);
            }

            & .infos {
                -webkit-transform: translate(56%, 0);
                -ms-transform: translate(56%, 0);
                transform: translate(56%, 0);
            }
        }
    }
}
@media screen and (max-width: 1350px) {
    #bloc-invites {
        & .invites {
            flex-basis: 70%;

            & .presidente {
                -webkit-transform: translate(-60%, 70%);
                -ms-transform: translate(-60%, 70%);
                transform: translate(-60%, 70%);
            }

            & .jean {
                -webkit-transform: translate(-100%, 100%);
                -ms-transform: translate(-100%, 100%);
                transform: translate(-100%, 100%);
            }

            & .infos {
                -webkit-transform: translate(50%, 0);
                -ms-transform: translate(50%, 0);
                transform: translate(50%, 0);
            }
        }
        & .coupe {
            flex-basis: 30%;
            & img {
                transform: scale(190%) translateX(40%);
            }
        }
    }
}
@media screen and (max-width: 1200px) {
    header .evenement {
        font-size: 2.5rem;
        padding-top: 2rem;
        line-height: initial;
        max-width: 90%;
    }
    main {
        margin-top: 0;
    }

    #bloc-invites {
        & .invites {
            & .presidente {
                width: clamp(150px, 75%, 450px);
                height: clamp(150px, 75%, 450px);
                -webkit-transform: translate(-65%, 90%);
                -ms-transform: translate(-65%, 90%);
                transform: translate(-65%, 90%);
            }

            & .jean {
                width: clamp(150px, 75%, 450px);
                height: clamp(150px, 75%, 450px);

                -webkit-transform: translate(-80%, 140%);
                -ms-transform: translate(-80%, 140%);
                transform: translate(-80%, 140%);
            }

            & .infos {
                & p {
                    padding-block: 0.25rem;
                }
                & .nom {
                    font-size: 3rem;
                }
                & .titre {
                    font-size: 1.25rem;
                    padding-bottom: 3rem;
                }
                & .small {
                    font-size: 1.75rem;
                    padding-bottom: 0.75rem;
                }
            }
        }
    }

    #bloc-invites .coupe img {
        -webkit-transform: scale(150%) translateX(40%);
        -ms-transform: scale(150%) translateX(40%);
        transform: scale(150%) translateX(40%);
    }

    footer .text-container {
        padding-top: 5vh;
    }
    footer .text-container > p {
        width: 70%;
    }
}

@media screen and (max-width: 1000px) {
    header .evenement {
        font-size: 4rem;
        padding-top: 2rem;
        line-height: initial;
        max-width: 90%;
    }

    #bloc-invites .invites {
        -ms-flex-preferred-size: 70%;
        flex-basis: 70%;
    }
    #bloc-invites .coupe {
        -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
    }
    #bloc-invites .coupe img {
        -webkit-transform: scale(150%) translateX(40%);
        -ms-transform: scale(150%) translateX(40%);
        transform: scale(150%) translateX(40%);
    }

    #bloc-invites .invites h3 {
        font-size: 2.5rem;
    }
    #bloc-invites .invites .infos {
        -webkit-transform: translate(40%, -35%);
        -ms-transform: translate(40%, -35%);
        transform: translate(40%, -35%);
        & .nom {
            font-size: 2.5rem;
        }
        & .titre {
            font-size: 1rem;
            padding-bottom: 3rem;
        }
        & .small {
            font-size: 1.5rem;
            padding-bottom: 0.75rem;
        }
    }
}

@media screen and (max-width: 800px) {
    header h1 {
        margin-bottom: 0.75rem;
        font-size: 12vw;

        &::before,
        &::after {
            bottom: 0;
            height: 100%;
        }
        &::before {
            left: 0;
            -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
            transform: translateX(-100%);
        }
        &::after {
            left: 100%;
            /* transform: translateX(-100%); */
        }
        & > span::before {
            width: 150px;
            -webkit-transform: translateY(-70px);
            -ms-transform: translateY(-70px);
            transform: translateY(-70px);
        }
    }
    header h2 {
        font-size: 6vw;
        text-align: center;
    }
    header h3 {
        font-size: 4vw;
        text-align: center;
    }
    header .evenement {
        font-size: 5vw;
        padding-top: 2rem;
        line-height: initial;
        max-width: 90%;
    }

    #bloc-invites .invites {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    #bloc-invites .coupe {
        display: none;
    }

    #bloc-invites .invites h3 {
        font-size: 2.5rem;
        left: 0;
        right: 0;
        text-align: center;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    #bloc-invites .invites .presidente {
        left: 0;
        right: initial;
        width: clamp(150px, 75%, 350px);
        height: clamp(150px, 75%, 350px);
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
    }
    #bloc-invites .invites .jean {
        left: 0;
        right: initial;
        width: clamp(150px, 75%, 350px);
        height: clamp(150px, 75%, 350px);
        -webkit-transform: translate(0, 160%);
        -ms-transform: translate(0, 160%);
        transform: translate(0, 160%);
    }
    #bloc-invites .invites .infos {
        transform: translate(-10%, 0);
    }
    footer {
        padding-left: 0;
    }
    footer #partenaires p {
        font-size: 5vw;
    }
    footer .text-container {
        padding: 2.5rem;
    }
    footer .text-container > * {
        margin: 0 !important;
        width: 100% !important;
        font-size: 2.25vw !important;
    }
    footer .text-container > h1 {
        text-align: left;
        font-size: 6vw !important;
    }
    footer .text-container #info #date {
        white-space: nowrap;
        font-size: 4vw;
    }
    footer .text-container #coordonnees p:last-child {
        font-size: 2.25vw;
    }
}

@media screen and (max-width: 750px) {
    #bloc-invites .invites .presidente {
        left: 0;
        right: initial;
        width: clamp(150px, 75%, 300px);
        height: clamp(150px, 75%, 300px);
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
    }
    #bloc-invites .invites .jean {
        left: initial;
        right: 0;
        width: clamp(150px, 75%, 350px);
        height: clamp(150px, 75%, 350px);
        -webkit-transform: translate(0, 80%);
        -ms-transform: translate(0, 80%);
        transform: translate(0, 80%);
    }
    #bloc-invites .invites .infos {
        width: 100%;
        padding: 50px;
        top: initial;
        bottom: 0;
        transform: translate(0, 20%);
    }
}

@media screen and (max-width: 500px) {
    #bloc-invites .invites .presidente {
        width: clamp(150px, 75%, 250px);
        height: clamp(150px, 75%, 250px);
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
    }
    #bloc-invites .invites .jean {
        left: initial;
        right: 0;
        width: clamp(150px, 75%, 300px);
        height: clamp(150px, 75%, 300px);
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
    }
    #bloc-invites .invites .infos {
        transform: translate(0, 0);
        & .small {
            font-size: 1rem;
        }

        & .nom {
            font-size: 2rem;
        }
        & .titre {
            padding-bottom: 0;
        }
    }
    a {
        margin-top: 0;
        padding: 20px;
        font-size: 1.5rem;
    }
    footer .text-container > * {
        margin: 0 !important;
        width: 100% !important;
        font-size: 1rem !important;
    }
}

@media screen and (max-width: 450px) {
    #bloc-invites {
        min-height: max(70vh, 600px);
    }
    #bloc-invites .invites .presidente {
        width: clamp(150px, 75%, 200px);
        height: clamp(150px, 75%, 200px);
    }
    #bloc-invites .invites .jean {
        width: clamp(150px, 75%, 250px);
        height: clamp(150px, 75%, 250px);
        -webkit-transform: translate(0, 80%);
        -ms-transform: translate(0, 80%);
        transform: translate(0, 80%);
    }
    #bloc-invites .invites .infos {
        padding: 40px;

        & .titre {
            font-size: 0.75rem;
            padding-bottom: 0.5rem;
            & br {
                display: none;
            }
        }
    }
}
