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



/* ENHANCE LAZY LOADING DISPLAY for LiteSpeed LL */
/* PART 1 - Before Lazy Load */
img[data-lazyloaded]{
	opacity: 0;
}

/* PART 2 - Upon Lazy Load */
img.litespeed-loaded{
	-webkit-transition: opacity .5s linear 0.2s;
	-moz-transition: opacity .5s linear 0.2s;
	transition: opacity .5s linear 0.2s;
	opacity: 1;
}


/* MENU */
/* Shrinkable sticky menu */
header.sticky-header {
    --header-height: 70px;
    --shrink-me: 0.80;
    --sticky-background-color: rgba(0,0,0,0.85);
    --transition: .3s ease-in-out;
    --box-shadow: 0 1px 5px rgba(0,0,0,0.5);
    z-index: 9999 !important;
    overflow: visible !important;

}


/* HEADER au-dessus de tout */ 
header.sticky-header,
.elementor-location-header {
    position: relative;
    z-index: 10000 !important;
    overflow: visible !important;
}

/* Dropdown mobile au-dessus du header */
header.sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container,
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important;
    top: 100% !important;
    z-index: 10001 !important;
    overflow: visible !important;
}

/* Évite que des parents coupent le menu */
header.sticky-header > .elementor-container,
header.sticky-header .elementor-row,
header.sticky-header .elementor-column,
.elementor-location-header .e-con,
.elementor-location-header .elementor-element {
    overflow: visible !important;
}

/* HERO vidéo en dessous - supprimé à partir de grosse maj du site avec nouveau contenu le 26-05-26 */
/* .videoHero {
    position: relative;
    z-index: 1 !important;
}

.videoHero .elementor-background-video-container,
.videoHero .elementor-background-video-container video,
.videoHero video {
    position: relative;
    z-index: 1 !important;
}*/

/*header.sticky-header.elementor-sticky--effects {
    background-color: var(--sticky-background-color) !important;
    background-image: none !important;
    box-shadow: var(--box-shadow) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}*/

