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

html,body {
    overflow-x: hidden!important
}

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

a:focus-visible {
    outline: none!important
}

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

.inherit a {
    color: inherit!important
}

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

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

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

.cta a::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0
}

.pointer:hover {
    cursor: pointer
}

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

    .nobr br {
        display: none
    }
}
.opacity0{
    opacity: 0 !important;
}
.smaller{
	font-size: calc(100%*0.8);
}
/*----------------------------------------BORDER ANIMATIONS----------------------------------------*/

.cta::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 5px;
    border: 1.5px solid #E07A5F;
    z-index: -1;
    transition: all 0.4s ease;
}
.cta:hover::after{
    top: 6px;
    left: 6px;
    transition: all 0.4s ease;
}
.border-hover-left::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 18px;
    left: -18px;
    border-radius: inherit;
    border: 1.5px solid #E07A5F;
    z-index: -1;
    transition: all 0.4s ease;
}
.border-hover-left:hover::after{
    top: 18px;
    left: 18px;
    transition: all 0.4s ease;
}
.border-hover-right::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 18px;
    left: 18px;
    border-radius: inherit;
    border: 1.5px solid #E07A5F;
    z-index: -1;
    transition: all 0.4s ease;
}
.border-hover-right:hover::after{
    top: 18px;
    left: -18px;
    transition: all 0.4s ease;
}
.border-hover-alt::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: inherit;
    border: 1.5px solid #E07A5F;
    z-index: -1;
    transition: all 0.4s ease;
}
.border-hover-alt:hover::after{
    top: 10px;
    left: 10px;
    transition: all 0.4s ease;
}
@media (max-width:768px){
    .border-hover-left::after{
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 10px;
        left: -10px;
        border-radius: inherit;
        border: 1.5ppx solid #E07A5F;
        z-index: -1;
        transition: all 0.4s ease;
    }
    .border-hover-left:hover::after{
        top: 10px;
        left: 10px;
        transition: all 0.4s ease;
    }
    .border-hover-right::after{
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 10px;
        left: 10px;
        border-radius: inherit;
        border: 1.5ppx solid #E07A5F;
        z-index: -1;
        transition: all 0.4s ease;
    }
    .border-hover-right:hover::after{
        top: 10px;
        left: -10px;
        transition: all 0.4s ease;
    }
}
/*----------------------------------------HEADER----------------------------------------*/
header{
	position: absolute;
	width: 100%;
	z-index: 99;
}
.stickyheadersection {
	transition: background-color .4s ease;
}

.elementor-sticky--effects.stickyheadersection {
	background-color: #1F1F35!important; /* Background color when sticky */
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}
@media (min-width:768px){
	.stickyheadersection .logo img{
		--logo-width: 225px; /* This should be the original logo height *before* being shrunk */
		--logo-shrink-to: 0.80; /* Shrinks logo to 80%, values: 0.10 to 1.00, where 1.00, as in 100%, won't shrink the logo */
		width: var(--logo-width);
		--transition-timing: .45s cubic-bezier(.4, 0, .2, 1);
		transition: width var(--transition-timing);
	}
	.stickyheadersection.elementor-sticky--effects .logo img{
		width: calc(var(--logo-width) * var(--logo-shrink-to));
	}
}
.orange a:hover{
    color: var( --e-global-color-accent ) !important;
}

/*----------------------------------------HOMEPAGE----------------------------------------*/

