/*
Theme Name:   Hello Elementor Child
Theme URI:    https://elementor.com/hello-theme/
Description:  A lightweight child theme of Hello Elementor
Author:       emma42 - Issam : Dev Tem 
Author URI:   https://emma42.com
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

@import url("../hello-elementor/style.css");  


@font-face {
	font-family: 'Cormorant Garamond';
	src: url('fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.ttf') format('truetype'); 
	font-style: normal;
	font-display: swap; 
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 300;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Light.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Light.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Light.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 300;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-LightIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-LightIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-LightIt.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 400;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Regular.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Regular.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Regular.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 400;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-RegularIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-RegularIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-RegularIt.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 600;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Semibold.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Semibold.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Semibold.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 600;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-SemiboldIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-SemiboldIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-SemiboldIt.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 700;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Bold.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Bold.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Bold.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 700;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-BoldIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-BoldIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-BoldIt.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 900;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Black.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Black.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Black.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 900;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-BlackIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-BlackIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-BlackIt.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 950;
	font-style  : normal;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-Ultra.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-Ultra.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-Ultra.otf')   format('opentype');
}

@font-face {
	font-family : 'BentonModDisp';
	font-weight : 950;
	font-style  : italic;
	font-display: swap;
	src: url('fonts/beton/BentonModDisp-UltraIt.woff2') format('woff2'),
		url('fonts/beton/BentonModDisp-UltraIt.woff')  format('woff'),
		url('fonts/beton/BentonModDisp-UltraIt.otf')   format('opentype');
}

@font-face {
	font-family : 'oldmoney';  
	font-display: swap;
	src: url('fonts/old-money/OldMoney-Script.woff2') format('woff2'),
		url('fonts/old-money/OldMoney-Script.woff')  format('woff'),
		url('fonts/old-money/OldMoney-Script.otf')   format('opentype');
}
@font-face {
	font-family : 'oldmoney'; 
	font-style  : italic;
	font-display: swap;
	src: url('fonts/old-money/OldMoney-Italic.woff2') format('woff2'),
		url('fonts/old-money/OldMoney-Italic.woff')  format('woff'),
		url('fonts/old-money/OldMoney-Italic.otf')   format('opentype');
}

/* End Cusom FOnt */

/* width web site */
:root{
	--width-global: 90%;
}

/* tablet */
@media (min-width:768px){
	:root{
		--width-global: 85%;
	}
}

/* laptop */
@media (min-width:1024px){
	:root{
		--width-global: 95%;
	}
}

/* desktop */
@media (min-width:1280px){
	:root{
		--width-global: 90%;
	}
}

/* large desktop */
@media (min-width:1440px){
	:root{
		--width-global: 90%;
	}
}

@media (min-width:2400px){
	:root{
		--width-global: 50%;
	}
}
:root {

	--padding-width-global: 0;
	--padding-left-global : 0px;
	--padding-right-global : 0px;
	--header-height: 114px;

	/* Brand Colors */
	--color-black: #0B0C0D;
	--color-gray: #4E4E4E;
	--color-white: #FFFFFF;
	--color-gray2:rgba(255, 255, 255, 0.50);	 
	--color-gray3: #6D6D6D;	 
	--color-gray4 :#808080;
	--color-brown :#AA9B92;
	

	/* Typography */
	--font-family-base: 'Cormorant Garamond', sans-serif;  
	--font-family-ben: 'BentonModDisp', sans-serif;  
	--font-family-old: 'oldmoney', sans-serif;  

	--font-size-12: 12px;
	--font-size-13: 13px;
	--font-size-14: 14px;
	--font-size-15: 15px;
	--font-size-16: 16px;
	--font-size-17: 17px;
	--font-size-18: 18px;
	--font-size-19: 19px; 
	--font-size-20: 20px;
	--font-size-21: 21px;
	--font-size-22: 22px;
	--font-size-23: 23px;
	--font-size-24: 24px;
	--font-size-25: 25px;
	--font-size-26: 26px;
	--font-size-27: 27px;
	--font-size-28: 28px;
	--font-size-29: 29px;
	--font-size-30: 30px;
	--font-size-31: 31px;
	--font-size-32: 32px; 
	--font-size-33: 33px;
	--font-size-34: 34px;
	--font-size-35: 35px;
	--font-size-36: 36px;
	--font-size-37: 37px;
	--font-size-38: 38px;
	--font-size-39: 39px; 
	--font-size-40: 40px;
	--font-size-41: 41px;
	--font-size-42: 42px;
	--font-size-43: 43px;	
	--font-size-54: 54px;
	--font-size-60: 60px;

	/* heading */
	--font-size-xl : var(--font-size-54);
	--font-size-l : var(--font-size-34);
	--font-size-m : var(--font-size-28);
	--font-size-s : var(--font-size-20);
	--font-size-xs : var(--font-size-18);
	--font-size-xss : var(--font-size-14);

	/* Font weight*/
	--f-w-300 : 300;
	--f-w-400 : 400;
	--f-w-500 : 500;
	--f-w-600 : 600;
	--f-w-700 : 700; 
	--f-w-900 : 900; 
	--f-w-950 : 950; 
}

