:root {
  --primary-h: 235; /* hue */
  --primary-s: 15%; /* saturation */
  --primary-l: 43%; /* luminosity */

  --accent-h: 0;  /* hue */
  --accent-s: 82%; /* saturation */
  --accent-l: 64%; /* luminosity */

  --text-h: 11; /* hue */
  --text-s: 18%; /* saturation */
  --text-l: 35%; /* luminosity */

  --background-h: 0; /* hue */
  --background-s: 0%; /* saturation */
  --background-l: 100%; /* luminosity */

  --primary-font: 'Roboto', sans-serif;
  --secondary-font: 'Space Grotesk', sans-serif;

  --h1-font-size: 2.188rem;
  --h2-font-size: 1.563rem;
  --h3-font-size: 1.25rem;
  --headings-line-height: 1.333333;

  --link-color: var(--primary-color-40);

  --border-radius: 0;
  --button-border-radius: 4px;

  --img-slide-01: url('../../../assets/gifs/slider/slide-01.jpg');
  --img-slide-02: url('../../../assets/gifs/slider/slide-02.jpg');
  --img-slide-03: url('../../../assets/gifs/slider/slide-03.jpg');
}

/* GÉNÉRAL */
/* ======= */
@media screen and (min-width: 601px) {
  .section{
    padding: 4rem 0;
  }
}
.max-container{
  max-width: none;
}
@media screen and (min-width: 1280px) {
  .max-container{
    min-width: 1200px;
  }
}
.valide {
  color: hsl(120deg 100% 35%);
}
.erreur, .errors {
  color: hsl(0deg 100% 46%);
}

/* Titres */
h1, .title-1{
  font-family: var(--secondary-font);
}
h2, .title-2{
  font-family: var(--secondary-font);
}
h3, .title-3{
  font-family: var(--secondary-font);
}

/* Boutons */
.btn.primary{
  color: white;
  font-family: var(--secondary-font);
  font-size: 0.938rem;
  font-weight: 500;
  text-align: center;
  padding: 7px 14px;
  border: none;
  border-radius: 4px;
  background-color: var(--primary-color);
  transition: 0.3s ease-in-out;
}
.btn.primary:hover{
  color: white;
  background-color: var(--primary-color-lighten);
}
.btn.accent{
  color: white;
  font-family: var(--secondary-font);
  font-size: 0.938rem;
  font-weight: 500;
  text-align: center;
  padding: 7px 14px;
  border: none;
  border-radius: 4px;
  background-color: var(--accent-color);
  transition: 0.3s ease-in-out;
}
.btn.accent:hover{
  color: white;
  background-color: var(--accent-color-lighten);
}
.btn.outlined{
  color: var(--primary-color);
  font-family: var(--secondary-font);
  font-size: 0.938rem;
  font-weight: 400;
  text-align: center;
  padding: 7px 14px;
  border: 1px solid var(--primary-color);
  border-radius: 4px;
  background-color: transparent;
  transition: 0.3s ease-in-out;
}
.btn.outlined:hover{
  border: 1px solid var(--primary-color);
  background-color: var(--primary-color);
  color: white;
}

/* Slick */

/* BRAND */
/* ===== */
header .brand img.footer-only,
footer .brand img.header-only,
.rappel_telephonique .brand img.footer-only {
  display: none;
}
header .brand a{
  display: inline-block;
  transform: scale(1.8);
}

