:root{
  --bs-primary:#0d6efd;
  --bs-secondary:#6c757d;
  --bs-light:#f8f9fa;
  --bs-dark:#212529;
}
@font-face {
  font-family: 'CenturyGothic';
  src: url('../fonts/Century Gothic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
.site-main {overflow-x: hidden;}
.elementor * { font-family: 'CenturyGothic', sans-serif; }
body{background:#fff;color:#212529; font-family: CenturyGothic!important;}
.site-header .custom-logo{/*max-height:48px;width:auto;*/}
@media(max-width: 768px) {
  .site-header .custom-logo{height: 60px; width: auto;}
  #primaryNav {position: absolute; background-color: #FFF; top: 80px; left: 0; width: 100vw; padding: 15px 15px;}
  #primaryNav ul li {text-align: center;}
}
.site-header.bg-white {background-color: transparent;}
.site-header .ico-rs img {height: 32px;}
.hero-block{background:linear-gradient(180deg,#f8f9fa 0%,#ffffff 100%);}
.content-area > *{margin-bottom:1rem;}
.content-area img{max-width:100%;height:auto;}
.widget ul{padding-left:1rem;margin-bottom:0;}
.navbar-brand{display:flex;align-items:center;gap:.75rem;}
.dropdown-menu{min-width:14rem;}
@media (min-width: 992px){
  .navbar .dropdown:hover > .dropdown-menu{display:block;}
  .site-header{padding-top: 20px;}
  #primaryNav .navbar-nav .menu-item .nav-link {padding: 5px 60px; border-left: 1px solid #D22E26;}
	#primaryNav .navbar-nav .menu-item:first-child .nav-link {border-left: none;}
}
@media (min-width: 1600px){
	#primaryNav .navbar-nav .menu-item .nav-link {padding: 5px 80px;}
}
#primaryNav .navbar-nav .menu-item .nav-link:hover {color: #D22E26;}



.anchor-offset { scroll-margin-top: 120px; }
.pos-relative {position: relative!important;}
.overflow-hidden {overflow: hidden!important;}

.wpcf7 label {width: 100%;}
.wpcf7-form-control {border: 1px solid #D22E26; border-radius: 15px; margin-bottom: 10px; padding: 2px 10px; width: 100%;}
.wpcf7-form-control::placeholder { color: #000; opacity: 1; }
.wpcf7-submit {background-color: #D22E26; color: #FFF;}



@media (max-width: 768px)
{
  @keyframes shrinkSmooth {
    from {
      left: 0;
  	  top: 0;
    }
    to {
      left: -150%;
  	top: -0;
    }
  }
  @keyframes shrinkSmoothRight {
    from {
      right: 0%;
  	  bottom: 0;
    }
    to {
      right: -170%;
  	bottom: -0;
    }
  }
}
@media (min-width: 769px) {
  @keyframes shrinkSmooth {
    from {
      left: 0;
  	  top: 0;
    }
    to {
      left: -35%;
  	top: -0;
    }
  }
  @keyframes shrinkSmoothRight {
    from {
      right: 15%;
  	  bottom: 0;
    }
    to {
      right: -25%;
  	bottom: -0;
    }
  }
}

.anim_bandeau_HG {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 60%;
  object-fit: cover;

  transform-origin: top left;
  animation: shrinkSmooth 1s ease forwards;
}

.anim_bandeau_BD  {
	position: absolute;
  bottom: 0;
  right: 0;
  width: 60%;
  height: auto;
  object-fit: cover;

  transform-origin: right bottom;
  animation: shrinkSmoothRight 1s ease forwards;
}

.anim_bandeau_BD img {
  object-fit: cover;
}

@media (max-width: 768px)
{
  .anim_bandeau_HG {width: 200%;max-width: 200%!important;}
  .anim_bandeau_BD  {width: 200%; max-width: 200%!important;}
}

.biseau-droite {
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
}

.biseau-gauche {
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
}

.carousel-bg .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* la vraie CARD */
.carousel-bg .swiper-slide img {
  width: 100%;
	min-width: 245px;
  height: 200px; /* hauteur fixe */
  background: #FFF;
  padding: 20px;
  border-radius: 10px;
  object-fit: contain; /* clé du centrage */
  box-sizing: border-box;
}

/* légende */
.carousel-bg .elementor-image-carousel-caption {
  text-align: center;
  font-size: 14px;
  margin-top: 10px;
  min-height: 40px;
}

/* animation aristote */
#animation_aristote {position: relative;}
.cache_artistote {position: absolute; left: 0; width: 80%; top:0; background-color: #FFF; transform-origin: right;  }
.cache_artistote_2{position: absolute; left: 0; width: 100%; background-color: #FFF; transform-origin: right; }
.anim_aristote {animation: animate_aristote 3s ease-in-out forwards;}

@keyframes animate_aristote {
    from { transform: scaleX(1); }
    to   { transform: scaleX(0); }
  }

.contenu-signaletique, .contenu-event {/*display: none!important;*/}


/* Carousel des realisations */


.premium-adv-carousel__media-wrap{
    background: #fff;
    border-radius: 15px;
    padding: 15px;
}



/* animation pour les bulles cliquables */
.zone-ronde-onde {
  position: relative;
  border-radius: 50%;
  overflow: visible;
  z-index: 1;
  cursor: pointer;
}

.zone-ronde-onde::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 50%;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  border: 6px solid #D22E26;
  border-radius: 50%;
  transform: translate(-50%, 50%) scale(0.2);
  opacity: 0;
  z-index: -100;
  animation: onde-eau 2.8s ease-out infinite;
}

.zone-ronde-onde::after {
  animation-delay: 1.4s;
}

.zone-ronde-onde-gris::after {
  border-color: #a7a5a0;
}
@keyframes onde-eau {
  0% {
    transform: translate(-50%, 50%) scale(1);
    opacity: 0.3;
  }

  100% {
    transform: translate(-50%, 50%) scale(1.2);
    opacity: 0;
  }
}
body a {color: #D22E26;}
footer a {color: #D22E26;}
