/* LM - ROOT CSS */

/* ROOT */

  :root {
    /* Couleurs primaires */
    --primary-500: #1A125C;
    --primary-400: #31287C;

    /* Couleurs secondaires */
    --secondary-400: #F6A500;
    --secondary-300: #FFDA8E;
    
    /* Couleurs tertiaires */
    --tertiary-500: #758BE6;
    --tertiary-400: #B2BDE9;

    /* Couleurs d'accentuation */
    --accent: #E94444;

    /* Couleurs utilitaires */
    --error: #CE0000;
    --success: #6CA83E;
    --warning: #F67329;
    
    /* Couleurs grises */
    --grey-700:#081B2C;
    --grey-600:#3B3949;
    --grey-500:#5A5868;
    --grey-400:#706E7E;
    --grey-300:#8C8B9B;
    --grey-200:#A7A6B6;
    --grey-100:#C1C0D0;
    --grey-50:#EEF2FF;
    
    /* Couleur blanche */
    --white:#FFF;
    
    /* Font */
    --f1:'Montserrat';
    
    /* Marges */
    
    --gap05:8px;
    --gap1:16px;
    --gap15:24px;
    --gap2:32px;
    --gap3:64px;

    /* WIDTH */ 

    --content-size: 1100px;
    --wide-size: 1260px;
    
  }

/* FONT - Montserrat */

/* montserrat-regular - latin */
  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-weight: 400;
    src: url('/wp-content/themes/lementorat/fonts/montserrat/montserrat-v25-latin-regular.woff2') format('woff2');
  }
  /* montserrat-500 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url('/wp-content/themes/lementorat/fonts/montserrat/montserrat-v25-latin-500.woff2') format('woff2');
  }
  /* montserrat-600 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-weight: 600;
    src: url('/wp-content/themes/lementorat/fonts/montserrat/montserrat-v25-latin-600.woff2') format('woff2')

  }
  /* montserrat-700 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-weight: 700;
    src: url('/wp-content/themes/lementorat/fonts/montserrat/montserrat-v25-latin-700.woff2') format('woff2');
  }

  /* montserrat-800 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Montserrat';
    font-weight: 800;
    src: url('/wp-content/themes/lementorat/fonts/montserrat/montserrat-v25-latin-800.woff2') format('woff2');
  }

/* RESET */

html, body, div, applet, object, iframe, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-family:var(--f1);
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

p {
    margin: var(--gap2) 0px;
}
button {
    background: none; /* Annule les arrière-plans personnalisés */
    color: inherit; /* Utilise la couleur de texte héritée du parent */
    border: none; /* Annule les bordures personnalisées */
    padding: 0; /* Annule le padding personnalisé */
    margin: 0; /* Annule le margin personnalisé */
    font: inherit; /* Utilise la police héritée du parent */
    cursor: pointer; /* Maintient le curseur en tant que pointeur pour indiquer qu'il est cliquable */
    outline: inherit; /* Utilise le contour hérité (utile pour l'accessibilité) */
}


/* PRIORITY */

  .flx {
      display:flex;
  }

  html {
    scroll-behavior: smooth;
  }

  .site_margin {
    max-width:var(--wide-size);
    margin:auto;
}

