@keyframes scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(calc(-250px * 7)); }
}

.slider {
	background: white;
	box-shadow: 0 10px 20px -5px rgba(0, 0, 0, .125);
	height: 100px;
	margin: auto;
	overflow: hidden;
	position: relative;
}

.slider::before,
.slider::after {
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
	content: "";
	height: 100px;
	position: absolute;
	width: 200px;
	z-index: 2;
}

.slider::after {
	right: 0;
	top: 0;
	transform: rotateZ(180deg);
}

.slider::before {
	left: 0;
	top: 0;
}

.slider .slide-track {
	animation: scroll 40s linear infinite;
	display: flex;
	width: calc(250px * 14);
}

.slider .slide {
	height: 100px;
	width: 250px;
}
.language-selector {
	position: relative;
}
.language-button {
	display: flex;
	align-items: center;
	background-color: #0064e4;
	color: white;
	border: none;
	padding: 10px 15px;
	font-size: 16px;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.5s;
	margin-left: 15%;
	margin-top: 5%;
	height: 80%;
}
.language-button:hover {
	background-color: #0052bc;
}
.globe-icon, .chevron-icon {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.globe-icon {
	margin-right: 5px;
}
.chevron-icon {
	margin-left: 5px;
}
.dropdown {
	display: none;
	position: absolute;
	background-color: white;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	z-index: 1;
	border-radius: 5px;
	overflow: hidden;
}
.dropdown button {
	color: black;
	padding: 12px 16px;
	text-decoration: none;
	display: block;
	width: 100%;
	text-align: left;
	border: none;
	background-color: white;
	cursor: pointer;
	transition: background-color 0.5s;
}
.dropdown button:hover {
	background-color: #f1f1f1;
}

.text-container {
	z-index: 100;
	width: 100vw;
	height: 100vh;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	font-size: 96px;
	color: white;
	opacity: 0.8;
	user-select: none;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.1);
  }
  :root {
	--color-bg1: #0064E4;
	--color-bg2: rgb(0 39 79);
	--color1: 0, 82, 141;
	--color2: 0, 119, 182;
	--color3: 13, 146, 244;
	--color4: 13, 146, 244;
	--color5: 0, 150, 199;
	--color-interactive: 0, 51, 217;
	--circle-size: 100%;
	--blending: hard-light;
  }
  
  @keyframes moveInCircle {
	0% {
	  transform: rotate(0deg);
	}
	50% {
	  transform: rotate(180deg);
	}
	100% {
	  transform: rotate(360deg);
	}
  }
  
  @keyframes moveVertical {
	0% {
	  transform: translateY(-50%);
	}
	50% {
	  transform: translateY(50%);
	}
	100% {
	  transform: translateY(-50%);
	}
  }
  
  @keyframes moveHorizontal {
	0% {
	  transform: translateX(-50%) translateY(-10%);
	}
	50% {
	  transform: translateX(50%) translateY(10%);
	}
	100% {
	  transform: translateX(-50%) translateY(-10%);
	}
  }
  .gradient-bg-1{
		margin-top: 0%;
		margin-left: 0%;
		width: 100vw;
		height: 97.6vh;
		position: relative;
		overflow: hidden;
		background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
  }
  
  .gradient-bg {
    margin-top: 96%;
    margin-left: -7%;
    width: 45vw;
    height: 86.6vh;
    position: relative;
    overflow: hidden;
    background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
}
  
  .gradient-bg svg {
	display: none;
  }
  
  .gradient-bg .gradients-container {
	filter: url(#goo) blur(40px);
	width: 100%;
	height: 100%;
  }
  
  .gradient-bg .g1 {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: var(--circle-size);
	height: var(--circle-size);
	top: calc(50% - var(--circle-size) / 2);
	left: calc(50% - var(--circle-size) / 2);
	transform-origin: center center;
	animation: moveVertical 30s ease infinite;
	opacity: 1;
  }
  
  .gradient-bg .g2 {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: var(--circle-size);
	height: var(--circle-size);
	top: calc(50% - var(--circle-size) / 2);
	left: calc(50% - var(--circle-size) / 2);
	transform-origin: calc(50% - 400px);
	animation: moveInCircle 20s reverse infinite;
	opacity: 1;
  }
  
  .gradient-bg .g3 {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: var(--circle-size);
	height: var(--circle-size);
	top: calc(50% - var(--circle-size) / 2 + 200px);
	left: calc(50% - var(--circle-size) / 2 - 500px);
	transform-origin: calc(50% + 400px);
	animation: moveInCircle 40s linear infinite;
	opacity: 1;
  }
  
  .gradient-bg .g4 {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: var(--circle-size);
	height: var(--circle-size);
	top: calc(50% - var(--circle-size) / 2);
	left: calc(50% - var(--circle-size) / 2);
	transform-origin: calc(50% - 200px);
	animation: moveHorizontal 40s ease infinite;
	opacity: 0.7;
  }
  
  .gradient-bg .g5 {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: calc(var(--circle-size) * 2);
	height: calc(var(--circle-size) * 2);
	top: calc(50% - var(--circle-size));
	left: calc(50% - var(--circle-size));
	transform-origin: calc(50% - 800px) calc(50% + 200px);
	animation: moveInCircle 20s ease infinite;
	opacity: 1;
  }
  
  .gradient-bg .interactive {
	position: absolute;
	background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%) no-repeat;
	mix-blend-mode: var(--blending);
	width: 100%;
	height: 100%;
	top: -50%;
	left: -50%;
	opacity: 0.7;
  }
  .animated-image {
    position: absolute;
    bottom: 0;
    animation: moveUpDown 3s ease-in-out infinite;
    z-index: 1;
}
.logo {
    margin-left: 0%;
    margin-top: 0%;
    width: 0%;
}
.logo-2 {
    margin-left: 33%;
    margin-top: 27%;
    width: 52%;
}
@keyframes moveUpDown {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px); /* Déplace l'image vers le haut */
	}
	100% {
		transform: translateY(0); /* Ramène l'image à sa position initiale */
	}
}
.stats-section {
	background-image: url('../images/4.jpg');
	background-size: cover;
	background-position: center;
	color: white;
	padding: 60px 0;
	margin-bottom: 8%;
}
.container {
	max-width: 1205px;
	margin: 0 auto;
	padding: 0 15px;
}
.content-wrapper {
	display: flex;
	justify-content: space-between;
}
.left-content {
	width: 30%;
}
.right-content {
    margin-top: 8%;
    margin-left: 26%;
    width: 65%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.fun-facts {
	color: #e8e8e8;
	font-size: 14px;
	text-transform: uppercase;
}
h2 {
	font-size: 36px;
	margin: 10px 0;
}
.small-border {
	width: 50px;
	height: 2px;
	background-color: #e8e8e8;
	margin: 15px 0;
}
.stat-item {
	text-align: center;
}
.stat-number {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 5px;
}
.stat-label {
	color: #fafafa;
	font-size: 16px;
}
/* .categories:hover {
	color:aquamarine;
	display: none;
} */
#section-practice-areas {
    padding: 80px 0;
}