.sticky-header.elementor-sticky--effects {
    background-color: rgba(0,0,0,0.85) !important;
    background-image: none !important;
    box-shadow: 0 1px 5px rgba(0,0,0,0.5) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* Polyfill for Firefox which doesn't have blur support enabled by default */
@-moz-document url-prefix() {
    header.sticky-header.elementor-sticky--effects, header {
        background-color: rgba(0,0,0,0.95) !important;
    }
}

header.sticky-header > .elementor-container {
    transition: min-height var(--transition);
    -webkit-transition: min-height var(--transition);
    -moz-transition: min-height var(--transition);
    -ms-transition: min-height var(--transition);
    -o-transition: min-height var(--transition);
}
header.sticky-header.elementor-sticky--effects > .elementor-container {
    min-height: calc(var(--header-height) * var(--shrink-me))!important;
    height: calc(var(--header-height) * var(--shrink-me));
}
header.sticky-header .elementor-nav-menu .elementor-item {
    transition: padding var(--transition);
    -webkit-transition: padding var(--transition);
    -moz-transition: padding var(--transition);
    -ms-transition: padding var(--transition);
    -o-transition: padding var(--transition);
}
header.sticky-header.elementor-sticky--effects .elementor-nav-menu .elementor-item {
    padding-bottom: 10px!important;
    padding-top: 10px!important;
}

header.sticky-header > .elementor-container .logo img {
    transition: max-width var(--transition);
}
header.sticky-header.elementor-sticky--effects .logo img {
    max-width: calc(100% * var(--shrink-me));
    filter: invert(1);
    -webkit-filter: invert(1);
}

header.sticky-header.elementor-sticky--effects .burgerIcon .eicon-menu-bar {
    color: white !important;
}

header.sticky-header.elementor-sticky--effects .burgerIcon .eicon-menu-bar:active {
    color: white !important;
}


.menu-item a{
    transition: .3s !important;
    -webkit-transition: .3s !important;
    -moz-transition: .3s !important;
    -ms-transition: .3s !important;
    -o-transition: .3s !important;
}


/*header{
    background-color: var(--sticky-background-color) !important;
    box-shadow: var(--box-shadow) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}*/

header {
    background-color: rgba(0,0,0,0.85) !important;
    box-shadow: 0 1px 5px rgba(0,0,0,0.5) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Mobile shrinkable menu */
@media all and (max-width: 768px){

    /* Make the menu full opacity on mobile
    header.sticky-header.elementor-sticky--effects {
        background-color: black !important;
    }*/

    /* Submenu borders */
    .elementor-nav-menu--dropdown .sub-menu > li > a.elementor-sub-item {
    border: 0 !important;
    border-bottom: 1px solid #EFF1F152 !important;
    font-size: 18px !important;
  } 

    /* Réduit l'espace sous SERVICES */
    .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu {
        padding-top: 0px !important;
    }

    /* Augmente l'espace sous le dernier sous-item */
    .elementor-nav-menu--dropdown .sub-menu > li:last-child > a.elementor-sub-item {
        margin-bottom: 40px !important;
    }

    /* Taille des sous élements du menu drop down */
    .elementor-nav-menu--dropdown > ul > li > a.elementor-item {
    font-size: 40px !important;
    line-height: 1.5 !important;
    font-weight: bold !important;
  }

  /* Augmenter espace au dessus de ACCUEIL */
    .sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul {
    padding-top: 20px !important;
  }

    /* Taille de la flèche dropdown */
    .elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-item.has-submenu > .sub-arrow i {
    font-size: 28px !important;
    line-height: 1 !important;
  }


    /* Remove the orange border / outline on focus for the burger menu */
    .elementor-menu-toggle:focus{
        outline: none;
    }

    .elementor-menu-toggle{
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;
    }

    /* Reduce the space between menu and submenu */
    /* Menu when full height */
    header.sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        top: 50px !important;
        height: 100vh !important;
    }

     .sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    background: #222222 !important;
    min-height: calc(100dvh - 70px) !important;
    height: calc(100dvh - 70px) !important;
  }

    /* Menu when shrinked */
    header.sticky-header.elementor-sticky--effects .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        top: 27px !important;
        height: 100vh !important;
    }


    /* Make sure text stays with correct line height */
    header.sticky-header .menu-item .elementor-item{
        line-height: 1 !important;
    }


    /* Add some top padding for the submenu */
    /* Menu when full height */
    header.sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item:first-child{
        padding-top: 2px;
    }

    /* Menu when shrinked */
    header.sticky-header.elementor-sticky--effects .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item:first-child{
        padding-top: 1px;
    }

    /* Make sure Logo and burger icon stays centered when menu is shrinked */
    header.sticky-header .elementor-row,
    header.sticky-header .elementor-row .elementor-column.elementor-col-50.elementor-top-column.elementor-element{
        max-height: 50px !important;
    }
}


@media all and (max-width: 650px){

    /* Add some top padding for the submenu */
        /* Menu when full height */
        header.sticky-header .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item:first-child{
            padding-top: 2px;
        }

        /* Menu when shrinked */
        header.sticky-header.elementor-sticky--effects .elementor-nav-menu--dropdown.elementor-nav-menu__container .menu-item:first-child{
            padding-top: 5px;
        }

        /* Make sure text stays with correct line height */
    header.sticky-header .menu-item .elementor-item{
        line-height: 0.7 !important;
    }
}


/* PAGE HOME */
/* Section Service */
/* Réduire la taille de l'icone play après décrouvir ce format */
.servicesVideo .elementor-button-icon .fa-play {
    font-size: 10px !important;
    margin-top: 2px !important;
}