@media (max-width: 767px) {
    .site_margin {  
      width:calc( 100% - 40px );
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .site_margin {
        width:calc( 100% - 90px );
    } 
}


/* H2 - BEFORE */

  h2.before,
  h3.before {
    position: relative;
  }

  h2.before::before,
  h3.before::before {
    content: '';
    position: absolute;
    left: 0;
    top: -34px;
    width: 15px;
    height: 22px;
    background: url('/wp-content/uploads/2023/07/Vector-7.svg') no-repeat;
    background-size: contain;
  }


/* BACKGROUND COLOR */

  .bck-grey {
      background:var(--grey-50);
  }

  .bck-blue {
      background:var(--primary-400);
  }

/* BREADCRUMB */

  .breadcrumb {
      align-items: flex-start;
      display: -webkit-box;
      overflow: hidden;
      line-height: 150%;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      margin-bottom: 0;
  }

  .breadcrumb a {
      color: var(--white);
      text-decoration: none;
  }

/* Disable all animations and transitions */

  .resize-animation-stopper * {
    animation: none !important;
    transition: none !important;
  }


/* TITLE - HEAD */ 

  h1,h2,h3,h4 {
      margin-block-start:0px;
      margin-block-end:0px
}

  h1,h4 {
      margin-bottom: var(--gap2)
  }

  h2 {
      margin-bottom: var(--gap15)
  }

  h3 {
      margin-bottom: var(--gap1)
  }

  h2.before,h3.before {
      margin-bottom: var(--gap2);
      color: var(--primary-400);
      text-transform: uppercase;
      margin-top: 34px;
      font-weight: 800;
      line-height: 1
  }

  section>.ctnr>h2.before {
      max-width: 500px;
      width: 100%
  }

  h2.before strong {
      color: var(--tertiary-500);
      font-weight: 800
  }

  @media (max-width: 1230px) {
      header h2.before {
          color:var(--white)
      }
  }

/* TITLE WITH VECTOR */

  .title.with-vector {
      align-items: center;
  }

  .title.with-vector img {
      width:40px;
      align-items: center;
      justify-content: center;
      margin-right: var(--gap2);
  }

  @media (max-width: 767px) {
    .title.with-vector img {
        display:none;
    }
  }

  .title.with-vector h2 {
      margin-bottom: 0px;
      color:var(--primary-400);
      font-size: clamp(24px, calc(1.5rem + ((1vw - 4.2px) * 2.0588)), 45px);
      font-weight: 700;
      line-height: 120%;
      position: relative;
  }

  @media (max-width: 767px) {
    .title.with-vector h2 {
          text-transform: uppercase;
      }
      .title.with-vector h2:before {
          content: "";
          position: absolute;
          left: 0;
          top: -34px;
          width: 15px;
          height: 22px;
          background: url(/wp-content/uploads/2023/07/Vector-7.svg);
          background-size: contain;
      }
  }

/* ANCHORS */

.anchors {
    padding:var(--gap2) 0px;
}

.anchors > .ctnr {
    justify-content: center;
}

.anchors .lm_button {
    margin-right: 36px;
}

.anchors .lm_button {
    color:var(--primary-400);
    border-color:var(--tertiary-400);
}
.anchors .lm_button:hover {
    background: var(--tertiary-400);
    
}

/* POST NUMBERS */

  .numbers {
      color: var(--primary-400);
      font-size: 24px;
      font-weight: 700;
      line-height: 120%;
      margin-bottom:var(--gap2);
      display: inline-flex;
  }

  .numbers span {
      font-weight: 400;
  }

/* BACK TO TOP */

  #backtotop {
      position:fixed;
      right:var(--gap2);
      bottom:24px;
      cursor:pointer;
      z-index:999;
      pointer-events: none;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  }

  #backtotop:hover {
      transform: translateY(-5px);
  }

  #backtotop.show {
    opacity: 1;
    visibility: visible;
    pointer-events:auto;
  }

/* LINK TEXT */

  a.link-text {
    color: var(--primary-400);
    font-weight: 600;
    line-height: 150%;
    text-decoration: underline;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  a.link-text img {
      padding-left: var(--gap1);
  }

  @media (max-width: 1230px) {
    header #mega-menu-538 .link-text {
      margin-bottom:40px;
    }
    header .link-text {
      color: var(--white);
    }
  }

  #mega-menu-537 .link-text{
      margin-top:15px;
  }

/* PARAGRAPH BLOCK */


.paragraph, .block-editor-rich-text__editable {
    padding-top: var(--gap3);
    color: var(--grey-700);
    font-size: 16px;
    line-height: 150%;
}

.paragraph > .site_margin {
    max-width: 830px;
}

.lm-bloc.paragraph {
    background-color:#eef2ff;
}


/* PAGE - LE MENTORAT */

.page-id-74 .title_img_desc.blue {
    margin-bottom:var(--gap3);
}

.page-id-74 .video_desc {
    padding-top:48px;
}

/* LISTING */ 

.listing,
.facetwp-template {
    margin-bottom:var(--gap2);
}

/* LISTING - PAGINATION */

.facetwp-pager {
    display: flex;
    justify-content: center;
}

a.facetwp-page {
    padding: 12px 13px;
    border-radius: 5px;
    border: 1px solid var(--tertiary-400);
    background: var(--white);
    font-weight:400;
    width: 24px;
    height:24px;
    text-align: center;
    line-height: 150%;
}
a.facetwp-page.active {
    background: var(--primary-400);
    color:var(--white);
    border: 1px solid var(--primary-400);
}

a.facetwp-page { 
    &.prev, &.next {
        background: var(--primary-400);
        color:var(--white);
        border-radius: 50px;
    }
}

/* EVENT MANAGER FIELDS */

.form-field:has(#_event_expiry_date),
.form-field:has(#_cancelled),
.form-field:has(#_featured),
.form-field:has(.current-author),
{
    display:none;
}

/* FILTER */

.lm-filter {
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
    background:var(--primary-400);
    opacity:0.8;
}

/* SLIDER */

.slider > .ctnr >.ctnr {
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    @media(max-width: 768px) {
        flex-direction: column;
    }
}

.slider .title {
    width:43%;
    position:relative;
    @media (max-width:680px) {
        width:100%;
    }
}


.slider .swiper {
  height: 414px;
  width: 57%;
  position: relative;
  overflow:visible;
  @media (max-width:680px) {
        width: 100%;
    }
}

.slider .swiper-wrapper {
    position: absolute;
    top:0px;
    left:0px;
    bottom:0px;
    height: 100%;
}

.slider {
    padding-bottom:var(--gap3);
    padding-top:var(--gap3);
    overflow:hidden;
}

.slider p {
    max-width: 580px;
    padding-bottom: 32px;
}


/* P */

.site_content > :where(p, h2, h3, h4, h5, h6, ul) {
    padding-right: 20px;
    padding-left: 20px;
    max-width: var(--wide-size);
    margin-right: auto;
    margin-left: auto;
}