/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

#site-navigation-wrap .dropdown-menu>li>a span {
    color: #0A2340 !important;
    font-weight: 500;
    padding: 6px 0;
    position: relative;
}

#site-navigation-wrap .dropdown-menu>li {
    padding: 0 16px;
}

body a{
	outline:none !important;
}
body a:focus {
    outline: solid 0px !important;
}
#site-navigation-wrap .dropdown-menu>li>a span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background:#1D5B8F;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
#site-navigation-wrap .dropdown-menu>li>a:hover span:after {
transform: scaleX(1);
    transform-origin: left;
}

#site-navigation-wrap .dropdown-menu>li>a {
    padding: 0;
}
#site-navigation-wrap .contact-btn a.menu-link span{
      color: #fff !important;
      padding: 0;
}
#site-navigation-wrap .contact-btn a.menu-link {
    background:#0A2340;
    color: #fff !important;
    padding: 11px 20px !important;
    border-radius: 100px;
    font-size: 14px;
    transition: all .3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

#site-navigation-wrap .dropdown-menu>li>a {
    line-height: 1.2;
    font-size: 14px;
}

nav#site-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
}

#site-navigation-wrap .dropdown-menu {
    display: flex;
    align-items: center;
}

#site-navigation-wrap .contact-btn a.menu-link span:after {
    display: none;
}
header#site-header {
    position: fixed;
    background: transparent;
}
#site-navigation-wrap .contact-btn a.menu-link:hover {
    background: #1D5B8F;
}
.hero{
	    background: radial-gradient(ellipse at 70% 20%, #D5EAF6 0%, transparent 55%), radial-gradient(ellipse at 10% 80%, #EDF6FC 0%, transparent 45%), #FBF8F1;
	position:relative;
}
body{
	font-family:"DM Sans" !important;
}

/* Bulles flottantes */
.bubbles{
  position:absolute;inset:0;
  pointer-events:none;
  z-index:1;
}
.bubble{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(169,210,236,.3) 50%, rgba(95,168,220,.1));
  border:1px solid rgba(255,255,255,.4);
  animation:floatUp linear infinite;
}
@keyframes floatUp{
  0%{transform:translateY(100vh) translateX(0) scale(.5);opacity:0}
  10%{opacity:.8}
  90%{opacity:.6}
  100%{transform:translateY(-120vh) translateX(var(--drift,40px)) scale(1);opacity:0}
}

.scroll-indicator{
  position:absolute;
  bottom:30px;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(10,35,64,.5);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  z-index:5;
}
.scroll-indicator::after{
  content:"";
  width:1px;height:40px;
  background:linear-gradient(to bottom, var(--ink), transparent);
  animation:scrollLine 2s infinite;
}
@keyframes scrollLine{
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

#site-navigation-wrap .dropdown-menu>li>a span {
    letter-spacing: 0;
}
body p{
	margin-bottom:0;
}

.dot p.elementor-heading-title::before {
    content: '';
    width: 6px;
    height: 6px;
    background: #1D5B8F;
    border-radius: 50%;
    animation: pulse 2s infinite;
    display: flex;
}

.dot p.elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.4;transform:scale(1.4)}
}
div#site-header-inner {
    justify-content: space-between;
}
.oceanwp-mobile-menu-icon.clr.mobile-right {
    margin-left: auto;
}
.btn-ghost a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #0A2340;
    transform: scaleX(1);
    transform-origin: right;
    transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.btn-ghost a:hover::after {
    transform: scaleX(0);
    transform-origin: left;
}
.container,.e-flex.e-con-boxed.e-con {
    padding-left: 15px;
    padding-right:15px;
}
.ticker-track ul.elementor-icon-list-items.elementor-inline-items {
    display: flex;

    animation: slide 40s linear infinite;
    white-space: nowrap;
    width: max-content;
}
.serv-icon .elementor-icon {
    width: 56px;
    height: 56px;
    background: #EDF6FC;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: auto;
}
.serv-icon1 .elementor-icon {
    width: 56px;
    height: 56px;
    background:rgba(255,255,255,.15);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: auto;
}
.mb-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10, 35, 64, .5), transparent 50%);
    z-index: 1;
    opacity: .6;
    transition: opacity .4s;
}
@keyframes slide{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.content-text em {
    color: #1D5B8F;
    font-weight: 300;
}
.section-label{
	   display: flex;
	align-items:center !important;
	gap:15px !important;
}
.section-label::before {
    content: "";
    width: 24px;
    height: 1px;
    background: #1D5B8F;
	display:flex;
}