:root {
    --margin: 12vw;
    --space: 100px;
    --noir: #1D1D1B;
    --bleu: #298D95;
}


::selection {
    background-color: var(--bleu);
    color: white;
}

/* Firefox */
::-moz-selection {
    background-color: var(--bleu);
    color: white;
}

/* width */
::-webkit-scrollbar {
    width: 6px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--bleu);
    border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--bleu);
    width: 2px;
}

html.lenis, html.lenis body {
    height: auto;
}

html {
    overflow-x: hidden !important;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

body {
    background: white;
    /*overflow: hidden;*/
}

#container {
    background: white;
}

* {
    font-family: "IBM Plex Sans", serif;
    font-weight: 400;
    color: var(--noir);
    transition: 0s;
}

h1 {
    font-size: 42px;
    font-weight: 700;
    line-height: normal;
    /*letter-spacing: 1.56px;*/
    text-transform: uppercase;
    margin-bottom: 10px;
}

.soustitre {
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    /*letter-spacing: 0.37px;*/
    text-transform: uppercase;
    color: var(--bleu);
    margin: 0;
}

h2 {
    font-size: 30px;
    line-height: 38px;
    color: var(--bleu);
    margin-bottom: 10px;
    margin-top: 10px;
    font-weight: 600;
}

p {
    font-size: 20px;
    line-height: 26px;
    margin: 0 0 20px 0;
}

ul {
    margin-bottom: 20px;
}

li {
    font-size: 20px;
    line-height: 26px;
    padding-left: 30px;
}

#container {
    padding: 0;
}

strong {
    font-weight: 600;
}

h3 {
    text-transform: uppercase;
    margin: 0 0 8px 0;
    font-size: 21px;
    font-weight: 500;
}

/*******
FRONT PAGE
 */
.head-page {
    height: 590px;
    position: relative;
    z-index: 15;
    padding: 100px 10vw 0 0;
}

.head-page > .absol-img {
    position: absolute;
    /*top: 0;*/
    /*left: 0;*/
    /*bottom: 0;*/
    /*right: 0;*/
    z-index: -1;
    /*height: 40vw;*/
    /*width: 100%;*/
    /*object-fit: contain;*/
    /*transition: 0s;*/
}

.head-page > .absol-img:nth-of-type(2) {
    top: 50px;
    left: -200px;
}

.head-page > .absol-img:nth-of-type(3) {
    bottom: 0;
    right: 45%;
}

.head-page > .absol-img:nth-of-type(4) {
    bottom: 0;
    right: 30%;
}

.head-page > .absol-img:nth-of-type(5) {
    bottom: 0;
    right: 12.5%;
}

.head-img1 {
    height: 545px;
    width: 800px;
    object-fit: contain;
    animation: appearflow1 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes appearflow1 {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    60% {
        transform: translateX(6%); /* Léger dépassement pour un effet naturel */
        opacity: 1;
    }
    to {
        transform: translateX(0%);
    }
}
.head-img2 {
    height: 150px;
    /*transform: rotate(-90deg);*/
    animation: explode1 0.25s 0.6s ease-in-out forwards;
    transform: scale(0) rotate(0);

}
@keyframes explode1 {
    from {
        transform: scale(0) rotate(0);
        opacity: 0;
    }
    80%{
        transform: scale(1.2) rotate(-90deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(-90deg);
    }
}
.head-img3 {
    height: 110px;
    animation: explode2 0.25s 0.75s ease-in-out forwards;
    transform: scale(0);
}
@keyframes explode2 {
    from {
        transform: scale(0);
        opacity: 0;
    }
    80%{
        transform: scale(1.2) ;
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
.head-img4 {
    height: 150px;
    /*transform: rotate(-270deg);*/
    animation: explode3 0.25s 0.9s ease-in-out forwards;
    transform: scale(0) rotate(0);
}
@keyframes explode3 {
    from {
        transform: scale(0) rotate(-230deg);
        opacity: 0;
    }
    80%{
        transform: scale(1.2) rotate(-270deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(-270deg);
    }
}

.btn-rdv {
    position: absolute;
    top: 30px;
    right: 50px;
    background-color: var(--bleu);
    text-transform: uppercase;
    color: white;
    padding: 17px 25px;
    border-radius: 12px;
    transition: 0.5s ease-in-out all;
    border: 1px solid transparent;

}

.btn-rdv:hover {
    background-color: white;
    border: 1px solid var(--bleu);
    color: var(--bleu);
}

.content-head {
    width: 520px;
    margin-top: 60px;
    margin-left: auto;
    text-align: center;
    transition: 0s;
    opacity: 0;
    margin-left: calc(50% - 260px + 400px);
    animation: appear 0.6s  ease-in-out forwards;
}
@keyframes appear {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
#header {
    display: none;
}

.section {
    padding: 0 var(--margin);
    /*max-width: calc(1050px + var(--margin) * 2);*/
    margin: var(--space) 0;
}
.resa{
    margin-top: 0;
    margin-bottom:  0;
}
li::before {
    content: "";
    background-image: url("../images/arrow.svg");
    display: block;
    height: 16px;
    width: 16px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 6px;
    left: 0;
}

.prix-resa strong {
    color: var(--bleu);
    font-weight: 400;
}

.titre-accordion {
    display: flex;
    cursor: pointer;
    transition: 0.5s ease-in-out all;
    align-items: center;
    text-transform: uppercase;
    font-weight: 500;
}

.titre-accordion > svg {
    margin-right: 5px;
}

.titre-accordion:hover {
    opacity: 0.6;
}

.prix-resa {
    margin-bottom: 30px;
}

.accordion {
    margin-top: 15px;
}

/*.accordion:first-of-type{*/
/*    margin-top: 30px;*/
/*}*/

.accordion .txt-accordion {
    /*max-height: 0;*/
    /*overflow: hidden;*/
    /*transition: 0.3s ease-in-out;*/
    padding: 0 0px;
    display: none;
}
.accordion .txt-accordion p{
    padding: 10px 0;

}
.accordion.open .txt-accordion {
    /*max-height: 800px;*/
    /*padding: 10px 0;*/
}

.txt a {
    text-decoration: underline;
    transition: 0.5s ease-in-out all;
}

.txt a:hover {
    opacity: 0.6;
}

.accordion.open .icon-accordion {
    transform: rotate(45deg);
}

.calendar {
    height: 925px;
}

.grid-about {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    grid-gap: 50px;
}
.grid-about h2:nth-of-type(2){
    margin-top: 30px;
}
#footer .section {
    margin: 0 auto;
}

#footer .ft-bleu {
    color: var(--bleu);
    font-weight: 600;
    margin: 0;
}

#footer a, #footer p{
    display: block;
    color: var(--noir);
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0;
}

#footer {
    position: relative;
    padding: 0;
}

#footer > img:nth-of-type(1) {
    width: 77px;
    height: 60px;
    transform: rotate(-158.381deg);
    position: absolute;
    top: -60px;
    left: 50%;
}

