/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.reset{
    all:initial;
}
.header-image{
    height:100%;
}
.map-button, #ask-evaluation{
    box-shadow: 0 6px 6px rgba(0, 0, 0, 0.45);
    position: relative;
    overflow: clip;
    border-radius: 1000px;
    &:hover{
        box-shadow: 0 0px 3px rgba(0, 0, 0, 0.45);
    }
    .elementor-button-icon {
        transition: all 250ms ease-in-out;
        left:0;
        position: absolute;
        top:0;
        width:35px;
        height:100%;
        aspect-ratio: 1;
        width: auto;
        translate:-15%;
        svg {
            height: 100%;
            width: 100%;
        }
    }

    .elementor-button{
        &:before{
            content:'';
            user-select: none;
            pointer-events: none;
            background-color:rgba(255,255,255,0.2);
            inset: 0;
            z-index: 1;
            width:100%;
            height: 100%;
            position: absolute;
            transform: translateX(-100%) scale(0);
            transition: all 300ms ease-in-out;
            border-radius: 1000px;

        }
        &:hover{
            &::before{
                user-select: none;
                pointer-events: none;
                transform: translateX(0%) scale(2);
                border-radius: 0;
            }
        }
    }



    a {
        width: 100%;
        transform-origin: center;
        transition: all 250ms ease-in-out;
        overflow: clip;
        display: block;
    }
    .elementor-button-text{
        transition: 250ms;

    }
    &:hover{
        .elementor-button-icon {
            left: 45%;
        }
        .elementor-button-text{
            opacity: 0;
        }
    }
}
/*
.map-button, #ask-evaluation{
    position: relative;
   .elementor-button-wrapper{
    position: relative;
   }
       border-radius: 1000px;
    overflow: clip;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.25);
    .elementor-button{
        display:block;
        padding-left:60px!important;
        padding-right: 40px;
        font-weight: 600;
         overflow:clip!important;
         &:before{
        content:'';
        user-select: none;
        pointer-events: none;
        background-color:rgba(255,255,255,0.2);
        inset: 0;
        z-index: 1;
        width:100%;
        height: 100%;
        position: absolute;
        transform: translateX(-100%) scale(0);
        transition: all 300ms ease-in-out;
        border-radius: 1000px;

    }
    border-radius: 100px 100px 100px 100px;
    cursor: pointer;

    }
    .elementor-button-icon {
        position: absolute;
        bottom: 0;
        left: 0;
        top: 0;
        svg{
            width:80px;
            height:80px;
        }

    }
    .elementor-button-text{
    }
    .elementor-button-text, .elementor-button-icon{
        transition:all 400ms ease;
        will-change: transform;
        transform: translateX(0%) translatey(0%);

        opacity: 1;
    }
    .elementor-button-icon{
        transform: translateX(0%) translatey(0%);
    }
    &:hover{
        &::before{
            user-select: none;
            pointer-events: none;
            transform: translateX(0%) scale(2);
            border-radius: 0;
        }
        .elementor-button-text{
            opacity: 0;
        }
        .elementor-button-icon{
            left:50%;
            transform: translateX(-50%) translateY(0%) scale(0.8);
        }
    }
}
*/
.elementor-location-header {
    position: sticky;
    top:0;
    z-index: 999;
    .elementor-nav-menu__container{
        height: 100%;
    }
    .header-home {

        &, .logo img{
            transition: all 200ms ease-in-out;
        }
    }
    &.custom-sticky {

        .header-home {
            background-color: #0c0d0e;
            color: #fff;
        }
        .logo img{
            width: 200px;
        }
    }
}

body:not(.home){
    .header-home {
        position:sticky;
        top:0;
        left:0;
        right:0;
        bottom:auto;
        background-color: #0c0d0e;
        color: #fff;
    }
}

::-webkit-scrollbar-track{
    background-color:transparent!important;
}


label[for="search-category-button"]{
    font-family:'font';
}

body:not(.elementor-editor-preview):not(.elementor-editor-active){
    .reveal-text *:is(h1,h2,h3,h4,h5,h6,p){
        visibility: hidden;
    }

    .line {
        position: relative;
        overflow: hidden;
        display: flex;
    }
}

.custom-coverflow-slider-container img{
    width:100%;
}

.swiper-button-next, .swiper-button-prev {
    svg {
        width: auto;
        height:auto;
    }
}


.elementor-widget-elementor_coverflow_slider{
    .swiper-button-next,.swiper-button-prev {
        height: 50px;
        top: 50%;
        width: 50px;
        background: white;
        border-radius: 100px;
        color: #688068;
        transition: 200ms;
        filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.2));
        transition:all 200ms;
        &:hover{
            background: #688068;
            color: #FEFADF;
            filter: drop-shadow(0 0px 10px rgba(0, 0, 0, 0.2));
        }
    }
}


.jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container{
    height: 100svh!important;
}
.jet-mobile-menu__controls{
    justify-content: flex-start;
}

body:not(.elementor-editor-preview):not(.elementor-editor-active){
    .reveal-text *:is(h1,h2,h3,h4,h5,h6,p){
        visibility: hidden;
    }

    .line {
        position: relative;
        overflow: hidden;
        display: flex;
    }



    .reveal-image {
        overflow: hidden;          /* necessario per il clip reveal */
        display: inline-block;     /* o block a seconda del layout */
        clip-path: inset(0 0 100% 0);
        will-change: clip-path opacity;
        transition: clip-path 800ms ease-in-out;

    }

    .reveal-image img {
        opacity: 0;
        filter: blur(16px);
        will-change: transform, filter;
        /* width: 100%; */
        display: block;
    }





}

body:not(.elementor-editor-preview):not(.elementor-editor-active) {
    .fadeup {
        transform: translateY(50px);
        opacity: 0;
        transition-property: transform, opacity;
        transition-duration: 1s;
        transition-timing-function: linear;
    }
    .fadein{

        opacity: 0;
        transition-property: opacity;
        transition-duration: 1s;
        transition-timing-function: linear;
    }
}


body:not(.elementor-editor-preview):not(.elementor-editor-active) {
    .fadeup.in-view {
        transform: none;
        opacity: 1;
    }
    .fadein.in-view{
        opacity: 1;
    }
}


/** Scroll slides mobile GSAP */

.mobile-scrollmagic {
    position: relative;
    width: 100%;
    z-index: 0;

    .scoll-magic-mobile {
        position: relative;
        width: 100%;

        .scoll-magic-wrapper {
            position: sticky;
            top: 0px;
        }

        .scoll-slide {
            position: absolute;
            top: 0px;      /* padding dall’alto */
            left: 0;
            width: 100%;
            height: calc(100svh - 100px);
            opacity: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: start;
            text-align: center;
            padding: 20px;
            background: #fff;
            transition: opacity 0.5s ease;
            padding-top:77px;
            img,.image {
                max-width: 100%;
                border-radius: 1rem;
                margin-bottom: 1rem;
            }

            h3 {
                font-size: 1.5rem;
                margin-bottom: 1rem;
            }
        }
    }
}
.splide__arrow.splide__arrow--prev, .splide__arrow.splide__arrow--next, .splide__pagination__page{
    padding:0!important;
}

.splide__arrow svg{
    fill:white;
}

.splide__slide img {
    border-radius:20px;
    max-width: 95svw;
}