video.home-video {
    object-fit: cover;
    mask: url(/wp-content/uploads/2024/09/masque-video.svg);
    width: 145%;
    max-width: unset;
    mask-size: contain;
}
path#letter-video{
    vector-effect: non-scaling-stroke !important;
}
.slider-services .swiper-slide:not(.swiper-slide-active) .elementor-heading-title, .slider-services .swiper-slide:not(.swiper-slide-active) p,.slider-services .swiper-slide:not(.swiper-slide-active) a{
    color:#22223B33 !important;
    text-decoration: none !important;
}
.slider-services .swiper-slide:not(.swiper-slide-active) span.elementor-divider-separator{
    --divider-color: #22223B33 !important;
}
.slider-services .swiper-slide-active svg path.orange-fill{
    fill: #E07A5F !important;
}
.slider-services .swiper-slide-active svg path.stroke-fill{
    stroke: #E07A5F !important; 
}
.slider-services .swiper-slide:not(.swiper-slide-active) svg path.orange-fill{
    fill: #22223B33 !important;
}
.slider-services .swiper-slide:not(.swiper-slide-active) svg path.stroke-fill{
    stroke: #22223B33 !important;
}
.slider-services .swiper-slide-active a{
    text-decoration:underline !important;
}
.slider-services .swiper-slide *{
    transition: all 0.4s ease;
}
.slider-valeurs .e-n-carousel>.swiper-wrapper>.swiper-slide {
    width: fit-content !important;
}
.slider-valeurs .swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important; 
}
.swiper-slide .elementor-heading-title{
	transition: color 0.2s ease;
}
.swiper-slide:hover .elementor-heading-title{
	transition: color 0.2s ease;
	color: #E07A5F !important;
}
/*----------------------------------------CAPTCHA HIDE----------------------------------------*/

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

/*----------------------------------------SCROLLBAR----------------------------------------*/

::-webkit-scrollbar-thumb {
    background-color: #E07A5F !important;
    border-radius: 20px;
    border: 3px solid #E07A5F !important;
}

::-webkit-scrollbar-track {
    background: #F2E9E4!important;
}
::selection {
    background: #E07A5F !important;
    color: #fff !important;
}
/*----------------------------------------TEXT ANIMATIONS----------------------------------------*/
.title-appear *{
    overflow: hidden;
}
.title-appear .elementor-heading-title div{
    margin-bottom: -11px;
    padding-bottom: 2px;
}
@media (max-width:768px){
    .title-appear .elementor-heading-title div{
        margin-bottom: -7px;
    }
}
/*----------------------------------------PAGE SERVICES----------------------------------------*/


.services li{
	margin-bottom:8px !important
}

/*-------------------------------------PAGE CONTACT------------------------------------*/
.height100 .elementor-custom-embed{
    height: 100% !important;
}
/*----------------------------------------SCROLLBAR AND SELECTION----------------------------------------*/

::-webkit-scrollbar {
	width: 8px;
}
::-webkit-scrollbar-track {
	background: #22223B;
}
::-webkit-scrollbar-thumb {
	background-color: #22223B;
	border-radius: 20px;
	border: 3px solid #22223B;
}
::selection {
    background: #22223B;
    color: #F2E9E4 !important;
}
/*-------------------------------------PAGE TARIFS------------------------------------*/
.tarifs a{
	color: #E07A5F;
}
.tarifs p{
	margin-bottom: 12px !important;
}
.tarifs ol li{
	font-size: calc(100%*1.2)!important;
}
.tarifs table td, .tarifs table th {
    vertical-align: middle !important;
    border: 1px solid hsla(0, 0%, 50.2%, .5019607843);
}
/*-------------------------------------CURSOR TRACKER------------------------------------*/
.circle-cursor {
	position: fixed;
	background-color:#E07A5F !important; //COULEUR DU PETIT CURSEUR
	width: 15px;
	height: 15px;
	left: -10px;
	top: -10px;
	border-radius: 100%;
	z-index: 10001;
	transform: scale(1);
}

.circle-follow {
	position: fixed;
	background-color: #E07A5F; //COULEUR DU GROS CURSEUR
	width: 15px;
	height: 15px;
	left: -21px;
	top: -21px;
	border-radius: 100%;
	user-select: none;
	pointer-events: none;
	z-index: 10000;
	transform: scale(1);
	mix-blend-mode: difference;
}
/*-------------------------------------WPML------------------------------------*/
.wpml-ls-legacy-dropdown a, .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a, .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    border-width: 0px;
}
.otgs-development-site-front-end{
	display:none !important;
}