/* 
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;
}

/*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);
}


#hero-section {
    height: calc(100dvh);
    padding-bottom: 10dvh;

    @media (max-width: 1600px) {
        padding-bottom: 15dvh;
    }

    @media (max-width: 1024px) {
        padding-bottom: 20dvh;
    }

}

.elementor-button {
    span.elementor-button-icon svg {
        width: 16px;

        path {
            fill: transparent !important;
        }
    }
}

.orange-arrow .elementor-button {
    span.elementor-button-icon svg {
        width: 16px;

        path {
            stroke: var(--e-global-color-primary) !important;
        }
    }
}

.btn-animation,
form {
    .elementor-button {
        overflow: hidden;
        position: relative;
        display: inline-block;
        z-index: 1;

        &::after {
            content: attr(data-text);
            position: absolute;
            top: 0;
            left: -111%;
            width: 100%;
            height: 100%;
            z-index: -1;
            transition: .7s ease-in-out;

            background-color: var(--e-global-color-text);
            color: var(--e-global-color-primary);

            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            border-radius: 100px;
        }

        &[data-text=""]::after,
        &:not([data-text])::after {
            content: "Envoyer";
        }

        &:hover::after {
            left: 0%;
        }
    }

    &.transparent .elementor-button {
        &::after {
            background-color: var(--e-global-color-primary);
            color: var(--e-global-color-text);
        }
    }
}

.card-animation:hover {
    background: var(--e-global-color-primary) !important;
    color: var(--e-global-color-text);

    transform: rotate(1deg) scale(1.05);
    z-index: 2;
}

.underline-hover a {
    &::after {
        content: '';
        position: absolute;
        left: 0;
        top: 100%;
        height: 1px;
        opacity: 0.75;
        width: 0%;
        background-color: var(--e-global-color-text);
        transition: width 0.5s ease-out;
    }

    &:hover::after {
        width: 100%;
    }
}

#custom-breakpoints-cards {
    @media (max-width: 1300px) {
        flex-direction: column;
        gap: 40px;
    }
}