/* SERVICES */
/* Revert image */
.website2020{
    -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

/* Service cards */
/* Rotate icons on card hover */
.serviceCard{
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.serviceCard:hover .elementor-icon{
    color: #182F30;
    margin-bottom: 10px;
    margin-top: -10px;
}

.serviceCard .moreInfo{
    color: #182F30;
    font-weight: bold;
    font-family: 'Oswald', Tahoma, Geneva, Verdana, sans-serif;
    text-transform: uppercase;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.serviceCard:hover .moreInfo{
    color: #FFBA49;
}

/* REALISATIONS - Page unique - cas client */
/* Ajuster taille de l'icone play du bouton Voir le Film */
.realisation_view_film_button .elementor-button-icon{
      font-size: 10px !important;
}

/* Supprimer l'overflow latéral sur la galerie de photo */
.realisation-gallerie {
  overflow: hidden !important;
}

/* PROJECTS */
/* More info link */

.moreInfoProjectsBlock{
    margin-top: 70px !important;
}

.moreInfoProjects{
    padding: 5px 15px;
    border: 2px solid rgba(255,255,255,0.95);
    background: rgba(0,0,0,0.5);
    color: white !important;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.moreInfoProjects:hover{
    color: orange !important;
    border-color: orange;
}


/* Projet Pers'pective */
/* Remove link to website button */
.postid-275 .elementor-element-580ee31{
    display: none;
}

/* TESTIMONIALS */

@media all and (max-width:768px){
    .testimonialQuotes{
        font-size: 44px !important;
    }

    .testimonialQuotesEnd{
        font-size: 44px !important;
    }
}

.testimonialQuotes{
    font-size: 64px;
}

.testimonialQuotesEnd{
    font-size: 64px;
    position: absolute;
    padding-top: 20px;
}

/* Affichage logo entreprise */
.section-confiance .elementor-widget-image {
  width: auto !important;
}

.section-confiance .elementor-testimonial__footer {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
  gap: 6px !important;
}

.section-confiance .elementor-testimonial__cite {
  text-align: center !important;
}

.section-confiance img {
  height: 40px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}



.serviceCard:hover {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
}


/* Desaturate partners logos */
.partnersLogos{
    filter: saturate(0);
    -webkit-filter: saturate(0);
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.partnersLogos:hover{
    filter: saturate(1);
    -webkit-filter: saturate(1);
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

/* SERVICE PAGE */
/* Avoid horizontal scroll bar showing up because of negative margins on images */
@media all and (max-width: 1240px){
    .servicesImage .elementor-widget-container{
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* PROJECT PAGE */
/*Back to projects link */
.backToProjectsLink a{
    color: #333333;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.backToProjectsLink a:hover{
    color: #FFBA49
}

/* TARIF & INFOS PAGE*/
.whyFreelance li{
    margin-top: 20px;
}

/* CONTACT PAGE */
/* Avoid horizontal scroll bar showing up because of negative margins on the title */
.contactTitleWide{
    display: block;
}
.contactTitleNarrow{
    display: none;
}

@media all and (max-width: 1280px){
    .contactTitleWide{
        display: none;
    }
    .contactTitleNarrow{
        display: block;
    }
}


/* Email and phone links */
@media all and (max-width: 768px){
    .contactLinks .elementor-widget-container{
       text-align: center;
       margin-left: 0 !important;
    }

    .contactLinks .elementor-widget-container .elementor-icon-box-icon{
        margin-left: -20px !important;
        margin-right: 15px !important;
    }
}

.contactLinks .elementor-icon-box-wrapper{
    all: unset !important;
    align-items: center !important;
    display: inline-flex !important;
}

.contactLinks .elementor-icon-box-wrapper:hover  *{
    color : #FFBA49;
}
.contactLinks *,
.contactLinks:hover .elementor-icon-box-wrapper * {
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

/* Fix to have the "attach file" button displayed on Firefox*/
.elementor-230 .elementor-element.elementor-element-bb83065 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){
    max-width: unset !important;
}

/* Fix to remove red boder on required fields after the form is submited on Firefox */
@-moz-document url-prefix() {
    ::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

    input:required, textarea:required {
        box-shadow: none;
    }
  }

/* FOOTER */
.footerLogo{
    filter: invert(1);
    -webkit-filter: invert(1);
}


.copyrightDesktop{
    display: block;
}

.copyrightMobile{
    display: none;
}

@media all and (max-width: 768px){
    .contactFooter{
        text-align: center;
        display: inline-block !important;
    }

    .copyrightDesktop{
        display: none;
    }

    .copyrightMobile{
        display: block;
        line-height: 1.5;
    }
}


/* COOKIE CONSENT (Moove Agency) */
/* Make cookie consent bar sit on top of store notice & Remove cookie consent bar white top border */
#moove_gdpr_cookie_info_bar{
    z-index: 9999998 !important;
    border: none !important;
}

/* Make the pop up sit on top of sticky menu */
.lity{
    z-index: 9999999 !important;
}

/* Center cookie bar content on mobile */
@media all and (max-width: 768px){
    #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder{
        justify-content: center;
    }

    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content{
        text-align: center !important;
    }
}

/* Hide the "edit cookies consent" button on all pages */
#moove_gdpr_save_popup_settings_button{
    display: none !important;
}

/* Show the "edit cookies consent" button on Privacy Policy page only */
.privacy-policy #moove_gdpr_save_popup_settings_button{
    display: block !important; 
    z-index: 999999999 !important;
}

.privacy-policy  .moove_gdpr_text{
    display: block !important;
    z-index: 999999999 !important;
}

.gdpr-floating-button-custom-position:hover{
    cursor: pointer;
}

/* END COOKIE CONSENT (Moove Agency) */

/* COOKIE CONSENT ( WebToffee) */
/* Cookie Notice bar */
.cookieNoticePrivacyLink{
    color: white;
    text-decoration: underline;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.cookieNoticePrivacyLink:hover{
    color: #1e73be;
}

/* Add transition for hover */
.cli-bar-btn_container .cli-plugin-button{
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.cli-bar-btn_container .cli-plugin-button:hover{
   opacity: 0.7;
}


/* Cookie bar short text */
.cli-style-v2{
    font-size: 13px;
}


/* Privacy Policiy overview */
.cli-privacy-content-text .privacyOverviewLink{
    color: black;
    font-weight: bold;
    text-decoration: underline;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.cli-privacy-content-text .privacyOverviewLink:hover{
    color: #1e73be;
}

/* Close button hover color */
#cliModalClose:hover{
    background-color: #9b9b9b;
}

/* Adjust Cookie table columns display */
table.cookielawinfo-classic td, table.cookielawinfo-classic th{
    vertical-align: middle !important;
}

/* "Gérer mes cookies" button */
#cookie-law-info-again{
    padding: 10px 15px !important;
}

/* Hide the "Gérer mes cookies" button on all pages */
#cookie-law-info-again{
    display: none !important;
}

/* Show the "Gérer mes cookies" button on Privacy Policy page only */
.privacy-policy #cookie-law-info-again{
    display: block !important;
    z-index: 9998 !important;
}

/* Remove cookie bar white box shaddow */
#cookie-law-info-bar{
    box-shadow: none !important;
  }

/* END COOKIE CONSENT (WebToffee) */


/* CGV, CGU */
.cgvCguPages a{
    font-weight: bold;
    color: #382c28;
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}

.cgvCguPages a:hover{
    color: #182F30;
}

/* CGV */
.cgvCguPages h2{
    font-size: 30px;
    margin: 70px 0 20px 0;
}

.cgvCguPages h3{
    font-size: 20px;
    margin: 40px 0 10px 0;
}

html,
body {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
}

.sticky-header.elementor-sticky--active {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  z-index: 999999 !important;
}