@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Ubuntu", sans-serif;
    scroll-behavior: smooth;
}
body {
    width: 100%;
    height: auto;
    overflow-x: hidden;
    --sb-track-color: #ffffff;
    --sb-thumb-color: #560c928f;
    --sb-size: 14px;
    background-color: #f6eff6;
}
body::-webkit-scrollbar {
  width: var(--sb-size)
}
body::-webkit-scrollbar-track {
  background: var(--sb-track-color);
  border-radius: 3px;
}
body::-webkit-scrollbar-thumb {
  background: var(--sb-thumb-color);
  border-radius: 3px;
  
}
@supports not selector(::-webkit-scrollbar) {
  body {
    scrollbar-color: var(--sb-thumb-color)
                     var(--sb-track-color);
  }
}


a {
    color: black;
    text-decoration: none;
}

nav {
    z-index: 999;
}
    nav a:focus {
        outline: none;
    }
.container-principal {
    position: relative;
    height: 300vh;
}
    .container {
        height: 100vh;
    }
    #contact, #discover {
        position: relative;
    }

#bubble {
    position: absolute;
    top: 0;
    left: 0;
    width: 40vh;
    height: 40vh;
    border-radius: 50%;
    background-image: url(img/bubble10.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-attachment: scroll;
    transform: rotate(-90deg);
    opacity: .6;
}
#bubbleLittle {
    position: absolute;
    top: 3vh;
    right: 3vh;
    width: 10vh;
    height: 10vh;
    border-radius: 50%;
    background-image: url(img/bubble5.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-attachment: scroll;
    transform: rotate(90deg);
    opacity: .6;
}
#bubbleLittle::before {
    position: absolute;
    top: 2vh;
    right: -10vh;
    content: '';
    height: 7vw;
    width: 7vw;
    border-radius: 50%;
    border: 3px solid #fd00944f;    
}
#bubbleLittle2 {
    position: absolute;
    height: 5vw;
    width: 5vw;
    border-radius: 50%;
    border: 4px solid #ff004423;
    top: 85vh;
    left: 6.5%;
    opacity: .9;
}
#bubble3 {
   position: absolute;
   top: 100vh;
   left: 30vh;
   width: 100vh;
}
    #bubble3::after {
        position: absolute;
        top: 20vh;
        right: -20vw;
        content: '';
        width: 8vh;
        height: 8vh;
        border-radius: 50%;
        border: 4px solid #6b09e44f;
    }
/* SOCIAL */
#social {
    position: fixed;
    top: 4vh;
    right: 4vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: auto;
    font-size: 3vh;
    border: 1px solid;
    border-radius: .5rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: -1px 1px 8px -1px #00000044;
    padding: 1vh 1.5vh;
}
    #social a {
        padding: 1vh 2vh;
        font-weight: 500;
        transition: transform .25s ease-in-out;
    }
    #social a:hover {
        transform: scale(1.1) rotateY(180deg) translateY(-.5vh);
    }
/* MENU */
#menu {
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    top: 10rem;
    left: 4vw;
    transform: translateY(50%);
    padding: 1.5vh 1vh;
    border: 1px solid;
    border-radius: .5rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: -1px 1px 8px -1px #00000044;
}

    #menu a {
        padding: 2.5vh 1vh;
    }
/* ANIMATION MENU */
    #menu a:first-child {
        animation: menuUp 7s ease-in-out infinite;
        animation-delay: 7s;
    }
    #menu a:last-child {
        animation: menuDown 7s ease-in-out infinite;
        animation-delay: 3.5s;
    }
#menu a:hover {
    animation-play-state: paused;
}

    @keyframes menuUp {
        0% {
            transform: translateY(0);
        }
        5% {
            transform: translateY(-1vh);
        }
        10% {
            transform: translateY(0);
        }
        100% {
            transform: translateY(0);
        }
    }
    @keyframes menuDown {
        0% {
            transform: translateY(0);
        }
        5% {
            transform: translateY(1vh);
        }
        10% {
            transform: translateY(0);
        }
        100% {
            transform: translateY(0);
        }
    }
/* FOOTER */
#footer {
    position: fixed;
    left: 4vw;
    top: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
}
    #footer span {
        font-size: 3vh;
        font-weight: 500;
        border: 1px solid;
        border-radius: .5rem;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        box-shadow: -1px 1px 8px -1px #00000044;
        padding: 1vh 2vh;
    }