/* For Mobile */
@media (max-width: 768px) {

	:root { 
		--width-global: 100%;
		--padding-width-global: 0 15px 0 15px;		
		--padding-left-global : 15px;
		--padding-right-global : 15px;
		--header-height: 114px;

		/* heading */
		--font-size-xl : var(--font-size-32);
		--font-size-l : var(--font-size-28);
		--font-size-m : var(--font-size-22);
		--font-size-s : var(--font-size-18);
		--font-size-xs : var(--font-size-14);
		--font-size-xss : var(--font-size-12);
	}
}

/* New Style : Heading */
.gwidth .e-con-inner  {
	width: var(--width-global) !important;	
	max-width: var(--width-global) !important;	 
	padding-left:var(--padding-left-global) !important;
	padding-right:var(--padding-right-global) !important;
}
header .gwidth.sm-size-menu__menu  {
	width: var(--width-global) !important;	
	margin: 0 auto;
}
.blanc .sm-size-menu-wrapper.icon-open-close{
	background-color: var(--color-white);
	padding: 0px 7px 0px 15px;
}
.noir .sm-size-menu-wrapper.icon-open-close{
	background-color: var(--color-black);
	padding: 0px 7px 0px 15px;
	border-radius: 2px;
}
/* font family */

.cor,.cor a,.cor div,.cor p,.cor span,.cor :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-base) !important;}
.ben, .ben a,.ben div,.ben p,.ben span,.ben :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-ben) !important;}
.old, .old a,.old div,.old p,.old span,.old :is(h1, h2, h3, h4, h5, h6){ font-family: var(--font-family-old) !important;}

/* Font Weight*/
.f300,.f300 a,.f300 p,.f300 span,.f300 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-300)!important;}
.f400,.f400 a,.f400 p,.f400 span,.f400 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-400)!important;}
.f500,.f500 a,.f500 p,.f500 span,.f500 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-500)!important;}
.f600,.f600 a,.f600 p,.f600 span,.f600 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-600) !important;}
.f700,.f700 a,.f700 p,.f700 span,.f700 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-700)!important;}
.f900,.f900 a,.f900 p,.f900 span,.f900 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-900)!important;}
.f950,.f950 a,.f950 p,.f950 span,.f950 :is(h1, h2, h3, h4, h5, h6){font-weight:var(--f-w-950)!important;}


/* Italic*/
.italic {
	font-style:italic !important;
}

/*Heading font size */
.heading.xl :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xl) !important;}
.heading.l :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-l) !important;}
.heading.m :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-m) !important;}
.heading.s :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-s) !important;}
.heading.xs :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xs) !important;}
.heading.xss :is(h1, h2, h3, h4, h5, h6){font-size:var(--font-size-xss) !important;}


/*txt font size */
.txt.xl :is(h1, h2, h3, h4, h5, h6), .txt.xl div, .txt.xl p, .txt.xl span,.txt.xl a{font-size:var(--font-size-xl) !important;}
.txt.l :is(h1, h2, h3, h4, h5, h6), .txt.l div, .txt.l p, .txt.l span,.txt.l a{font-size:var(--font-size-l) !important;}
.txt.m :is(h1, h2, h3, h4, h5, h6), .txt.m div, .txt.m p, .txt.m span,.txt.m a{font-size:var(--font-size-m) !important;}
.txt.s :is(h1, h2, h3, h4, h5, h6), .txt.s div, .txt.s p, .txt.s span,.txt.s a{font-size:var(--font-size-s) !important;}
.txt.xs :is(h1, h2, h3, h4, h5, h6), .txt.xs div, .txt.xs p, .txt.xs span,.txt.xs a{font-size:var(--font-size-xs) !important;}
.txt.xss :is(h1, h2, h3, h4, h5, h6), .txt.xss div, .txt.xss p, .txt.xss span,.txt.xss a{font-size:var(--font-size-xss) !important;}

/*Upercase*/
.upc{
	text-transform:uppercase !important;
}