.text-center {
    text-align: center;
    margin-bottom: 50px;
}

.small-border {
    width: 60px;
    height: 3px;
    background: #333;
    margin: 10px auto;
}

/* Grid layout for practice areas */
.practice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    padding: 0 15px;
}

/* Styles for individual practice area cards */
.de-card-poster {
    overflow: hidden;
    position: relative;
    height: 350px;
    width: 100%;
}

.de-card-poster * {
    -o-transition: .7s;
    -ms-transition: .7s;
    -moz-transition: .7s;
    -webkit-transition: .7s;
    transition: .7s;
    outline: none;
}

.de-card-poster .d-image {
    position: absolute;
    width: 110%;
    height: 110%;
    background-size: cover;
    background-position: center;
    margin-left: -5%;
}

.de-card-poster .d-overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.de-card-poster .d-content {
    color: #ffffff;
    padding: 30px;
    transition: transform 0.7s;
    transform: translateY(calc(100% - 100px));
}

.de-card-poster .d-content h3 {
    font-size: 24px;
    letter-spacing: 0;
    color: #ffffff;
    padding-left: 40px;
    padding-bottom: 10px;
    border-bottom: solid 1px rgba(255, 255, 255, .5);
    margin-bottom: 10px;
}

.de-card-poster .d-content h3 i {
    position: absolute;
    left: 30px;
    font-size: 32px;
}

.de-card-poster .d-content .d-text {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.7s, opacity 0.7s;
    margin-bottom: 10px;
}

.de-card-poster .btn-main {
    opacity: 0;
    transition: opacity 0.7s;
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

/* Hover effects */
.de-card-poster:hover .d-overlay {
    background: rgba(0, 0, 0, .6);
}

.de-card-poster:hover .d-content {
    transform: translateY(0);
}

.de-card-poster:hover .d-content .d-text {
    max-height: 150px;
    opacity: 1;
}

.de-card-poster:hover .btn-main {
    opacity: 1;
}

.de-card-poster:hover .d-image {
    margin-left: 0;
}

.de-card-poster:hover i {
    color: #ffffff;
}

.filter-sephia-30 {
    filter: sepia(30%);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .practice-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}
.ecriture{
	position: relative;
    margin-top: -85%;
    margin-left: -4%;
    width: 91%;
}
.search-animation{
	position: relative;
	margin-left: -17%;
	margin-top: -50%;
	margin-bottom: -55%;
}
.search-animation-1 {
    position: relative;
    margin-left: 27%;
    margin-top: 6%;
}

/* ---- particles.js container ---- */

#particles-js {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #003899;
	background-image: url("");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
  }
  
  /* ---- stats.js ---- */
  
  .count-particles{
	background: #000022;
	position: absolute;
	top: 48px;
	left: 0;
	width: 80px;
	color: #13E8E9;
	font-size: .8em;
	text-align: left;
	text-indent: 4px;
	line-height: 14px;
	padding-bottom: 2px;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: bold;
  }
  
  .js-count-particles{
	font-size: 1.1em;
  }
  
  #stats,
  .count-particles{
	-webkit-user-select: none;
  }
  
  #stats{
	border-radius: 3px 3px 0 0;
	overflow: hidden;
  }
  
  .count-particles{
	border-radius: 0 0 3px 3px;
  }

/* Typing animation styles */
.typing-text {
  display: inline-block;
  overflow: hidden;
  border-right: 2px solid #0064e4;
  white-space: nowrap;
  margin: 0 auto;
  letter-spacing: 0.15em;
  animation: blink-caret 0.75s step-end infinite;
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: #0064e4 }
}

/* Ensure text remains visible during animation */
.typing-text span {
  display: inline-block;
  visibility: visible !important;
  opacity: 1 !important;
}