.popover {
    display: flex;
    margin-left: 4vh;
    border: 1px solid;
    border-radius: .4rem;
    padding: 1.5vh;
    opacity: 0;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
#footer:hover .popover {
    opacity: 1;
}
.popover a {
    padding: 0 1vh;
    font-size: 2vh;
    text-decoration: underline;
}
/* TOP */
#goTop {
    position: fixed;
    right: 4vw;
    top: 90vh;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* Forme */
#deco {
    pointer-events: none;
    position: absolute;
    top: 20%;
    right: 10vw;
    height: 15vw;
    width: 15vw;
    transform: translateY(-50%);
}
.bubble {
    position: absolute;
}
.bubble-0 {
    position: absolute;
    width: 45vh;
    height: 45vh;
    top: -1vh;
    right: 5vw;
    opacity: .9;
    border-radius: 50%;
    background-image: url(img/bubble5.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: local;
}
.bubble-1 {
    height: 14vw;
    width: 14vw;
    border-radius: 60% 40% 55% 45% / 60% 40% 60% 40%;
    background: #ffc2b399;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    top: 0;
    left: 0;
}
.bubble-2 {
    height: 10vw;
    width: 10vw;
    border-radius: 50%;
    background: #fd00944f;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: .8;
    top: 30%;
    left: 60%;
}
.bubble-3 {
    height: 5vw;
    width: 5vw;
    border-radius: 50%;
    border: 3px solid #ff004423;
    top: 60%;
    left: -10%;
}
.bubble-4 {
    height: 10vw;
    width: 10vw;
    background: #e4092d4f;
    border-radius: 40% 50%;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: .9;
    top: -6vw;
    right: 6vw;
}
.bubble-5 {
    height: 6vw;
    width: 6vw;
    border-radius: 50% 40%;
    background: #f884bc4f;
    top: 12vw;
    right: -3vw;
}
.fairy {
    position: absolute;
    width: auto;
    height: 25vh;
    top: 0;
    right: 5vw;
}


.presentation {
    transform: translateY(25vh) translateX(15vw);
    width: fit-content;
    cursor: default;
}
h1 span{
    text-transform: uppercase;
    font-size: 10vw;
    opacity: 0;
    animation: opac 300ms ease-in-out both;
}
    .w {
        animation-delay: .1s;
    }
    .e {
        animation-delay: .3s;
    }
    .l {
        animation-delay: .6s;
    }
    .c {
        animation-delay: .9s;
    }
    .o {
        animation-delay: 1.2s;
    }
    .m {
        animation-delay: 1.5s;
    }
    .e2 {
        animation-delay: 1.8s;
        
    }
.presentation p {
    text-transform: capitalize;
    font-size: 4vw;
    animation: opac2 1s ease-in-out;
    animation-delay: 1.8s;
    background-image: url(img/bubble10.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: transparent;
    background-clip: text;
    padding: 1vh;
}
@keyframes opac {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    } 
}
@keyframes opac2 {
    0% {
        opacity: 1;
    }
    25% {
        opacity: .4;
    }
    50% {
        opacity: 1;
    }
    75% {
        opacity: .4;
    }
    100% {
        opacity: 1;
    }
}

/* CAROUSEL */
#discover .carousel {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(3, 1fr);
    position: absolute;
    top: 20vh;
    right: 20vw;
    left: 20vw;
    width: 60vw;
    height: 65vh;
    gap: 4vh;
}
    .slides {
        width: 100%;
        display: flex;
        height: fit-content;
        border-radius: .5rem;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        box-shadow: -1px 1px 8px -1px #00000044;
        transition: transform .3s linear;
        cursor: pointer;
    }
        .slides:hover {
            position: relative;
            transform: scale(1.1);
        }
        .slides::after {
            position: absolute;
            content: '';
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: .5rem;
            background-color: #000000b3;
            -webkit-backdrop-filter: grayscale(1);
            backdrop-filter: grayscale(1);
            transition: all .3s linear;
        }
        .slides:hover::after {
            background-color: transparent;
            -webkit-backdrop-filter: grayscale(0);
            backdrop-filter: grayscale(0);
        }
        .slides img {
            border-radius: .5rem;
            object-fit: cover;
            width: 100%;
            opacity: .6;
            transition: all .3s linear;
        }
        .slides img:hover {
            opacity: 1;
        }

    .contact-deco {
        position: absolute;
        opacity: .6;
    }
    .deco1 {
        width: 60vh;
        height: 60vh;
        bottom: 2vh;
        border-radius: 50%;
        border-top: 2px solid radial-gradient(18% 28% at 24% 50%, #DDCEFFB3 7%, #073AFF00 100%),radial-gradient(18% 28% at 18% 71%, #FF7673FF 6%, #073AFF00 100%),radial-gradient(70% 53% at 36% 76%, #FF7673FF 0%, #073AFF00 100%),radial-gradient(42% 53% at 15% 94%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(42% 53% at 34% 72%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(18% 28% at 35% 87%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(31% 43% at 7% 98%, #FFFFFFFF 24%, #073AFF00 100%),radial-gradient(21% 37% at 72% 23%, #FF6DAF9C 24%, #073AFF00 100%),radial-gradient(35% 56% at 91% 74%, #8A4FFFF5 9%, #073AFF00 100%),radial-gradient(74% 86% at 67% 38%, #FF73E8FF 24%, #073AFF00 100%),linear-gradient(125deg, #564FFFF5 1%, #4C00FCFF 100%);
        background-image: radial-gradient(18% 28% at 24% 50%, #DDCEFFB3 7%, #073AFF00 100%),radial-gradient(18% 28% at 18% 71%, #FF7673FF 6%, #073AFF00 100%),radial-gradient(70% 53% at 36% 76%, #FF7673FF 0%, #073AFF00 100%),radial-gradient(42% 53% at 15% 94%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(42% 53% at 34% 72%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(18% 28% at 35% 87%, #FFFFFFFF 7%, #073AFF00 100%),radial-gradient(31% 43% at 7% 98%, #FFFFFFFF 24%, #073AFF00 100%),radial-gradient(21% 37% at 72% 23%, #FF6DAF9C 24%, #073AFF00 100%),radial-gradient(35% 56% at 91% 74%, #8A4FFFF5 9%, #073AFF00 100%),radial-gradient(74% 86% at 67% 38%, #FF73E8FF 24%, #073AFF00 100%),linear-gradient(125deg, #564FFFF5 1%, #4C00FCFF 100%);
    }
    .deco2 {
        width: 20vh;
        height: 20vh;
        top: 6vh;
        right: 2vh;
        border-radius: 50%;
        background: radial-gradient(circle, hsla(339, 100%, 69%, 1) 0%, hsla(204, 74%, 49%, 1) 100%);
    }
#contact .formulaire {
    position: absolute;
    top: 20vh;
    right: 20vw;
    left: 20vw;
    width: 60vw;
    height: 60vh;
    padding: 2vh 2.5vh;
    border: 1px solid;
    border-radius: .5rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: -1px 1px 8px -1px #00000044;
}
form {
    display: grid;
    grid:
        "form-l form-r" 1fr
        / 50% 50%;
    height: 90%;
    width: 100%;
}
.form-l, .form-r {
    padding: 1.5vh 2vh;
    display: flex;
    flex-direction: column;
}
    .form-l { 
        grid-area: form-l;
    }
    .form-r { grid-area: form-r; }

form input, form textarea {
    border: 1px solid #560c928f;
    border-radius: .5rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background-color: transparent;
    width: 100%;
}
form input {
    padding: 1vh 2vh;
    height: 15%;
    margin-bottom: 4vh;
    font-size: 2.5vh;
}
form label {
    margin: 2vh 0;
    font-weight: 500;
    text-transform: uppercase;
    font-size: calc(.5vh + .8vw);
}
form textarea {
    padding: 2vh;
    height: 55%;
    resize: none;
    font-size: 2.5vh;
}
form input:focus, form textarea:focus {
    outline: none;
    border: 1.5px solid;
}
form input:focus::placeholder, form textarea:focus::placeholder {
    color: #000;
}
form input::placeholder, form textarea::placeholder {
    color: #6b0fb67d;
    font-weight: 500;
    font-size: calc(.5vh + .5vw);
    transform: translateY(-50%);
    text-transform: uppercase;
}