.black :is(h1, h2, h3, h4, h5, h6),
.black a,
.black span,
.black p,
.black{
	color: var(--color-black) !important;
}  
.gray :is(h1, h2, h3, h4, h5, h6),
.gray a,
.gray span,
.gray p,
.gray{
	color: var(--color-gray) !important;
} 
.gray2 :is(h1, h2, h3, h4, h5, h6),
.gray2 a,
.gray2 span,
.gray2 p,
.gray2{
	color: var(--color-gray2) !important;
} 
.gray3 :is(h1, h2, h3, h4, h5, h6),
.gray3 a,
.gray3 span,
.gray3 p,
.gray3{
	color: var(--color-gray3) !important;
} 
.gray4 :is(h1, h2, h3, h4, h5, h6),
.gray4 a,
.gray4 span,
.gray4 p,
.gray4{
	color: var(--color-gray4) !important;
} 
.brown :is(h1, h2, h3, h4, h5, h6),
.brown a,
.brown span,
.brown p,
.brown{
	color: var(--color-brown) !important;
} 
.white :is(h1, h2, h3, h4, h5, h6),
.white a,
.white span,
.white p,
.white{
	color: var(--color-white) !important;
}  

/* Bg */
.bgblack{	background-color: var(--color-black) !important;}
.bgwhite{	background-color: var(--color-white) !important;}

/**** Link ****/


.underline a{
	text-decoration:underline !important;
}
.link nav{
	margin:0 !important;
}
.link a,
.linkc a{
	overflow: hidden; 
	width: max-content;  
	margin:0  !important; 
}
.link a span{
	border-bottom:1px solid #808080;
}
body.noir .linkc {	border-bottom:1px solid var(--color-black);}
body.blanc .linkc {	border-bottom:1px solid var(--color-white);}
.link a { 
	padding:4.5px 16px 0 0 !important; 
} 
body.noir .link a {color: var(--color-black) !important;}
body.blanc .link a {color: var(--color-white) !important;}

body.noir .linkc a {color: var(--color-black) !important;}
body.blanc .linkc a {color: var(--color-white) !important;}

body.noir .linkl a {color: var(--color-black) !important;}
body.blanc .linkl a {color: var(--color-white) !important;}

body.noir header svg path{ fill: var(--color-black) !important;}

body.blanc.openmenu .link a {color: var(--color-black) !important;}
body.noir.openmenu header svg path{ fill: var(--color-white) !important;}

body.blanc header svg path{ fill: var(--color-white) !important;}
.link a:hover {text-decoration:none;}
.link a:after {
	content: '';
	width: 30%;
	height: 100%;
	position: absolute;
	left: auto;
	top: 0;
	bottom: 0;
	right: -20%;
	background: none !important;

}
.gray .link a:after {background-image: linear-gradient(135deg, rgba(255, 255, 255, 0), var(--color-gray), rgba(255, 255, 255, 0));}
.black .link a:after {background-image: linear-gradient(135deg, rgba(255, 255, 255, 0), var(--color-black), rgba(255, 255, 255, 0));}
.white .link a:after {background-image: linear-gradient(135deg, rgba(255, 255, 255, 0), var(--color-white), rgba(255, 255, 255, 0));}

.link a:hover:after {
	transition: all .6s ease-out;
	right: 100%;
	background: none !important;
}
.elementor-counter-number-wrapper{
	position:relative;
}
.link nav .has-submenu .sub-arrow svg{
	display:none;
}
.link nav .has-submenu .sub-arrow:after{
	content: '';
	width: 10px;
	height: 10px;
	background-image:url(/wp-content/uploads/2025/12/plus.svg);
	background-repeat:no-repeat;
	background-position:center;
}
.link nav .has-submenu.highlighted .sub-arrow:after{
	content: '';
	background-image:url(/wp-content/uploads/2025/12/minus-1.svg);
}
/* close btn */
.close-btn{
	display:none;
}
.menu-btn.bclose{
	display:none !important;
}
.logotop.bclose{
	position: absolute;
	top:37px;
	left:calc((100% - var(--width-global))/2);
	justify-content:left;
} 
/* dropdown menu */ 
.scrollbar {
	max-height: 100vh;
	overflow-y: auto !important; overflow-x: hidden !important;}
.scrollbar::-webkit-scrollbar {
	width: 6px;
}

.scrollbar::-webkit-scrollbar-track {
	background: transparent;
}

.scrollbar::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.4);
	border-radius: 10px;
}

.scrollbar::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.7);
}

