/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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 */

/* ---------------------------------------------------------
   GENERAL
--------------------------------------------------------- */
.grecaptcha-badge { 
	display : none!important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
}

div#wpadminbar {
    z-index: 9999999999999999999999999;
}

body {
    background-color: #0f0f0f!important;
    color: #333;
}

.scrolling {
    background-color: black !important;
}


.scroll-background {
    z-index: 999999999;
}

h2 {
    font-family: "Teachers", Sans-serif;
    font-size: 70px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 60px;
    color: #FFFFFF;
}

.tnr-mask span{
	font-family: "Teachers", Sans-serif;
}

.e-con.e-flex>.e-con-inner {
    z-index: 999;
}

.sous-menu a {
    font-size: 15px !important;
    padding: 0px 15px;
    line-height: 5px;
}

.menu a {
    margin-top: 15px !important;
}

p a{
	color:#cda935;
}

p a:hover{
	color:#ffffff;
	font-weight:600;
}

.lire-plus a{
	color:#000!important;
}

.multi-card span{
	font-family: "Teachers", Sans-serif;
}

.cmplz-cookiebanner.banner-1.banniere-a.optin.cmplz-bottom-left.cmplz-categories-type-view-preferences.cmplz-show {
    font-family: 'Space Grotesk';
}

/* ---------------------------------------------------------
   ACCUEIL
--------------------------------------------------------- */
iframe#widget2 {
    border-radius: 20px;
}

.elementor .e-self-hosted-video-base {
    max-width: 100vw;
    aspect-ratio: 16 / 9;
    display: inline-block;
    height: 750px;
    width: 100%;
    object-fit: cover;
}

.miniature-video .elementor-custom-embed-image-overlay {
    border-radius: 10px;
}

.hover-video .elementor-background-overlay {
    opacity: 0;
    transition: 0.3s ease;
}

.hover-video:hover .elementor-background-overlay {
    opacity: 0.6;
}

.hover-video .hover-text {
    opacity: 0;
    transform: translateY(20px);
    transition: 0.3s ease;
}

.hover-video:hover .hover-text {
    opacity: 1;
    transform: translateY(0);
}

.icon-play {
    width: 86px;
    height: 45px!important;
    fill: black;
}


/* ---------------------------------------------------------
   BOUTON GENERAL ANIMATION
--------------------------------------------------------- */
.btn-footer .fancy {
    background-color: transparent;
    border-radius: 0;
    box-sizing: border-box;
    color: #000;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .05em;
    margin-top: 0px; 
    outline: none;
    overflow: visible;
    padding: 1.25em 2em;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease-in-out;
    user-select: none;
    font-size: 13px;
    pointer-events: auto;
    z-index: 999;
}

.fancy {
  background-color: transparent;
  border-radius: 0;
  box-sizing: border-box;
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
  outline: none;
  overflow: visible;
  padding: 1.25em 2em;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  transition: all 0.3s ease-in-out;
  user-select: none;
  font-size: 14px;
  /*margin-top: 20px;*/
}

.fancy::before {
  content: " ";
  width: 1.5625rem;
  height: 2px;
  background: #cda935!important;
  top: 50%;
  left: 1.5em;
  position: absolute;
  transform: translateY(-50%);
  transform-origin: center;
  transition: background 0.3s linear, width 0.3s linear;
}

.fancy .text {
  font-size: 1.125em;
  line-height: 1.33333em;
  padding-left: 2em;
  display: block;
  text-align: left;
  transition: all 0.3s ease-in-out;
  text-transform: uppercase;
  text-decoration: none;
  color: #7c7c7c;
	font-family: 'Teachers';
    font-weight: 500;
}

.fancy .top-key {
  height: 2px;
  width: 1.5625rem;
  top: -2px;
  left: 0.625rem;
  position: absolute;
  background: #212121;
  transition: width 0.5s ease-out, left 0.3s ease-out;
}

.fancy .bottom-key-1 {
  height: 2px;
  width: 1.5625rem;
  right: 1.875rem;
  bottom: -2px;
  position: absolute;
  background: #212121;
  transition: width 0.5s ease-out, right 0.3s ease-out;
}

.fancy .bottom-key-2 {
  height: 2px;
  width: 0.625rem;
  right: 0.625rem;
  bottom: -2px;
  position: absolute;
  background: #212121;
  transition: width 0.5s ease-out, right 0.3s ease-out;
}

.fancy:hover {
  color: white;
}

.fancy:hover::before {
  width: 0.9375rem;
  background: white;
}

