/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.0.1
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
*/
/*----------------------------------------GENERAL STYLES AND CLASSES----------------------------------------*/
html,
body {
    overflow-x: hidden !important;
}

.elementor-widget-image a img[src$=".svg"] {
    width: inherit !important;
}

/*DISABLE OUTLINE*/
a:focus-visible {
    outline: none !important;
}

.overflow-hidden,
.overflow-hidden .elementor-widget-container {
    overflow: hidden !important;
}

.height100,
.height100 .elementor-widget-container {
    height: 100% !important;
}

.width100,
.width100 .elementor-widget-container {
    width: 100% !important;
}

.cta a::before {
    /*THIS EXTENDS THE LINK TO THE ENTIRE WIDGET BLOCK*/
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.pointer:hover {
    cursor: pointer;
}

.pointer-none {
    pointer-events: none;
}

/* TEXT IN FRONT OF STROKE */
* {
    paint-order: stroke;
}

/*SEPARATOR*/
.vertical-separator {
    display: flex;
    height: 100%;
    width: 1px;
    background-color: #fff;
}

@media (max-width: 768px) {
    .overflow-x {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nobr br {
        display: none;
    }
}

/*CAROUSEL GRADIENT*/
.opacity-carousel {
    position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent, black 20%, black 80%, transparent);
    mask-image: linear-gradient(to right, transparent, black 20%, black 80%, transparent);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/*TEXT UTILITY CLASSES*/
.text-primary {
    color: var(--e-global-color-primary);
}

.text-secondary {
    color: var(--e-global-color-secondary);
}

.text-accent {
    color: var(--e-global-color-accent);
}

/*FIX DEFAULT LINK COLOR ELEMENTOR*/
.inherit a {
    color: inherit !important;
}

.underline a {
    text-decoration: underline !important;
}

.hover-underline:hover a {
    text-decoration: underline !important;
}

/*BLUR UTILITY CLASSES*/
.backdrop-blur-5 {
    backdrop-filter: blur(5px);
}

.backdrop-blur-10 {
    backdrop-filter: blur(10px);
}

.backdrop-blur-15 {
    backdrop-filter: blur(15px);
}

.backdrop-blur-20 {
    backdrop-filter: blur(20px);
}

/*----------------------------------------RECAPTCHA----------------------------------------*/
.grecaptcha-badge,
.grecaptcha-badge * {
    display: none !important;
}

/*----------------------------------------SCROLLBAR CUSTOM----------------------------------------*/
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #F5F5F5;
}

::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-accent);
    border-radius: 20px;
    border: 3px solid var(--e-global-color-accent);
}

.hoverable-item {
    * {
        transition: .3s all;
        opacity: 0;
    }

    &:hover {
        transform: scale(1.1);

        * {
            opacity: 1;
        }
    }
}

#carousel-review {
    cursor: grab;

    &:active {
        cursor: grabbing;
    }

    div[inert] {
        opacity: 0.5;
    }
}

.btn-effect-transparent {
    position: relative;
    display: inline-block;
    z-index: 1;
    overflow: hidden;

    span,
    p {
        transition: color .7s;
    }

    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: -111%;
        width: 100%;
        height: 100%;
        z-index: -1;
        transition: .7s ease-in-out;
        transform: skew(-0.75rad);
    }

    &.after-white {
        &:hover * {
            color: #06050A;
        }

        &::after {
            background-color: #FFF;
        }
    }

    &.after-black {
        &:hover * {
            color: #FFF;
        }

        ::after {
            background-color: #06050A;
        }
    }

    &:hover::after {
        left: 0%;
        transform: skew(0rad);
    }
}


.btn-effect-to-transparent {
    position: relative;
    display: inline-block;
    z-index: 1;
    overflow: hidden;

    span,
    p {
        transition: color .7s;
    }

    &::after {
        content: '';
        position: absolute;
        top: 0;
        height: 100%;
        z-index: -1;
        transition: .7s ease-in-out;
        left: 0%;
        width: 100%;
        transform: skew(0rad);
        background-color: #FFF;
    }

    &:hover::after {
        left: 111%;
        transform: skew(-0.75rad);
    }
}

form[name='contact-form'] button {
    position: relative;
    display: inline-block;
    z-index: 1;
    overflow: hidden;

    span,
    p {
        transition: color .7s;
    }

    &::after {
        content: '';
        position: absolute;
        top: 0;
        left: -50%;
        width: 0%;
        height: 100%;
        z-index: -1;
        transition: .7s ease-in-out;
        transform: skew(-0.32rad);
        background-color: #FFF;
    }

    &:hover * {
        color: #06050A;
    }

    &:hover::after {
        left: -10%;
        width: 200%;
    }
}

/* LOOP PORTFOLIO HOME */
.elementor-element-f0a697a .e-loop-item:nth-child(odd) .home-portfolio-right {
    display: none;
}

.elementor-element-f0a697a .e-loop-item:nth-child(even) .home-portfolio-left {
    display: none;
}

/* SLIDER PAGE RÉALISATION UNIQUE */
/* .elementor-element-b897ef1 {
    .swiper-slide {
        height: 600px;
        border-radius: 10px;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
        }
    }
}

@media (max-width: 1024px) {
    .elementor-element-b897ef1 {
        .swiper-slide {
            height: 440px;
        }
    }
}

@media (max-width: 767px) {
    .elementor-element-b897ef1 {
        .swiper-slide {
            height: 330px;
        }
    }
} */