/* header menu */
.site-header {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	transform: translateY(0%); 
	transition:
	transform 0.35s ease,
	background-color 0.15s ease,
	backdrop-filter 0.15s ease; 
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.site-header {
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

.site-header svg path {
    transition: fill 0.4s ease;
}

.site-header.white-menu {
    background-color: var(--color-white);
}

.site-header.white-menu svg path {
    fill: var(--color-black) !important;
}
/*
.site-header.header-visible.header-top{ 
	background: none; 
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.site-header.header-visible {
	transform: translateY(0);
}*/

/*Lang select */
.lang-select .elementor-nav-menu .sub-arrow .e-font-icon-svg.fa-svg-chevron-down{
	height: .5em !important;
	fill: var(--color-white) !important;
}
.site-header.white-menu .lang-select .elementor-nav-menu .sub-arrow .e-font-icon-svg.fa-svg-chevron-down{
	fill: var(--color-black) !important;
}
.lang-select .elementor-widget-nav-menu .elementor-nav-menu--main a{
	color:var(--color-white) !important;
}
.site-header.white-menu .lang-select .elementor-widget-nav-menu .elementor-nav-menu--main a{
	color:var(--color-black) !important;
}
.lang-select .elementor-widget-nav-menu .elementor-nav-menu--main a:after{
	background-color: var(--color-white) !important;
}
.site-header.white-menu .lang-select .elementor-widget-nav-menu .elementor-nav-menu--main a:after{
	background-color: var(--color-black) !important;
}

/*List Full*/
.l-full .elementor-icon-list-item a{	
	justify-content: space-between !important; 
	width: 100%;
}
.l-full ul {
	counter-reset: emma-counter;
}

.l-full ul li {
	list-style: none;
	counter-increment: emma-counter;
	position: relative;
	padding-left: 32px;
}

.l-full ul li::before {
	content: counter(emma-counter, decimal-leading-zero);
	position: absolute;
	left: 0; 
	color: var(--color-white);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}
.l-full ul li:hover::before {
	animation: iconSlideUpDown 0.4s ease forwards;
}
.l-full .elementor-icon-list-text{
	padding-inline-start: 30px !important;
}
.l-full ul li:hover a .elementor-icon-list-text,
a:hover .elementor-icon-list-text,
a:hover {
	color: var(--color-gray3) !important;
}

/*** Texte ***/ 
.txt b,
.txt strong{
	font-weight: var(--f-w-600) !important;
}

/* Btn */ 

.btnscroll a.elementor-button:after{
	content:'';
	position: absolute;	
	width: 60px;
	height:28.27px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	bottom: 20px;
	left:-50%;
	
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;  
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

.btnscroll  a.elementor-button.downarrow:after,
.btnscroll  a.elementor-button.downup:after{
-webkit-mask-image: url(/wp-content/uploads/2026/07/arrow-down-1.svg);
	mask-image: url(/wp-content/uploads/2026/07/arrow-down-1.svg);
	 transition: transform .3s ease-in-out; 
}
.btnscroll  a.elementor-button.downup:after{ 
	transform:rotate(180deg);
}


.btnscroll.white  a.elementor-button.downarrow:after{background-color: #fff; }
.btnscroll.white  a.elementor-button.downup:after{background-color: #fff; }
.btnscroll.black  a.elementor-button.downarrow:after{background-color: #000; }
.btnscroll.black  a.elementor-button.downup:after{background-color: #000; }

.btnscroll .elementor-button-text {
    text-indent: -99999px;
}

.btnscroll a.elementor-button.downarrow,
.btnscroll  a.elementor-button.downup{
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

.btn .elementor-button { 
	background-color: transparent !important;
} 

.btn.whitesplit{ 
	border-bottom: none;

	background: linear-gradient(
		to right,
		#FFFFFF 40%,
		transparent 100%
	) bottom left / 40% 1px no-repeat !important;
	transition: background-size 0.3s ease;
}

.btn.blacksplit{ 
	border-bottom: none;

	background: linear-gradient(
		to right,
		var(--color-gray3) 40%,
		transparent 100%
	) bottom left / 40% 1px no-repeat !important;
	transition: background-size 0.3s ease;
}
.btn.whitesplit:hover,
.btn.blacksplit:hover{
	background-size: 100% 1px !important;
	transition: background-size 0.3s ease;
}
.btn.black a span{
	color:var(--color-black) !important;
}
.btn.white a span{ 
	color:var(--color-white) !important;
}
.btn.black .elementor-button-icon svg path{fill:var(--color-black) !important;}
.btn.white .elementor-button-icon svg path{fill:var(--color-white) !important;}
.btn .elementor-button-icon svg{
	width: 21px;
	height: 9px;
}
.btn .elementor-button-icon svg, 
.footer .elementor-icon-list-icon svg{
	display: inline-block;
	transition: transform 0.2s ease;
}

.btn .elementor-button:hover .elementor-button-icon svg,
.icon-anim .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.footer .elementor-icon-list-item:hover .elementor-icon-list-icon svg{
	animation: iconSlideUpDown 0.4s ease forwards;
}

.icon-anim.s-between a{
	width: 100%; 
	justify-content: space-between !important;
}


.animebtn a::before, .animebtn a::after{
	content:"";
	width: 0;
	height: 2px;
	position: absolute;
	transition: all 0.2s linear;
	background: #00000042;
}

.animebtn a span::before, .animebtn a span::after{
	content:"";
	width:2px;
	height:0;
	position: absolute;
	transition: all 0.2s linear;
	background: #00000042;
}
.animebtn a:hover::before, .animebtn a:hover::after{
	width: 100%;
}
.animebtn a:hover span::before, .animebtn a:hover span::after{
	height: 100%;
}
.animebtn a::before, .animebtn a::after{
	transition-delay: 0s;
}
.animebtn a span::before, .animebtn a span::after{
	transition-delay: 0.2s;
}
.animebtn a::before{
	right: 0;
	top: 0;
}
.animebtn a::after{
	left: 0;
	bottom: 0;
}
.animebtn a span::before{
	left: 0;
	top: 0;
}
.animebtn a span::after{
	right: 0;
	bottom: 0;
}
.animebtn a:hover::before, .animebtn a:hover::after{
	transition-delay: 0.2s;
}
.animebtn a:hover span::before, .animebtn a:hover span::after{
	transition-delay: 0s;
}


/* datepicker forminator */
div.ui-datepicker.forminator-calendar--material{
	border: 1px solid #000;
	border-radius: 10px;
	background-color: #f6f7f7 !important;
}
div.ui-datepicker.forminator-calendar--material .ui-datepicker-calendar tbody tr td a{	
	border-color: #666;
	color: #000;
}
.formulaire span.forminator-icon-calendar{
	order:2;
	margin-right:0px !important;
}
.formulaire textarea{
	border-bottom: 1px solid #000 !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
}
.formulaire .forminator-row-last {
	text-align: center !important;
}
/*btn formitaor*/
button.btn.forminator-button-submit{
	padding-right:40px !important;
}
button.btn span:not([aria-hidden]):after{
	content:"";	
	width: 10px;
	height: 9px;
	background-image:url(/wp-content/uploads/2026/03/Polygon.svg);
	background-repeat:no-repeat;
	background-position:center;
	position: absolute;
	margin-left: 20px;
	top: 7px;
	transition: transform 0.2s ease;
}
button.btn.bgwhite span:not([aria-hidden]):after{background-image:url(/wp-content/uploads/2026/03/Polygon-b.svg)!important; }
button.btn.bgblack span:not([aria-hidden]):after{background-image:url(/wp-content/uploads/2026/03/Polygon.svg)!important; }
button.btn:hover span:not([aria-hidden]):after{
	animation: iconSlideUpDown 0.4s ease forwards;
}
.animarrow:after,
.animarrow li a:after{
	content:"";	
	width: 10px;
	height: 6px;
	background-image:url(/wp-content/uploads/2026/04/arrowanim.svg);
	background-repeat:no-repeat;
	background-position:center;
	position: absolute;
	margin-left: 20px;
	top: 2px;
	transition: transform 0.2s ease;
}
.animarrow:hover:after,
.animarrow li a:hover:after{
	animation: iconSlideUpDown 0.4s ease forwards;
}

.zoom {
	position: relative;
	overflow: hidden;
}


/*/  Swiper Arrows next- Prev : Top/Bottom Left/Right */

.swiper-news-3 .swiper-wrapper{	
	margin-left: calc(100% - (100% / 1.13));
}


.nav-arrows div.elementor-swiper-button-prev svg,
.nav-arrows div.elementor-swiper-button-next svg{
	display:none;
}
.nav-arrows div.elementor-swiper-button-prev,
.nav-arrows div.elementor-swiper-button-next{
	width:31px;
	height:31px;	
	justify-content: center;
	flex-direction: column;
}  
.nav-arrows div.elementor-swiper-button-next:after,
.nav-arrows div.elementor-swiper-button-prev:after{
	content: '';
	position: absolute;
	width: 14px;
	height: 8px; 
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;  
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
.nav-arrows.arrowblack div.elementor-swiper-button-next:after,
.nav-arrows.arrowblack div.elementor-swiper-button-prev:after{	
	background-color: #000;  
}
.nav-arrows.arrowwhite div.elementor-swiper-button-next:after,
.nav-arrows.arrowwhite div.elementor-swiper-button-prev:after{	
	background-color: #fff;  
}
.nav-arrows div.elementor-swiper-button-next:after{
	right: 8px;
	-webkit-mask-image: url(/wp-content/uploads/2026/04/navarrows.png);
	mask-image: url(/wp-content/uploads/2026/04/navarrows.png);
}
.nav-arrows div.elementor-swiper-button-prev:after{
	left: 8px;
	-webkit-mask-image: url(wp-content/uploads/2026/04/navarrows.png);
	mask-image: url(/wp-content/uploads/2026/04/navarrows.png);
	transform:rotate(180deg);
}
/*/ Arrows top 40 */ 
.nav-arrows.right div.elementor-swiper-button-prev{	
	right: 45px !important;
	left: auto;
}
/*/ Arrows top 40 */ 
.nav-arrows.top40 div.elementor-swiper-button-prev,
.nav-arrows.top40 div.elementor-swiper-button-next{
	top:-40px !important;
}
/*/ Arrows top 80 */ 
.nav-arrows.top80 div.elementor-swiper-button-prev,
.nav-arrows.top80 div.elementor-swiper-button-next{
	top:-80px !important;
}
/*Arrows - border  */
.nav-arrows.borderwhite div.elementor-swiper-button-prev,
.nav-arrows.borderwhite div.elementor-swiper-button-next{
	border :1px solid var(--color-white);
}
.nav-arrows.borderblack div.elementor-swiper-button-prev,
.nav-arrows.borderblack div.elementor-swiper-button-next{
	border :1px solid var(--color-black);
}

.nav-arrows.borderwhite div.elementor-swiper-button-prev:hover,
.nav-arrows.borderwhite div.elementor-swiper-button-next:hover{
	border :1px solid #ffffff9c;
}
.nav-arrows.borderblack div.elementor-swiper-button-prev:hover,
.nav-arrows.borderblack div.elementor-swiper-button-next:hover{
	border :1px solid #121417e0;
}

/*Arrows - right */
.nav-arrows.left div.elementor-swiper-button-prev {
	left:calc((100% - var(--width-global)) / 2) !important;
}

.nav-arrows.left div.elementor-swiper-button-next{
	left:calc((100% - (var(--width-global) - 45px)) / 2) !important;
	right:auto !important;	border: 1px solid #84906B !important;
}

.nav-arrows.right div.elementor-swiper-button-prev {
	right:calc(( 100% - (var(--width-global) - 80px)) / 2) !important;
	left: auto !important;border: 1px solid #84906B !important;
}

.nav-arrows.right div.elementor-swiper-button-next{
	right:calc(( 100% - var(--width-global)) / 2) !important;
	left:auto !important;	border: 1px solid #84906B !important;
}
.nav-arrows.right .swiper-wrapper { 
	/*   padding-left: calc((100% - var(--width-global)) / 2);*/
}
/*pagination top right*/
.nav-arrows .swiper-pagination{
	left: 0% !important;
	bottom: -45px !important;
	width: 73% !important;
	position: absolute;
	top: auto !important;

}  
.nav-arrows.black div.elementor-swiper-button-next:after, .nav-arrows div.elementor-swiper-button-prev:after{
	background-color: #000;
}
.nav-arrows.white div.elementor-swiper-button-next:after, .nav-arrows div.elementor-swiper-button-prev:after{
	background-color: #fff;
}
.nav-arrows.black .elementor-widget-n-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background:#000 !important;
}
.nav-arrows.white .elementor-widget-n-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background:#fff !important;
}

/*----------------          Loading page           ------------*/

.typed {
	color: #FFF; 
	font-size: 72px;
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
}
.txt.two span{
	font-weight: 600;
}
.footer span.elementor-icon-list-text {
	margin-right: 6px;
}
.hover-preview {
	text-align: center;
	margin: 10px 0;
	position: absolute;
	right:0;
	z-index: 9999999
}

.hover-preview img {
	max-width: 200px; 
	width: 200px; 
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	transition: transform 0.3s ease;
	margin-top:2px;
}

.hover-preview img:hover {
	transform: scale(1.05);
}
.caret {
	display: inline-block;
	width: 3px;           
	height: 80px;         
	background: #ffffff;
	vertical-align: bottom;
	margin-left: 5px;
	animation: blink 1s step-start infinite;
}
nav.elementor-pagination a.page-numbers{
	color: #FFF !important; 
	font-size: 22px;
	font-weight: 500;
}
.elementor-pagination span.page-numbers.current{
	color: #ffffff69 !important; 
	font-size: 22px !important;
	font-weight: 500;
}
/** gallerie */

.portfolio-gallery {
	display: flex;
	flex-direction: column;
	gap: 30px;
} 
/* List */
.listlink span:first-child{
	order:1;
}
.m-list span i { 
	color:var(--color-gray2);
	font-size: 22px;
	font-style: normal;
	font-weight: 500;
}
.m-list span b {
	width: 30%;
}
.m-list span.elementor-icon-list-text{
	display: flex;
	justify-content: flex-start;
	width: 100%;
}
@media (max-width: 900px) {
	.typed {
		font-size: 42px;
	}
	.caret {
		height:46px;
	}
	.hover-preview img {
		max-width: 150px; 
		width: 150px;  
	}
	label.close-btn{
		display:inline;
	}
	label.menu-btn.bclose{
		display:inline !important;		
		margin-left: -35px;
	}
	.logotop.bclose{
		position: absolute;
		top:37px;
		left:calc((100% - var(--width-global))/2);
		justify-content:left;
	} 
}

/*----------------         keyframes           ------------*/

@keyframes blink {
	0%, 50%, 100% { opacity: 1; }
	25%, 75% { opacity: 0; }
}


@keyframes iconSlideUpDown {
	0% {
		transform: translateX(0);
		opacity: 1;
	}
	40% {
		transform: translateX(100%);
		opacity: 0;
	}
	60% {
		transform: translateX(-100%);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

/* =========================
Animation (non-polygon)
========================= */
.a-line-mask span,
.a-line-mask a span,
.a-line-mask :is(h1, h2, h3, h4, h5, h6) {
	opacity: 0;
	transform: translateX(0) translateY(30px);
	transition: opacity .7s ease, transform 1.2s ease !important;
}
/*Is not in view */
.fade.is-not-inview{
	opacity:0;
	transition: opacity 1s ease !important;
}
.fade.is-inview{
	opacity:1;
	transition: opacity 1s ease !important;
}
/* In view: a-0 */
.is-inview.a-line-mask .a-0 span,
.is-inview.a-line-mask .a-0 a span,
.is-inview.a-line-mask .a-0 :is(h1, h2, h3, h4, h5, h6) {
	transform: translateY(0px);
	transition: opacity 1s ease, transform 2s ease !important;
	opacity: 1;
}

/* In view: a-1 */
.is-inview.a-line-mask .a-1 span,
.is-inview.a-line-mask .a-1 a span,
.is-inview.a-line-mask .a-1 :is(h1, h2, h3, h4, h5, h6) {
	transform: translateY(0px);
	transition: opacity 2s ease, transform 2s ease !important;
	opacity: 1;
}

/* =========================
Polygon
========================= */
.a-line-mask.polygon span,
.a-line-mask.polygon div,
.a-line-mask.polygon a span,
.a-line-mask.polygon :is(h1, h2, h3, h4, h5, h6) {
	opacity: 0;
	transform: translateY(30px);

	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	-webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);

	transition: opacity .7s ease, transform 1.2s ease, clip-path 1s ease !important;
}

/* left */
.a-line-mask.polygon.l-polygon span,
.a-line-mask.polygon.l-polygon div,
.a-line-mask.polygon.l-polygon a span,
.a-line-mask.polygon.l-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	-webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

/* right */
.a-line-mask.polygon.r-polygon span,
.a-line-mask.polygon.r-polygon div,
.a-line-mask.polygon.r-polygon a span,
.a-line-mask.polygon.r-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	-webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}

/* bottom */
.a-line-mask.polygon.b-polygon span,
.a-line-mask.polygon.b-polygon div,
.a-line-mask.polygon.b-polygon a span,
.a-line-mask.polygon.b-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
	-webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

/* top */
.a-line-mask.polygon.t-polygon span,
.a-line-mask.polygon.t-polygon div,
.a-line-mask.polygon.t-polygon a span,
.a-line-mask.polygon.t-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

/* left-top */
.a-line-mask.polygon.l-t-polygon span,
.a-line-mask.polygon.l-t-polygon div,
.a-line-mask.polygon.l-t-polygon a span,
.a-line-mask.polygon.l-t-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
}

/* left-bottom */
.a-line-mask.polygon.l-b-polygon span,
.a-line-mask.polygon.l-b-polygon div,
.a-line-mask.polygon.l-b-polygon a span,
.a-line-mask.polygon.l-b-polygon :is(h1, h2, h3, h4, h5, h6) {
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
	-webkit-clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
}

/* polygon open when in view */
.is-inview.a-line-mask.polygon span,
.is-inview.a-line-mask.polygon div,
.is-inview.a-line-mask.polygon a span,
.is-inview.a-line-mask.polygon :is(h1, h2, h3, h4, h5, h6) {
	opacity: 1;
	transform: translateY(0);

	clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
	-webkit-clip-path: polygon(-10% 0%, 110% 0%, 110% 110%, -10% 110%);
}

/* =========================
Delays (apply to targets)
Put delay class on .a-line-mask OR on .a-0/.a-1 wrapper
========================= */

/* delay 0.5s */
.a-line-mask.delay-05 span,
.a-line-mask.delay-05 div,
.a-line-mask.delay-05 a span,
.a-line-mask.delay-05 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-05 span,
.a-line-mask .delay-05 a span,
.a-line-mask .delay-05 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 0.3s !important;
}

/* delay 1s */
.a-line-mask.delay-10 span,
.a-line-mask.delay-10 div,
.a-line-mask.delay-10 a span,
.a-line-mask.delay-10 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-10 span,
.a-line-mask .delay-10 a span,
.a-line-mask .delay-10 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: .5s !important;
}

/* delay 1.5s */
.a-line-mask.delay-15 span,
.a-line-mask.delay-15 div,
.a-line-mask.delay-15 a span,
.a-line-mask.delay-15 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-15 span,
.a-line-mask .delay-15 a span,
.a-line-mask .delay-15 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 0.7s !important;
}

/* delay 2s */
.a-line-mask.delay-20 span,
.a-line-mask.delay-20 div,
.a-line-mask.delay-20 a span,
.a-line-mask.delay-20 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-20 span,
.a-line-mask .delay-20 a span,
.a-line-mask .delay-20 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 0.9s !important;
}

/* delay 2.5s */
.a-line-mask.delay-25 span,
.a-line-mask.delay-25 div,
.a-line-mask.delay-25 a span,
.a-line-mask.delay-25 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-25 span,
.a-line-mask .delay-25 a span,
.a-line-mask .delay-25 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 1.1s !important;
}

/* delay 30 */
.a-line-mask.delay-30 span,
.a-line-mask.delay-30 div,
.a-line-mask.delay-30 a span,
.a-line-mask.delay-30 :is(h1, h2, h3, h4, h5, h6),
.a-line-mask .delay-30 span,
.a-line-mask .delay-30 a span,
.a-line-mask .delay-30 :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 1.3s !important;
}
.a-line-mask:not(.is-inview) span,
.a-line-mask:not(.is-inview) div,
.a-line-mask:not(.is-inview) a span,
.a-line-mask:not(.is-inview) :is(h1, h2, h3, h4, h5, h6) {
	transition-delay: 0s !important;
} 