.fancy:hover .text {
  color: white;
  padding-left: 1.5em;
}

.fancy:hover .top-key {
  left: -2px;
  width: 0px;
}

.fancy:hover .bottom-key-1,
 .fancy:hover .bottom-key-2 {
  right: 0;
  width: 0;
}

/* ---------------------------------------------------------
   FOND ANIMEE
--------------------------------------------------------- */
body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

body::before {
  background: radial-gradient(circle at 20% 20%, white 0%, transparent 20%), radial-gradient(circle at 80% 30%, #ffffff 0%, transparent 20%), radial-gradient(circle at 50% 80%, white 0%, transparent 60%);
  filter: blur(100px);
  opacity: 0.6;
  animation: moveBg 20s ease-in-out infinite alternate;
}

body::after {
  background: radial-gradient(circle at 70% 60%, #ffffff22 0%, transparent 70%);
  filter: blur(120px);
  opacity: 0.3;
  animation: moveBg2 25s ease-in-out infinite alternate;
}

@keyframes moveBg {
  0% { transform: translate(0,0) scale(1); }
  100% { transform: translate(-10vw, -10vh) scale(1.2); }
}

@keyframes moveBg2 {
  0% { transform: translate(0,0) scale(1); }
  100% { transform: translate(10vw, 10vh) scale(1.3); }
}



/* ---------------------------------------------------------
   BOUTON VIDEO PULSE
--------------------------------------------------------- */
.btn-play {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: white;
  border: none;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  position: relative;
}

.btn-play-right {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 160px;
    right: 69px;
}

.btn-play-left {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 55px;
    right: 70px;
}

.icon-play {
    width: 103px;
    height: 102px;
    fill: black;
}

button.btn-play:hover, .btn-play-right:hover, .btn-play-left:hover {
    background: #d4af37;
}

.btn-play::before, .btn-play-right::before, .btn-play-left::before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.7);

  animation: pulse-ring 1.8s infinite;
}

.btn-play::after, .btn-play-right::after, .btn-play-left::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.4);

  animation: pulse-ring 1.8s infinite;
  animation-delay: 0.6s;
}

@keyframes pulse-ring {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }

  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}



/******CAROUSEL LOGO*******/
/*.swiper-wrapper {
      -webkit-transition-timing-function: linear !important;
      -moz-transition-timing-function: linear !important;
      -o-transition-timing-function: linear !important;
      transition-timing-function: linear !important; 
}

img.swiper-slide-image.swiper-lazy.swiper-lazy-loaded {
    width: 100px;
    filter: grayscale(5);
}

.swiper-slide[data-swiper-slide-index="6"] img {
    width:auto!important;
}


img.swiper-slide-image.swiper-lazy.swiper-lazy-loaded:hover{
    filter: none;
     transition: all 0.3s ease-in-out;
}*/


