/*
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
*/

/***************** Contact FORM 7 *****************/

.wpcf7-form{
    font-family: var(--font-poppins);
    color: #023850;
    font-size: 16px;
    display:flex;
    flex-direction: column;
    gap: 30px;
}

.wpcf7-form p{
    display: flex;
    gap: 30px;
    margin: 0!important;
}

.wpcf7-form .half p >*{
    width: calc(50% - 15px);
}
.wpcf7-form .full p >*{
    width: 100%;
}

label strong{
    color: #023850;
}

label span{
    margin-top: 15px;
    display: block;
}

.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form input{
    background-color: #EFEFEE;
    border-radius: 10px!important;
    border: none!important;
    font-family: var(--font-poppins)!important;
    color: #678796!important;
    font-size: 16px!important;
    padding: 12px 20px!important;
}

.wpcf7-form select::placeholder,
.wpcf7-form textarea::placeholder,
.wpcf7-form input::placeholder{
    color: #678796;
}

.wpcf7-form button[type="submit"]{
    color: #fff!important;
    border-radius: 110px!important;
    border: 2px solid var(--orange)!important;
}

.wpcf7-form button[type="submit"]:hover{
    color: var(--orange)!important;
}

.wpcf7-form button svg{
    width: 20px;
}

.wpcf7-acceptance label{
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.wpcf7-acceptance label a{
    color: var(--orange) !important;
    text-decoration: underline;
    text-decoration-color: var(--orange);
}

input[type="checkbox"] {
    accent-color: var(--orange);
}

/***************** Widget contact *****************/

.widget-contact > div:first-of-type{
    z-index: 1;
    opacity: 0;
    visibility: hidden;
}
.widget-contact > div:first-of-type > *{
    z-index: 1;
    opacity: 0;
    transform: translateY(10px);
}
.widget-contact > div:last-of-type{
    z-index: 2;
    opacity: 1;
    visibility: visible;
}
.widget-contact > div:last-of-type > *:first-child{
    opacity: 0;
}
.widget-contact > div:last-of-type > *:last-child{
    opacity: 1;
}
.widget-contact.is-open > div:first-of-type{
    z-index: 3;
    opacity: 1;
    visibility: visible;
    position: relative;
    margin-bottom: 50px;
}
.widget-contact.is-open > div:first-of-type > *{
    z-index: 4;
    animation: widgetContactFadeUp 0.28s ease-out forwards;
    margin-bottom: 10px;
}
.widget-contact.is-open > div:first-of-type > *:nth-child(1){
    animation-delay: 0.04s;
}
.widget-contact.is-open > div:first-of-type > *:nth-child(2){
    animation-delay: 0.10s;
}
.widget-contact.is-open > div:last-of-type{
    z-index: 1;
    opacity: 1;
    visibility: visible;
}
.widget-contact.is-open > div:last-of-type > *:first-child{
    opacity: 1;
}
.widget-contact.is-open > div:last-of-type > *:last-child{
    opacity: 0;
}

@keyframes widgetContactFadeUp{
    from{
        opacity: 0;
        transform: translateY(10px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/***************** Liste d'items *****************/

.fadeup-list .elementor-icon-list-item{
    opacity: 0;
    transform: translateY(30px);
}

.fadeup-list.is-visible .elementor-icon-list-item:nth-child(1){
    animation: fadeInUp 0.8s ease forwards;
    animation-delay: 0.2s;
}

.fadeup-list.is-visible .elementor-icon-list-item:nth-child(2){
    animation: fadeInUp 0.8s ease forwards;
    animation-delay: 0.8s;
}

.fadeup-list.is-visible .elementor-icon-list-item:nth-child(3){
    animation: fadeInUp 0.8s ease forwards;
    animation-delay: 1.4s;
}

@keyframes fadeInUp{
    from{
        opacity: 0;
        transform: translateY(30px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/***************** Instagram feed *****************/


.sbi .sbi_photo_wrap {
    border-radius: 10px;
    overflow: hidden;
}

/***************** Textes en gras *****************/

p strong,p b {
    font-weight: 600 !important;
}


/***************** Lien au survol *****************/

.thermo-underline a {
    transition: color 0.3s, text-decoration-color 0.3s;
}

.thermo-underline a:hover {
    color: var(--orange) !important;
    text-decoration: underline;
    text-decoration-color: var(--orange);
}

.underline-link a{
    text-decoration: underline !important;
    text-decoration-color: var(--orange) !important;
}

/***************** Images qui grossissent au survol *****************/

.e-con:has(> img){
    overflow: hidden;
    border-radius: 20px;
}

.e-con:has(.footer-img) {
    border-radius: 20px 20px 0 0 !important;
}

.e-con:has(.logo) {
    border-radius: 0px !important;
}

.e-con:has(img) img{
    transition: transform 0.5s cubic-bezier(.215,.61,.355,1);
    will-change: transform;
}

.e-con > img:hover{
    transform: scale(1.06);
}

.equal-column > .e-flexbox-base{
    flex: 1 1 0;
    min-width: 0;
}

/***************** Menu responsive mobile *****************/

@media (max-width: 1024px) {

    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;

        background: rgba(0,0,0,0.5);

        transform: translateX(100%);
        transition: transform 0.5s ease;

        z-index: 9998;

        opacity: 1;
        pointer-events: none;
    }

    .elementor-widget-nav-menu > .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: unset !important;
        right: 0 !important;
        left: auto !important;

        width: 80vw !important;
        height: 100vh !important;

        transform: translateX(100%) !important;
        transition: transform 0.35s ease !important;

        z-index: 9999 !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .elementor-widget-nav-menu .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown {
        transform: translateX(0%) !important;
    }

    .widget-contact.is-open > div:last-of-type {
        z-index: 4;
    }

    .widget-contact.is-open > div:first-of-type {
        cursor: pointer;
    }

    body.menu-open .menu-overlay {
        transform: translateX(0%);
        visibility: visible;
    }

    header > div > div:first-of-type {
        z-index: 50000 !important;
    }

    header .elementor-item.has-submenu:hover .sub-arrow svg {
        fill: white !important;
    }

}

header{
    position: sticky;
    top: 0;
    z-index: 9999;
}

/***************** Menu responsive mobile *****************/

@media (max-width: 767px) {
    .elementor-widget.e-widget-swiper .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide {
        margin-left: 5px !important;
        margin-right: 5px !important;
    }
}

/***************** Cards *****************/

.expertise-card:hover {
    transform: translateY(-5px) !important;
}



@media (max-width: 1600px) {
    .thm-contact-details{
        flex: 1 1 auto !important;
    }
}



@media (max-width: 1750px) {
    .header-real .title-header{
        font-size: 35px !important;
    }

    .header-real .subtitle-header{
        font-size: 18px !important;
    }
}



@media (max-width: 1500px) {
    .feed-insta, .feed-insta .elementor-shortcode, #sb_instagram, #sb_instagram .sbi_photo,#sb_instagram #sbi_images,#sb_instagram .sbi_photo_wrap{
        height: 100% !important;
    }
}

#sb_instagram #sbi_images, #sb_instagram {
    padding: 0;
    padding-bottom: 0 !important;
}

.grecaptcha-badge {
    visibility: hidden;
}