.e-n-tabs-heading {
	margin-left: 340px;
}

/******* Our expertise section ******/
.expt-container{
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.expt-container.is-visible {
	display: inline;
	opacity: 1;
}
/*  Newsletter section */

.newsletter .forminator-label,
.newsletter .forminator-checkbox-label{
	color: rgba(255, 255, 255, 0.50) !important;
}
.newsletter .forminator-checkbox-box{	
	border-color: #fff;
}
.newsletter .forminator-checkbox-box:before{
	color:#fff !important;
}
.newsletter button.btn.forminator-button-submit{
	margin-top:43px !important;
}


/*/ circle anim */

.blackcircle .pulsating-circle:before{	
	background-color: rgba(53, 55, 58, 0.1);
}
.whitecircle .pulsating-circle:before{	
	background-color: rgba(53, 55, 58, 0.1);
}
.blackcircle .pulsating-circle:after {
	background-color: #121417;
	border: 0.4px solid #35373A;}
.whitecircle .pulsating-circle:after {	
	background-color: #fff;
	border: 0.4px solid rgba(53, 55, 58, 0.74);
}

.pulsating-circle {
	position: absolute;
	left: 50%;
	top: 0px;
	transform: translateX(-50%) translateY(-10%);
	width: 633px;
	height: 633px;
	z-index: 0;
}

.pulsating-circle:before {
	content: '';
	position: relative;
	display: block;
	width: 300%;
	height: 300%;
	box-sizing: border-box;
	margin-left: -100%;
	margin-top: -100%;
	border-radius: 50%;
	animation: pulse-ring 2.25s cubic-bezier(.215, .61, 0.355, 1) infinite;
}

.pulsating-circle:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%; 
	border-radius: 50%;
	box-shadow: 0 0 2px rgba(0, 0, 0, .3); 
	animation: pulse-dot 2.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite;
}

@keyframes pulse-ring {
	0% {
		transform: scale(.33);
	}
	80%, 100% {
		opacity: 0;
	}
}

@keyframes pulse-dot {
	0% {
		transform: scale(.8);
	}
	50% {
		transform: scale(1);
	}
	100% {
		transform: scale(.8);
	}
}

@media (max-width: 768px) {
	.pulsating-circle{
		display:none;
	}
	.btnscroll a.elementor-button:after {		
    	left: -10%;
	}
	.btnscroll a.elementor-button:after{ 
		width: 40px;
		height:18.85px;
	}
}