#footer > img:nth-of-type(2) {
    width: 380px;
    height: 300px;
    transform: rotate(-150deg);
    position: absolute;
    top: -60px;
    left: 65%;
}

#footer > img:nth-of-type(3) {
    width: 101.876px;
    height: 79.068px;
    transform: rotate(-57.883deg);
    position: absolute;
    top: 60px;
    left: 80%;
}

#copyright {
    display: flex;
    margin-top: 40px;
    font-size: 14px;
    flex-direction: row;
}

#copyright span {
    opacity: 0.7;
    display: block;
    width: 520px;
    font-size: 14px;

}
#copyright span a{
    font-size: 14px;
    line-height: 10px;
    opacity: 0.7;
    display: contents;
}
#copyright>a{

}
#copyright svg {
    width: 92px;
    height: 16px;
    margin-left: 3px;
}

.hide-bt-iframe {
    position: relative;
    /*margin-bottom: -170px;*/
    height: 755px;
    overflow: hidden;
}

/*.hide-bt-iframe::after{*/
/*    content: "";*/
/*    height: 170px;*/
/*    bottom: 0;*/
/*    position: absolute;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    background-color: white;*/
/*}*/
.flex-ft{
    display: flex;
}
.flex-ft>p:last-child{
    margin-left: 7px;
}
.deco-fond {
    position: relative;
    z-index: -1;
}

.img-fond {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    opacity: 0.1;
    height: 1200px;
    z-index: -1;
}

.img-sec {
    display: flex;
    justify-content: center;
}

.img-sec div {
    margin: 0px 100px;
    transition: 0s;
}

.img-sec img {
    object-fit: contain;

}

.img-sec div:nth-of-type(1) img {
    height: 150px;
    width: 131px;
    transform: rotate(306deg);
}

.img-sec div:nth-of-type(2) img {
    height: 200px;
    width: 180px;
    transform: rotate(200deg);
}

.img-sec div:nth-of-type(3) img {
    height: 200px;
    width: 232px;
    transform: rotate(-34deg);
}

.img-sec div:nth-of-type(4) img {
    height: 200px;
    width: 88px;
    transform: rotate(118deg);
}

.img-sec div:nth-of-type(5) img {
    height: 200px;
    width: 110px;
    transform: rotate(224deg);
}

.img-sec-2 {
    position: absolute;
    display: flex;
    justify-content: center;
    top: 100%;
    left: var(--margin);
}

.img-sec-2 div {
    transition: 0s;
    margin: 0 60px;
}


.img-sec-2 div:nth-of-type(3) {
    margin-right: 150px;
}
.img-sec-2 div:nth-of-type(2) img{
    width: 240px;
}

p:last-of-type {
    margin-bottom: 0;
}

.mx-txt {
    max-width: 900px;
}