/* ---------------------------------------------------------
   BANDEAU PARTENAIRES
--------------------------------------------------------- */
.partners-marquee {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.partners-track {
    display: flex;
    gap: 80px;
    width: max-content;
    animation: scrollPartners 25s linear infinite;
    align-items: center;
}

.partners-track:hover {
    animation-play-state: paused;
}

.partners-track img {
    height: 130px; 
    width: auto;

    opacity: 0.8;
    transition: all 0.3s ease;
    background: #1a1a1a;
    border-radius: 10px;
    padding: 15px;
}

.partners-track img:hover {
    opacity: 1;
    transform: scale(1.08);
    filter: grayscale(0%);
}

@keyframes scrollPartners {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}


/* ---------------------------------------------------------
   LETTERS REVEAL
--------------------------------------------------------- */
.title {
          font-size: 78px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    max-width: 900px;
    /* padding: 0 2rem; */
    font-family: 'Agdasima', sans-serif;
    text-transform: uppercase;
    word-spacing: -16px
    }
 
    .title .word {
      display: inline-block;
      margin-right: 0.25em;
      white-space: nowrap;
    }
 
    .title .letter {
      display: inline-block;
      color: rgba(42, 42, 42, 0.452);
      transition: color 0.15s ease;
    }
 
    .title .letter.revealed {
      color: #02261a;
    }

.letter {
  transition: color 0.35s ease, transform 0.35s ease;
  transform: translateY(10px);
}

.letter.revealed {
  color: #02261a;
  transform: translateY(0);
}


/* ---------------------------------------------------------
   TEMOIGNAGES
--------------------------------------------------------- */
.temoignages .elementor-custom-embed-image-overlay {
    border-radius: 15px;
}


/* ----- RESPONSIVE ----- */
@media screen and (max-width: 1366px) {
.text-overlay {
    padding-left: 5%!important;
}

.video-hover {
    height: 500px!important;
}

}


/* ---------------------------------------------------------
   CONTACT
--------------------------------------------------------- */
.formulaire {
  max-width: 700px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  color: #fff;
}

[type=button]:focus, [type=submit]:focus {
    background-color: #000000;
} 

form.wpcf7-form.invalid {
    font-family: 'Space Grotesk';
}

.row {
  margin-bottom: 35px;
}

.two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.field {
  display: flex;
  flex-direction: column;
}

label {
  color: #fff;
  font-size: 14px;
  margin-bottom: 6px;
  font-weight: 500;
  font-family: 'Teachers';
}

input,
textarea {
  background: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  padding: 10px 5px;
  color: #9d9d9d;
  font-size: 15px;
  outline: none;
}

input::placeholder,
textarea::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.wpcf7-response-output {
    color: #9d9d9d;
}

input:focus,
textarea:focus {
  border-bottom: 1px solid #fff;
}

textarea.wpcf7-form-control.wpcf7-textarea, input.wpcf7-form-control.wpcf7-email.wpcf7-validates-as-required.wpcf7-text.wpcf7-validates-as-email, input.wpcf7-form-control.wpcf7-tel.wpcf7-text.wpcf7-validates-as-tel, input.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date, input.wpcf7-form-control.wpcf7-text {
    border: none!important;
    border-bottom: solid 1px!important;
    border-radius: 0px!important;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background: transparent;
    color: white;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner, input.wpcf7-form-control.wpcf7-submit.has-spinner {
    border: none;
    color: #ffffff;
    text-transform: uppercase;
    font-family: 'Teachers';
}

button {
  width: 100%;
  padding: 12px;
  background: #fff;
  color: #000;
  border: none;
  cursor: pointer;
  font-size: 16px;
  transition: 0.3s;
}

button:hover {
  opacity: 0.8;
}

@media (max-width: 600px) {
  .two-cols {
    grid-template-columns: 1fr;
  }
}

/* ---------------------------------------------------------
  ACTUALITES / BLOG
--------------------------------------------------------- */

.contenu a {
    color: #d4af37;
}

.contenu a:hover {
    color: white;
}
.img-cta img {
    width: 1500px;
    height: 350px;
    object-fit: cover;
    margin-top: 50px;
    border-radius: 15px;
    margin-bottom: -40px;
}

.btn-cta a.wp-block-button__link.wp-element-button {
    background: white;
    color: black;
    margin-bottom: 50px;
    font-weight: 400;
    text-transform: uppercase;
    font-family: 'Teachers';
    font-size: 15px;
    letter-spacing: 1px;
}

.btn-cta a.wp-block-button__link.wp-element-button:hover {
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
}

.single-post h1 {
    text-transform: uppercase;
    font-family: 'Teachers' !important;
    font-weight: 400;
}

.single-post h2.wp-block-heading {
    font-family: 'Teachers';
    font-size: 35px;
    font-weight: 400;
    margin-top: 50px;
    margin-bottom: 5px;
	line-height: 40px;
}

.single-post h3.wp-block-heading {
    font-family: 'Teachers';
    margin-top: 30px;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 200;
    color: #D4AF37;
}

.contenu p.wp-block-paragraph {
    text-align: justify;
    font-size: 17px;
    line-height: 28px;
	margin-top: 20px;
}

.lire-plus p.wp-block-paragraph {
	margin-top: 0px;
}

.single-post .bloc-gris h2.wp-block-heading {
    font-family: 'Teachers';
    font-size: 35px;
    font-weight: 400;
    margin-top: 0px!important;
    margin-bottom: 5px;
    line-height: 40px!important;
}

.single-post .bloc-gris h3.wp-block-heading {
    margin-top: 0px;
}

.bloc-haut {
    margin-top: 50px !important;
}

.bloc-bas {
    margin-bottom: 50px !important;
}

.bloc-gris {
    background: #000000;
    border-radius: 15px;
    padding: 30px 30px 30px 30px;
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.bloc-gris-4 {
    background: #000000;
    border-radius: 15px;
    padding: 30px 30px 30px 30px;
}

.lire-plus {
    background: #cda936;
    color: #000000;
    padding: 10px;
    margin-top: 30px;
    border-radius: 10px;
}


/* ---------------------------------------------------------
  COOKIES / COMPLIANZ
--------------------------------------------------------- */
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent{
	overflow: hidden;
	color: #01061900 !important;
}

.cmplz-banner-checkbox label:before{
	box-shadow: none!important;
}

.cmplz-manage-consent::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: 4px;
	color: white;
}

#cmplz-manage-consent .cmplz-manage-consent {
	bottom: 30px !important;
	left: 30px !important;
	border-radius: 100% !important;
	color: #cda935 !important;
	background: #cda935 !important;
	padding: 15px 15px 15px 15px !important;
	min-width: unset !important;
	width: 45px;
	height: 45px !important;
	padding: 0 !important;
	background-image: url(/wp-content/uploads/2026/05/cookie.png) !important;
	background-position: center;
	background-repeat: no-repeat !important;
}

#cmplz-cookies-overview {
background-color: #fff;
}