/* HEADER */
/* ====== */
header{
  position: absolute;
  top: 5vh;
  opacity: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: revealHeader 5s ease-in-out 1.5s both;
}
header .brand a .row{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
header .brand a .bold{
  text-align: center;
  font-family: var(--secondary-font);
  font-size: 1.5rem;
  font-weight: 500;
}
header .brand a .baseline{
  text-align: center;
  font-family: var(--secondary-font);
  font-size: 0.875rem;
  font-weight: 400;
}
@media screen and (max-width: 992px){
  header{
    top: 20vh;
    opacity: 1;
    animation: none;
  }
}

@keyframes revealHeader{
  from{
    top: 5vh;
    opacity: 0;
  }
  20%{
    opacity: 0;
  }
  80%{
    opacity: 1;
  }
  to{
    opacity: 1;
    top: 20vh;
  }
}
  /* Sticky */
    /* Menu mobile */
    /* Header Content */
      /* Top Bar */
        /* Correction 3e sous-menu */
@media screen and (min-width: 993px) {
    .top-bar .main-nav ul li.sous_menu ul.dropdown li.sous_menu ul.ssdropdown{
        display: none;
        width: max-content;
        max-width: 400px;
        background-color: rgba(255, 255, 255, 1);
        position: absolute;
        top: 0;
        left: 100%;
        box-shadow: 0 0 1rem 0 rgba(0, 0, 0, .08);
        z-index: 2;
    }
    .top-bar .main-nav ul li.sous_menu ul.dropdown li.sous_menu:hover ul.ssdropdown {
        display: block;
    }
}
      /* Main Content */
@media screen and (min-width: 800px) {
  header .sticky .header-content .main-header-content #main-nav ul li.sous_menu.opened > a{
    padding-left: 20px;
  }
}
@media screen and (max-width: 992px) {
  header .sticky .header-content .main-header-content nav#main-nav > ul > .sous_menu.opened > a{
    background-color: transparent;
    transition: none;
  }
}
  /* Fold */

/* MAIN */
/* ==== */
body{
  position: relative;
  min-height: 100vh;
}
body::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-image: url("../assets/gifs/bg-index.jpeg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.3;
  z-index: -1;
}
main{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
}

.double-section{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 992px) {
  .double-section{
    width: 100%;
    padding-top: 30vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
  }
}
@media screen and (max-width: 601px) {
  .double-section{
    padding-top: 35vh;
  }
}