.vdo-hypnose{
    height: 500px;
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
.vdo-hypnose>video{
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: 600px;
    object-fit: cover;
}
.vdo-hypnose p{
    color: white;
}
.vdo-hypnose p strong{
    color: var(--bleu);
}

.pour_qui_et_pourquoi{
    position: relative;
    padding-bottom: 80px;
}
.pour_qui_et_pourquoi .img-anim:nth-of-type(2){
    position: absolute;
    top: 0;
    right: calc(var(--margin) - 200px);
}
.pour_qui_et_pourquoi .img-anim:nth-of-type(3){
    position: absolute;
    top: 250px;
    right: calc(var(--margin) - 200px);
}


@media screen and (max-width: 1500px) {
    .img-sec div {
        margin: 0px 40px;
    }

    /*.head-page > img {*/
    /*    height: 49vw;*/
    /*    width: 83%;*/
    /*}*/
    .content-head {
        margin-top: 30px;
    }

    .img-sec-2 {
        width: 80%;
        margin: auto;
    }

    #footer > img:nth-of-type(2) {
        width: 230px;
        height: 190px;
        transform: rotate(-150deg);
        position: absolute;
        top: -117px;
        left: 74%;
    }
    .head-img1{
        height: 440px;
        width: 700px;

    }
    .head-page {
        height: 450px;
    }
    .head-img3 {
        height: 70px;

    }
    .head-img2,
    .head-img4{
        height: 100px;

    }
    .img-sec-2 div{
        margin: 0 20px;
    }
    .content-head{
        margin-left: calc(50% - 260px + 300px);

    }
    .calendar {
        height: 940px;
    }
    .flex-ft{
        display: block;
    }
    .flex-ft>p:last-child{
        margin-left: 0;
    }
    .mail-tel .sep:first-of-type{
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    .calendar {
        height: 950px;
    }
    #footer a, #footer p{
        font-size: 17px;
        line-height: 24px;
    }

}

@media screen and (max-width: 900px) {
    :root {
        --space: 40px;
        --margin: 5vw;

    }

    /*.head-page > img {*/
    /*    display: none;*/
    /*}*/
    .content-head {
        margin-left: var(--margin);
        margin-top: 0;
        text-align: left;
        width: auto;
    }

    h1 {
        font-size: 37px;
    }

    .soustitre {
        font-size: 28px;
    }

    .head-page {
        height: auto;
        padding: 30px 5vw 0 0;
    }

    h2 {
        font-size: 24px;
        line-height: 30px;
    }

    p, li {
        font-size: 18px;
        line-height: 24px;
    }

    #footer > img:nth-of-type(1),
    #footer > img:nth-of-type(2) {
        display: none;
    }

    .grid-about {
        display: block;
    }
    .grid-about img{
        margin-top: 20px;
    }
    .btn-rdv {
        position: static;
        margin: 15px var(--margin) 0 var(--margin);
        display: flex;
        width: fit-content;
        padding: 8px 15px;
    }

    .img-sec div {
        margin: 0;
    }

    .img-sec div:nth-of-type(4),
    .img-sec div:nth-of-type(5),
    .img-sec-2 div:nth-of-type(4),
    .img-sec-2 div:nth-of-type(5),
    .img-sec-2 div:nth-of-type(6) {
        display: none;
    }

    .img-sec div:nth-of-type(3) img {
        width: 145px;
    }

    .img-sec-2 div:nth-of-type(3) {
        margin-right: 0;
    }

    #footer a, #footer p {
        font-size: 15px;
        line-height: 22px;
    }

    #container {
        overflow-x: hidden;
    }

    #copyright span,
    #copyright span a{
        font-size: 8px;
        width: 300px;
    }

    #copyright {
        margin-top: 15px;
    }

    #copyright svg {
        width: 54px;
        height: 10px;
        display: block;
    }

    #footer {
        padding-top: var(--space);
        padding-bottom: var(--space);
        border-top: 1px solid var(--bleu);
        overflow: hidden;
    }

    #footer > img:nth-of-type(3) {
        top: unset;
        bottom: -30px;
    }

    .calendar {
        height: 1635px;
    }

    .hide-bt-iframe {
        height: 1315px;
    }

    .img-sec {
        height: 140px
    }

    .grid-about > div:nth-of-type(1) {
        margin-top: var(--space);
    }
    .head-page > .absol-img:nth-of-type(2){
        display: none;
    }
    .head-page > .absol-img{
        display: none;
        /*position: static;*/
        /*display: inline-block;*/
        /*margin-top: 40px;*/
    }

    .img-anim{
        display: none;
    }
    .img-sec-2{
        display: none;
    }
    .pour_qui_et_pourquoi{
        padding-bottom: 0;
        margin: 20px 0 0 0;
    }
    .flex-ft{
        display: block;
    }
    .flex-ft>p:last-child{
margin-left: 0;
    }
    .mail-tel span{
        display: block;
    }
    .mail-tel .sep{
        display: none;
    }
    /*.head-img2, .head-img4 {*/
    /*    height: 64px;*/
    /*}*/
}

@media screen and (max-width: 600px) {
    h1 {
        font-size: 28px;
        margin-bottom: 2px;
    }

    .soustitre {
        font-size: 24px;
    }
}