html{
    scroll-behavior: smooth;
}

p{
    margin-bottom: unset;

}

.elementor-widget-image{
    width: 100%;
}

.is-anchor{
    position: absolute !important;
    top: -50px;
}

.has-px-global{
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Initial state */
.animation-fade-in-up{
    opacity: 0 !important;
    transform: translateY(50px) !important;
    transition: 1000ms 100ms !important;
}

/* Active state */
.animation-fade-in-up.visible{
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.auto-sizing{
    width: fit-content !important;
}

/* .elementor-element-51e8edc{
    right: 1em !important;
    bottom: -8em !important;
    transform: rotate(180deg) scaleX(-1) !important;
} */

/* .elementor-element.elementor-element-51e8edc .elementor-icon svg{
    height: 310px !important;
}

.elementor-element.elementor-element-882ab6e{
    bottom: -15em !important;
    transform: rotate(180deg) !important;
    right: -13em !important;
}

.elementor-element.elementor-element-872e6ef {
    left: -5em !important;
    top: -100px !important;
} */

a{
    color: #457294;
}

.hero{
    height: calc(100vh - 54px) !important;
    overflow: hidden !important;
    border-bottom: 0.1px solid var(--e-global-color-secondary) !important;
}

/* .elementor-element-f5eef36{
    width: fit-content !important;
    left: -5em !important;
    bottom: -5em !important;
} */

.hero-deco.right{
    width: fit-content !important;
    bottom: 5em !important;
    right: -6em !important;
    transform: rotate(90deg) !important;
    top: unset !important;
}

.hero-deco.left{
    bottom: 5em;
    left: -6em !important;
    width: fit-content !important;
    transform: scaleX(-1) rotate(90deg) !important;
}

/* .elementor-element-7fa0020{
    width: fit-content !important;
    top: -6em;
    left: -5em;
} */

.hero-deco.top-right{
    width: fit-content !important;
    top: -1em !important;
    right: -5em !important;
    transform: scaleX(-1) !important;
}

.hero-deco.top-left{
    width: fit-content !important;
    top: -1em !important;
    left: -5em !important;
}

.deco.adresse-left{
    width: fit-content !important;
    left: -4em;
    top: -55em;
}

.deco.adresse-left img{
    transform: rotate(352deg);
}

.deco.adresse-right{
    width: fit-content !important;
    right: -5em;
    top: 9em;
}

.deco.adresse-right img{
    transform: scaleX(-1);
}

.has-overflow-x-hidden{
    overflow-x: clip !important;
}

.deco.programme-right{
    width: fit-content !important;
    right: -5em;
    bottom: -6em;
}

.deco.programme-right img{
    transform: scaleX(-1);
}

.deco.programme-left{
    width: fit-content !important;
    top: 10em;
    left: -6em;
}

.deco.programme-left img{
    transform: scaleX(-1) rotate(141deg);
}

.hero-deco{
    z-index: -1 !important;
}

#content{
    margin-top: -102px !important;
}

.hero-nav-menu a{
    text-decoration: none !important;
}

.hero-bg{
    z-index: -1 !important;
}

.is-logo{
    z-index: 100 !important;
}

.gallery img{
    height: 100% !important;
    object-fit: cover !important;
}

.elementor-element-38a26da{
    left: 235px !important;
    top: -6px !important;
}

.elementor-element-75e1afa{
    position: relative !important;
    width: fit-content !important;
}

@keyframes scroll {
    0% {
        left: 0%;
    }
    100% {
        left: -80%;
    }
}


@media only screen and (max-width: 767px) and (min-width: 0px){
    .is-logo{
        position: absolute !important;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .hero-nav-menu p,
    .header-nav-menu p{
        font-size: 20px !important;
    }

    .elementor-element-38a26da {
        left: 139px !important;
        top: -4px !important;
    }

    .elementor-element-38a26da h1{
        font-size: 46px !important;
    }

    .is-burger-menu{
        width: fit-content !important;
        z-index: 10 !important;
        height: 100% !important;
    }

    .is-burger-menu > *{
        height: 1px !important;
        width: 25px !important;
        background-color: #457294 !important;
    }

    .is-burger-menu>div {
        transition: top 170ms 110ms,rotate 170ms,background .2s
    }

    .mobile-menu-active .is-burger-menu>div {
        background-color: #000!important;
        transition: top 170ms,rotate 170ms 110ms,background .2s
    }

    .is-burger-menu>div:first-child {
        top: -5px
    }

    .is-burger-menu>div:last-child {
        top: 5px
    }

    .mobile-menu-active .is-burger-menu>div {
        top: 0
    }

    .mobile-menu-active .is-burger-menu>div:first-child {
        rotate: 45deg;
        top: 1px
    }

    .mobile-menu-active .is-burger-menu>div:last-child {
        rotate: -45deg
    }

    .hero-deco.left {
        left: -6em !important;
        bottom: 4em;
    }

    .hero-deco.right {
        bottom: 4em !important;
    }

    .hero-bg {
        top: -30px !important;
    }

    .hero-deco.center{
        bottom: -6em;
        left: 9em;
        transform: rotate(180deg);
    }

    h2{
        font-size: 27px !important;
    }

    .intertitre{
        gap: 16px !important;
    }

    .adresses-wrapper > .e-con-inner{
        gap: 100px !important;
    }

    .deco.adresse-left {
        left: -4em;
        top: -43em;
    }

    .deco.adresse-left img{
        width: 200px !important;
    }

    .deco img{
        max-width: 200px !important;
    }

    .deco.programme-left {
        top: -12em;
        left: -5em;
    }

    .programme-wrapper img{
        max-width: 80px !important;
        max-height: 80px !important;
    }

    .programme-heure{
        margin-right: 10px !important;
    }

    .programme-heure p{
        font-size: 20px !important;
    }

    .programme-wrapper{
        padding: 0 24px !important;
    }

    .gallery-infinite-scroll-animation-wrapper > *{
        flex: none !important;
        width: fit-content !important;
    }

    .gallery-infinite-scroll-animation-wrapper{
        animation: 30s linear infinite scroll;
        /* min-width: 2000px !important; */
    }

    .gallery-infinite-scroll-animation-wrapper.paused * {
        animation-play-state: paused;
    }

    .gallery,
    .gallery-infinite-scroll-animation-wrapper {
        gap: 16px !important;
    }

    .gallery > *{
        width: 300px !important;
    }

    .gallery img{
        width: 300px !important;
        height: 400px !important;
    }

    .gallery-infinite-scroll-animation-wrapper-parent{
        overflow: scroll !important;
    }

    .elementor-element-6a70f9f{
        padding: 0 !important;
    }

    .elementor-element-a46e6b4{
        padding: 0 20px !important;
    }
}