.double-section .single-section{
  position: relative;
}
.double-section .single-section::before{
  content: '';
  position: absolute;
  bottom: -40px;
  left: 0;
  display: block;
  width: 40vw;
  min-width: 480px;
  height: 50vh;
  transform: scaleX(-1);
  background-image: url("../assets/gifs/bg-osteo.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  /* clip-path: polygon(0 100%, 0 0, 100% 46%, 100% 100%); */
  /* clip-path: polygon(
    calc(100% - 28.5px) calc(100% - 0.90000000000001px), 
    32.2px calc(100% - 0.90000000000001px), 
    32.2px calc(100% - 0.90000000000001px), 
    26.973px calc(100% - 1.321px), 
    22.016px calc(100% - 2.54px), 
    17.395px calc(100% - 4.491px), 
    13.176px calc(100% - 7.108px), 
    9.425px calc(100% - 10.325px), 
    6.208px calc(100% - 14.076px), 
    3.591px calc(100% - 18.295px), 
    1.64px calc(100% - 22.916px), 
    0.421px calc(100% - 27.873px), 
    5.3248111102418E-31px calc(100% - 33.1px), 
    0px 87.4px, 

    0px 87.4px, 
    0.1942px 84.5609px, 
    0.7616px 81.8232px, 
    1.6794px 79.2163px, 
    2.9248px 76.7696px, 
    4.475px 74.5125px, 
    6.3072px 72.4744px, 
    8.3986px 70.6847px, 
    10.7264px 69.1728px, 
    13.2678px 67.9681px, 
    16px 67.1px, 
    calc(100% - 30.8px) 0.700002px, 

    calc(100% - 30.8px) 0.700002px, 
    calc(100% - 26.1225px) 0.019601458px, 
    calc(100% - 21.568px) 0.212801024px, 
    calc(100% - 17.2235px) 1.211200686px, 
    calc(100% - 13.176px) 2.946400432px, 
    calc(100% - 9.5125px) 5.35000025px, 
    calc(100% - 6.3200000000001px) 8.353600128px, 
    calc(100% - 3.6855px) 11.888800054px, 
    calc(100% - 1.696px) 15.887200016px, 
    calc(100% - 0.43850000000003px) 20.280400002px, 
    calc(100% - 5.6843418860808E-14px) 25px, 
    calc(100% - 0px) calc(100% - 29.4px), 

    100% 100%, 100% 0%); */
  clip-path: polygon(calc(100% - 28.5px) calc(100% - 0.90000000000001px), 32.2px calc(100% - 0.90000000000001px), 32.2px calc(100% - 0.90000000000001px), 26.973px calc(100% - 1.321px), 22.016px calc(100% - 2.54px), 17.395px calc(100% - 4.491px), 13.176px calc(100% - 7.108px), 9.425px calc(100% - 10.325px), 6.208px calc(100% - 14.076px), 3.591px calc(100% - 18.295px), 1.64px calc(100% - 22.916px), 0.421px calc(100% - 27.873px), 5.3248111102418E-31px calc(100% - 33.1px), 0px 87.4px, 0px 87.4px, 0.1942px 84.5609px, 0.7616px 81.8232px, 1.6794px 79.2163px, 2.9248px 76.7696px, 4.475px 74.5125px, 6.3072px 72.4744px, 8.3986px 70.6847px, 10.7264px 69.1728px, 13.2678px 67.9681px, 16px 67.1px, calc(100% - 30.8px) 0.700002px, calc(100% - 30.8px) 0.700002px, calc(100% - 26.1225px) 0.019601458px, calc(100% - 21.568px) 0.212801024px, calc(100% - 17.2235px) 1.211200686px, calc(100% - 13.176px) 2.946400432px, calc(100% - 9.5125px) 5.35000025px, calc(100% - 6.3200000000001px) 8.353600128px, calc(100% - 3.6855px) 11.888800054px, calc(100% - 1.696px) 15.887200016px, calc(100% - 0.43850000000003px) 20.280400002px, calc(100% - 5.6843418860808E-14px) 25px, calc(100% - 0px) calc(100% - 29.4px), calc(100% - 0px) calc(100% - 29.4px), calc(100% - 0.37139999999999px) calc(100% - 24.7869px), calc(100% - 1.4471999999999px) calc(100% - 20.4072px), calc(100% - 3.1698px) calc(100% - 16.3203px), calc(100% - 5.4816px) calc(100% - 12.5856px), calc(100% - 8.325px) calc(100% - 9.2625px), calc(100% - 11.6424px) calc(100% - 6.4104px), calc(100% - 15.3762px) calc(100% - 4.0887px), calc(100% - 19.4688px) calc(100% - 2.3568px), calc(100% - 23.8626px) calc(100% - 1.2741px), calc(100% - 28.5px) calc(100% - 0.90000000000001px));

  /* clip-path: content-box path('m 0 0 l 0 -6 l 4.992 1.63 c 0.793 0.28 1.005 0.532 1.008 1.37 l 0 3 z'); */
}
.double-section .single-section:nth-child(2)::before{
  left: auto;
  right: 0;
  background-image: url("../assets/gifs/bg-artiste.jpg");
  /* clip-path: polygon(100% 100%, 100% 0, 0 46%, 0 100%); */
  transform: scaleX(1);
}
@media screen and (max-width: 992px) {
  .double-section .single-section{
    margin-bottom: 4rem;
  }
  .double-section .single-section::before{
    clip-path: none;
    width: 100vw;
    height: 20vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .double-section .single-section:nth-child(2):before{
    clip-path: none;
    width: 100vw;
    height: 20vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.double-section .single-section .card{
  position: absolute;
  bottom: 2.5rem;
  left: 2.5rem;
  max-width: 384px;
  width: max-content;
  background-color: #ffffff;
  border-radius: 30px;
  padding: 1rem;
  box-shadow: inset 0 3px 6px rgba(0, 0, 0, 16%);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 16%));
}
.double-section .single-section:nth-child(2) .card{
  left: auto;
  right: 2.5rem;
}
.double-section .single-section .card .card__content .card-image{
  animation: revealImage 5s ease-in-out 1.5s both;
  max-height: 0px;
  opacity: 0;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 992px) {
  .double-section .single-section .card{
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
  }
  .double-section .single-section:nth-child(2) .card{
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
  }
  .double-section .single-section .card .card__content .card-image{
    max-height: 250px;
    opacity: 1;
    animation: none;
  }
}
@media screen and (max-width: 601px) {
  .double-section .single-section .card{
    max-width: none;
    width: 90vw;
  }
}
.double-section .single-section .card .card__content .card-image img{
  display: block;
  width: 100%;
  max-height: 225px;
  aspect-ratio: 351/210;
  border-radius: 15px;
  overflow: hidden;
  object-fit: cover;
  object-position: center;
  box-shadow: inset 0 3px 6px rgba(0, 0, 0, 16%);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 16%));
}
@keyframes revealImage{
  from{
    max-height: 0px;
    opacity: 0;
  }
  33%{
    opacity: 1;
  }
  to{
    opacity: 1;
    max-height: 250px;
  }
}