#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
    font-size: 14px;
    margin-top: 0;
    max-width: 100%;
    text-justify: inter-word;
    color: white;
    font-family: 'Space Grotesk';
    font-size: 16px !important;
}

div#cmplz-document a {
    color: #d4af37;
    text-decoration: none;
}

div#cmplz-document li {
    font-family: 'Space Grotesk';
    font-size: 16px !important;
}

#cmplz-cookies-overview {
    background-color: #000000;
}

div#cmplz-document p {
    font-size: 16px;
    font-family: 'Space Grotesk';
}

div#cmplz-document h2 {
    text-transform: uppercase !important;
    margin-bottom: -15px !important;
    margin-top: 30px !important;
    font-family: 'Teachers';
    font-size: 30px;
}

.purpose, .name-header, .retention-header, .function-header, .name, .retention, .function {
    background: black !important;
}

#cmplz-cookies-overview .cmplz-dropdown, #cmplz-document .cmplz-dropdown, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown {
    background-color: rgb(0 0 0 / 25%);
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
#cmplz-manage-consent .cmplz-manage-consent {
	bottom: 45px !important;
	left: 15px !important;
} 
}

@media screen and (max-width: 768px){
#cmplz-manage-consent .cmplz-manage-consent {
	bottom: 15px !important;
	left: 15px !important;
}
}

.cmplz-show-banner.elementor-widget-button a:hover{
	cursor: pointer;
	background-color: var(--e-global-color-primary);
} 

/* ---------------------------------------------------------
  AVIS GOOGLE + INSTA
--------------------------------------------------------- */
.grwp_header-inner {
    color: white;
}

#g-review:not(.badge).layout_style-8 .grwp_header .grwp_header-inner .grwp_stars-wrapper img, #g-review.layout_style-8 .g-review .gr-inner-header .gr-stars img {
    -webkit-filter: hue-rotate(45deg);
    filter: hue-rotate(358deg)!important;
}

#g-review .swiper .slider-prev-next-wrapper .grwp-swiper-button-next, #g-review .swiper .slider-prev-next-wrapper .grwp-swiper-button-prev {
    display: none;
}

.grwp_header {
    display: none !important;
}

.sbi_header_text h3 {
    color: white;
    font-family: 'Teachers';
    text-transform: uppercase;
}

p.sbi_bio {
    color: white;
    font-family: 'Space Grotesk';
    font-size: 17px !important;
}

/*div#sbi_load {
    display: none;
}*/

/* ---------------------------------------------------------
  RESPONSIVE
--------------------------------------------------------- */
@media screen and (max-width: 1200px) {
#scramble-text {
    font-size: 60px!important;
}

#scramble-text {
    font-size: 60px!important;
}
}

@media screen and (max-width: 1024px) {
.elementor .e-self-hosted-video-base {
    max-width: 100vw;
    aspect-ratio: 16 / 9;
    display: inline-block;
    height: 500px;
    width: 100%;
    object-fit: cover;
}

.video-hover {
        height: 400px !important;
    }
}

@media (max-width: 880px) {
#scramble-text {
    font-size: 45px!important;
}
}

@media (max-width: 767px) {
  .pm-video {
    width: 85vw !important;
    max-width: 92vw;
    margin-top: -4vh;
  }

  .pm-hero {
    min-height: 115vh;
    padding: 40px 20px 0;
  }

  .pm-hero-top {
    min-height: 55vh;
  }
	
	    .btn-play-right, .btn-play-left {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        background-color: white;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        position: sticky;
        align-self: self-end;
    }

#scramble-text {
    font-size: 30px!important;
}

.img-cta img {
    height: 200px;
}

.single-post h2.wp-block-heading {
        font-size: 20px;
        line-height: 22px;
        margin-bottom: 10px;
    }
}