.double-section .single-section .card .card__content .card-title{
  margin: 1.25rem 10% 1.5rem;
  font-family: var(--secondary-font);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.1;
}
.double-section .single-section .card .card__content .card-title span{
  font-size: 1.5rem;
}
.double-section .single-section .card .card__content .card-link{
  margin: 0 10% 0.875rem;
}

  /* Encart prestations */
  /* Encart catalogue */
  /* Encart avis */
  /* Encart actualités */
  /* Blocs */


/* FOOTER */
/* ====== */
footer{
  background-color: var(--primary-color);
  padding: 2rem 0 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
footer .main-footer .main-footer__content{
  display: grid;
  grid-template-columns: 2fr 1.5fr 1.5fr 2fr;
  gap: 2rem;
  align-items: flex-start;
}
@media screen and (max-width: 1360px) {
  footer .main-footer .main-footer__content{
    grid-template-columns: 3fr 1.5fr 1.5fr 2fr;
  }
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content{
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 600px) {
  footer .main-footer .main-footer__content{
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content .brand{
    grid-column: 1/-1;
    text-align: center;
  }
}
footer .main-footer .main-footer__content .brand{
  align-self: flex-start;
}
footer .main-footer .main-footer__content .brand a svg path{
  fill: #ffffff;
}
footer .main-footer .main-footer__content .brand a .bold,
footer .main-footer .main-footer__content .brand a .baseline{
  color: #ffffff;
}
footer .main-footer .main-footer__content .coordonnees-footer{
  color: #ffffff;
  font-size: 0.813rem;
}
footer .main-footer .main-footer__content .coordonnees-footer address.coordonnee-telephone a{
  display: inline-block;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 1rem;
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content .coordonnees-footer *{
    text-align: center;
  }
}
footer .main-footer .main-footer__content .horaires-footer{
  color: #ffffff;
  font-size: 0.813rem;
}
footer .main-footer .main-footer__content .horaires-footer strong{
  display: block;
  margin-bottom: 1rem;
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content .horaires-footer *{
    text-align: center;
  }
}
footer .main-footer .main-footer__content .reseaux-footer{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content .reseaux-footer{
    grid-column: 1/-1;
    justify-content: center;
    gap: 2rem;
  }
}
@media screen and (max-width: 600px) {
  footer .main-footer .main-footer__content .reseaux-footer{
    gap: 1rem;
  }
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux{
  width: 100%;
}
@media screen and (min-width: 993px) {
  footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux{
    max-width: 120px;
  }
}
@media screen and (max-width: 992px) {
  footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux{
    width: calc(50% - 1rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (max-width: 600px) {
  footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux{
    width: 100%;
  }
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux:first-child{
  margin-bottom: 1rem;
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux strong{
  display: block;
  margin-bottom: 1rem;
  color: #ffffff;
  font-size: 0.813rem;
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux ul{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux ul li:not(:last-child){
  margin-right: 10px;
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux ul li a svg path{
  fill: #ffffff;
  transition: 0.3s ease-in-out;
}
footer .main-footer .main-footer__content .reseaux-footer .reseaux-sociaux ul li a:hover svg path{
  fill: var(--accent-color);
}
footer .main-footer .main-footer__content .newsletter-footer{
  background-color: #ffffff80;
  border-radius: 3px;
  padding: 10px;
}
footer .main-footer .main-footer__content .newsletter-footer #mess_newsletter{
  color: red;
}
footer .main-footer .main-footer__content .newsletter-footer label{
  font-family: var(--secondary-font);
  color: var(--text-color);
  font-weight: 700;
  font-size: 0.875rem;
  display: block;
  margin-bottom: 10px;
}
footer .main-footer .main-footer__content .newsletter-footer .newsletterInput{
  
}
footer .main-footer .main-footer__content .newsletter-footer .newsletterInput input#input_newsletter{
  border: none;
  border-bottom: 1px solid #5A4D4A;
  margin-bottom: 12px;
  border-radius: 0;
  padding-bottom: 0;
  font-weight: 400;
}
footer .main-footer .main-footer__content .newsletter-footer .newsletterInput input#submit_newsletter{
  background-color: #5A4D4A;
}
@media screen and (max-width: 1360px) {
  footer .main-footer .main-footer__content .newsletter-footer{
    grid-column: 1/-1;   
  }
}
@media screen and (min-width: 601px) {
  footer .main-footer .main-footer__content .newsletter-footer .newsletterInput{
    position: relative;
  }
  footer .main-footer .main-footer__content .newsletter-footer .newsletterInput input#submit_newsletter{
    width: fit-content;
    position: absolute;
    right: 0px;
    bottom: 13px;
    border-radius: 3px 3px 0 0;
  }
}

footer .sub-footer .sub-footer__content{
  margin: 2rem 2vw 0;
  padding-top: 1rem;
  border-top: 2px solid #ffffff;
}
footer .sub-footer .sub-footer__content nav ul{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
}
footer .sub-footer .sub-footer__content nav ul li{
  margin: 0 2rem;
  color: #ffffff;
  font-size: 0.938rem;
}
footer .sub-footer .sub-footer__content nav ul li a{
  color: #ffffff;
  text-decoration: underline;
}
footer .sub-footer .sub-footer__content nav ul li a:hover{
  text-decoration: none;
}
@media screen and (max-width: 992px) {
  footer .sub-footer .sub-footer__content nav ul{
    flex-direction: column;
  }
  footer .sub-footer .sub-footer__content nav ul li:not(:last-child){
    margin: 0 2rem 10px;
  }
}

/* PAGES INTERNES */
/* ============== */
  /* Fil d'ariane */
.fil-ariane .first,
#fil_ariane .first{
  display: inline;
}
#fil_ariane a{
  color: var(--link-color);
  text-decoration: underline;
}
#fil_ariane a:hover{
  text-decoration: none;
}
  /* Relance */
#relance ul{
  padding-left: 0;
}
body.page-interne .sc-content #relance ul li a{
  color: var(--link-color);
}
  /* Encart contact */
@media screen and (max-width: 992px) {
  #encart-contact .row .col:not(:last-child) .card{
    margin-bottom: 2rem;
  }
}
  /* Politique de confidentialité */
body.page-politique-confidentialite main .section address{
  margin-bottom: 1rem;
}
  /* Plan du site */
body.plan-site main .section .sitemap-nav ul li:not(:last-of-type){
  margin-bottom: 8px;
}
  /* Rappel téléphonique */
.rappel_telephonique .brand{
  text-align: center;
  margin: 2rem 0;
}
.rappel_telephonique .brand a{
  display: inline-block;
}
.rappel_telephonique h2{
  text-align: center;
}
  /* Page 404 */
  /* Page Contact */
body.contact-page main .section:first-child .row .col .row{
  flex-wrap: nowrap;
} 
table.horaires tr > td:not(:last-child) {
  padding-right: 1rem;
}
body.contact-page main ul.coordonnees address{
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  body.contact-page main .contact-horaires{
    margin-top: 1rem;
  }
}
  /* Actualités listing */
@media screen and (min-width: 601px) {
  body.actualites-listing .recherche_actu #input_recherche_actu{
    width: calc(100% - 5.25rem);
  }
}
body.actualites-listing main #container_actualite_listing .masonry-grid{
  display: grid;
  grid-auto-rows: auto;
  gap: 1.5rem;
}
  /* Actualités détail */
  /* Catalogue listing */
  /* Catalogue détail */
body.catalogue-listing main #catalogue_contenu .masonry-grid{
  display: grid;
  grid-auto-rows: auto;
  gap: 1.5rem;
}
  /* PaginationControl */
.paginationControl{
  margin: 2.5rem 0;
  text-align: center;
}
.paginationControl *{
  color: var(--text-color);
  text-decoration: none;
  text-align: center;
  display: inline-block;
  line-height: 1.8;
  width: 26px;
  height: 26px;
  margin: 0 1rem;
  padding: 0 4px;
  border-radius: 50%;
}
.paginationControl :first-child,
.paginationControl :last-child{
  font-size: 1.635rem;
  line-height: 0.8;
}
.paginationControl .selected{
  color: white;
  background-color: var(--text-color);
}
.paginationControl .disabled{
  opacity: 0.5;
}
.paginationControl a{
  transition: 0.3s ease-in-out;
}
.paginationControl a:hover{
  color: white;
  background-color: hsla(var(--text-h), var(--text-s), var(--text-l), 0.5);
}
@media screen and (max-width: 992px) {
  .paginationControl *{
    margin: 0.5rem 1rem;
  }
}