/*
Theme Name: Magma
Description: Magma - thème
Version: 2.0.0
Author: Inside Web
Author URI: https://www.insideweb.be
*/

@font-face {
    font-family: 'Lima';
    src: url('https://www.magma-studio.be/layout/themes/magma/fonts/Lima-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
  

:root {
    --white: #ffffff;
    --black: #000000;
    --primary: #00765D;
    --secondary: #FAEEE2;
    --orange: #FF4301;
    --bleu: #C5E7E7;
    --orange-pal: #FFC9B1;
    --redHat: "Red Hat Mono", monospace;;
    --lima: 'Lima', sans-serif;
}


body{
    font-family: var(--redHat);	
    font-weight:400;
    margin: 0;
    overflow-y: scroll;
    /*14px-16px*/
    font-size: clamp(0.875rem, 0.831rem + 0.1878vw, 1rem);
    color:var(--primary);
    background-color: var(--secondary);
}

a {
    color: var(--primary);
    /* border-bottom: 1px solid var(--primary); */
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

a:hover{
    color: var(--orange) !important;
}

img {
    width: 100%;
}

p:last-child {
    margin-bottom: 0;
}

button, .button{
    background: var(--secondary);
    border: 1px solid var(--secondary);
    padding: 10px 20px;
    color: var(--primary);
    /*14px-16px*/
    font-size: clamp(0.875rem, 0.831rem + 0.1878vw, 1rem);
    transition: all 0.5s ease 0s;
}

button:hover, .button:hover{
    background: transparent;
    border: 1px solid var(--secondary);
    color: var(--secondary);
}

.hide{
    display: none;
}

.btnSite, .btnFiltre{
    border: 1px solid var(--orange);
    color: var(--white);
    background-color: var(--orange);
    padding: 8px 30px;
    transition: all 0.2s ease-in-out;
    font-size: 14px;
    text-transform: uppercase;
    border-radius: 25px;
    display: block;
    max-width: max-content;
    font-family: var(--redHat);
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-align: center;
}

.btnSite:hover{
    background-color: var(--primary);
    color: var(--white) !important;
    border: 1px solid var(--primary);
}

.btnFiltre{
    background-color: var(--transparent);
    border: 1px solid var(--primary) !important;
    color: var(--primary);
}

.btnFiltre:hover{
    background-color: var(--primary);
    color: var(--white) !important;
}

.lienSite{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: var(--primary);
    border-bottom: 1px solid var(--primary);
    padding-bottom: 2px;
    max-width: max-content;
    text-decoration: none;
}

.lienDropdown{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: var(--primary);
    padding-bottom: 2px;
    max-width: max-content;
    margin-bottom: 20px;
    text-decoration: none;
}

.lienDropdown span{
    border-bottom: 1px solid var(--primary);
    transition: all 0.2s ease-in-out;
}

.lienDropdown:hover span{
    border-bottom: 1px solid var(--orange);
}

.lienDropdown::before{
    content: "\f107";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    margin-right: 0.5em;
}

/* HEADER */

.nav-link{
    color: var(--primary) !important;
    text-transform: uppercase;
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.5px;
    margin-left: 10px;
    margin-right: 10px;
}

.current_page_item .nav-link{
    color: var(--orange) !important;
}

header .navbar-brand img, .logo-footer{
    width: auto;
    max-width: 40px;
}

header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    transition: all 0.2s ease-in-out;
    padding: 10px;
    padding-bottom: 10px;
}

#headerBlanc{
    background-color: var(--white);
}

header.active{
    background-color: var(--white);
}

.offcanvas-footer{
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0;
}

.offcanvas{
    height: 100vh !important;
}


.burger{
    display: flex;
    align-items: center;
    outline: none;
    height: 30px;
    width: 24px;
    border: 0;
    padding: 0px;
    background: var(--transparent);
    transition: all 250ms ease-out;
    cursor: pointer;
    z-index: 9999;
}

.burger:focus, .burger:hover{
    box-shadow: none;
    border: none;
}

.ligne{
    content: '';
    width: 24px;
    height: 2px;
    position: absolute;
    transition: all 250ms ease-out;
    will-change: transform;
}

.ligne-gauche{
    background-color: var(--white);
    transform: translateY(6px);
}

.ligne-center{
    background-color: var(--white);
    transform: translateY(0px);
}

.ligne-droite{
    background-color: var(--white);
    transform: translateY(-6px);
}

.ligne-gauche.active{
    transform: translateY(0) rotate(45deg);
    background-color: var(--black);
}

.ligne-center.active{
    opacity: 0;
    background-color: var(--black);
}

.ligne-droite.active{
    transform: translateY(0) rotate(-45deg);
    background-color: var(--black);
}

.firstSection{
    margin-top: 76px;
}

.firstSection2{
    margin-top: 120px;
    margin-bottom: 80px;
}

.mb-20-10{
    margin-bottom: 20px;
}

.mb-20{
    margin-bottom: 20px;
}

.mb-40{
    margin-bottom: 40px !important;
}
.mb-30{
    margin-bottom: 30px;
}

.mt-20{
    margin-top: 20px;
}
.mt-30{
    margin-top: 30px;
}

.mt-40{
    margin-top: 40px;
}

.mt-50{
    margin-top: 50px;
}

.pb-10{
    padding-bottom: 10px;
}

.pt-10{
    padding-top: 10px;
}

.space{
    margin-top: 80px;
    margin-bottom: 80px;
}

a{
    text-decoration: underline;
}

h1{
    font-family: var(--lima);
    font-weight: 400;
    font-size: 48px;
    line-height: 48px;
    letter-spacing: 1px;
}

h2{
    font-family: var(--lima);
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 0.5px;
    color: var(--primary);
}

h3{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 28px;
    line-height: 40px;
    letter-spacing: 0.5px;
}

h4{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0.5px;
}

h5{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.5px;
}

h6{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}

p{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
}

.h1-page{
    font-family: var(--lima);
    font-weight: 400;
    font-size: 48px;
    line-height: 48px;
    letter-spacing: 1px;
}

.h2-titre{
    font-family: var(--lima);
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 0.5px;
    color: var(--primary);
}

.h3-titre{
    font-family: var(--lima);
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.5px;
}

.h4-titre{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 28px;
    line-height: 40px;
    letter-spacing: 0.5px;
}

.titre-semi{
    font-family: var(--redHat);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
}

.h4-footer{
    font-family: var(--redHat);
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.p-lg-site{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.p-xl-site{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.56px;
    text-transform: uppercase;
}

.p-site{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
}

.color-orange{
    color: var(--orange);
}

.color-green{
    color: var(--primary);
}

.color-white{
    color: var(--white);
}

.bg-green{
    background-color: var(--primary);
    border-color: var(--primary) !important;
}

.bg-bleu-clair{
    background-color: #C5E7E6;
    border-color:  #C5E7E6 !important;
}

.bg-yellow{
    background-color: #FBB424;
    border-color: #FBB424 !important;
}

.bg-rose{
    background-color: #FF75D1;
    border-color: #FF75D1 !important;
}

.bg-orange{
    background-color: var(--orange);
    border-color: var(--orange) !important;
}

/* FIN HEADER */

/* FOOTER */

footer{
    padding-top: 40px;
    background-color: var(--white);
}

.footer{
    padding-bottom: 30px;
}

.ul-footer{
    list-style: none;
    padding: 0;
}

.ul-footer li a, .lienFiltre{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: var(--primary);
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
    max-width: max-content;
    text-decoration: none;
}

.lienFiltre{
    display: block;
    margin-bottom: 5px;
}

.lienFiltre:hover, .ul-footer li a:hover, .lienFiltre.active{
    color: var(--orange);
}

.lienFiltre.active{
    color: var(--orange) !important;
}

.categories-filtre {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
    display: flex;
    flex-wrap: wrap;
}

/* Quand visible */
#filtreCategories.show {
    max-height: 1000px;
}

.marginProduit{
    margin-top: 3rem;
}



.copyright{
    background-color: var(--primary);
    padding-top: 20px;
    padding-bottom: 20px;
}

.p-footer{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.5px;
    color: var(--white);
    text-transform: uppercase;
}

.p-footer a{
    transition: all 0.2s ease-in-out;
    color: var(--white);
    text-decoration: none;
}

.p-footer a:hover{
    color: var(--orange);
}

.divReseau{
    display: flex;
    justify-content: start;
    align-items: center;
}

.divReseau a{
    background-color: var(--primary);
    width: 40px;
    aspect-ratio: 1;
    border: 1px solid var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    margin-right: 10px;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
}

.divReseau a:hover{
    background-color: var(--transparent);
    color: var(--primary);
}

/* FIN FOOTER */

/* HOME PAGE */

.imgHeaderHome{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.absoluteContainer, .absoluteContainerHome, .absoluteContainerFinHome, .absoluteContainerConcept, .absoluteContainerContact{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.logoHome{
    max-width: 660px;
}

.header-nav .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.header-left,
.header-right {
    flex: 1;
}

.header-right{
    display: flex;
    justify-content: end;
}

.header-center {
    flex: 0 1 auto;
    text-align: center;
}


.flexHome{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rond{
    border: 1px solid var(--white);
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 234px;
    aspect-ratio: 1;
}

.imgIcone{
    max-height: 120px;
    object-fit: contain;
}

.transformTitre{
    transform: translateY(-24px);
}

.flexCol{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 80px;
    padding-right: 80px;
}

.bg-bleu{
    background-color: var(--bleu);
}

.bg-white{
    background-color: var(--white);
    padding-top: 80px;
    padding-bottom: 80px;
}

.bgGreen{
    background-color: var(--primary);
}

.bgBeige{
    background-color: var(--secondary);
}

.imgMagma{
    /* max-height: 450px; */
    object-fit: cover;
    max-height: 511px;
    width: calc(100% - 30px);
}

.row-special{
    --bs-gutter-x: 60px;
}

.row-special2{
    --bs-gutter-x: 60px;
}

.imgBackgroundContact{
    padding-bottom: 90px;
    padding-top: 90px;
    background-position: 50% 25%;
    background-size: cover;
}

.max450{
    max-height: 511px;
    object-fit: cover;
    height: 100%;
}

.padding0{
    padding: 0;
}

.padding0Deux{
    padding: 0 !important;
}

.paddingLeft0{
    padding-left: 0;
}

.paddingRight0{
    padding-right: 0;
}

.imgHeader{
    width: calc(50vw - 30px);
    object-fit: cover;
    max-height: 690px;
}

.backgroungSvg{
    width: calc(50vw + 30px);
    object-fit: cover;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
}

.imgBackground{
    max-height: 690px;
    aspect-ratio: 1;
    object-fit: cover;
}

.flexRondService{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
}

.bgFormule{
    max-height: 650px;
}

.bgFormule2{
    max-height: 650px;
}

.formule .card{
    height: 100%;
}

.card{
    border: 0;
    padding: 20px;
    border-radius: 12px;
    /* height: 100%; */
    /* display: flex;
    flex-direction: column;
    justify-content: space-between; */
}

/* FIN HOME PAGE */

.bg-bleu-40{
    background-color: var(--bleu);
    padding-top: 80px;
    padding-bottom: 80px;
}

.bg-white-40{
    background-color: var(--white);
    padding-top: 80px;
    padding-bottom: 80px;
}

.flexContenu{
    display: flex;
    align-items: start;
    justify-content: center;
    flex-direction: column;
}

.bg-orange-40{
    background-color: var(--orange-pal);
    padding-top: 80px;
    padding-bottom: 80px;
}

/* FAQ */

.borderFaq{
    border-bottom: 1px solid var(--primary);
    padding-bottom: 30px;
    margin-bottom: 20px;
}

/* accordion-style-one */
.accordion-style-one .accordion .card {
    background-color: var(--transparent);
    padding: 0;
  }
  .accordion-style-one .accordion .card .card-header {
    padding: 0;
    background: none;
  }
  .accordion-style-one .accordion .card .card-header a {
    display: flex;
    align-items: center;
    justify-content: start;
    position: relative;
    color: var(--primary);
    -webkit-transition: all 0.2s ease-out 0s;
    -moz-transition: all 0.2s ease-out 0s;
    -ms-transition: all 0.2s ease-out 0s;
    -o-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s;
    border-bottom: 1px solid var(--primary);
    margin: -1px;
    padding: 20px 0;
    z-index: 5;
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
  }
  .accordion-style-one .accordion .card .card-header a.collapsed {
    border: 0;
    border-bottom: 1px solid #00745925;
    border-radius: 0;
  }
  .accordion-style-one .accordion .card .card-body {
    padding: 50px;
  }

  .accordion-style-one .accordion .card .card-body .text {
    color: var(--dark-3);
  }
  .page-template-page-reservation-php .card-body, .page-template-page-reservation-php .card-body .paddingContenuContact{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .rondLien{
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--primary);
    border-radius: 50%;
    margin-right: 10px;
  }
  .accordion-style-one .accordion .card .card-header a.collapsed .rondLien{
      transform: rotate(180deg);
  }
.rondLien i{
    font-size: 13px;
    color: var(--white);
}

.border-bottom-mentions{
    border-bottom: 1px solid #007459;
    padding-top: 40px;
    padding-bottom: 40px;
}

.border-bottom-mentions:last-of-type {
    border-bottom: none;
}  

#reservation .accordion-style-one .accordion .card .card-header a.collapsed, #reservation .accordion-style-one .accordion .card .card-header, #reservation .accordion-style-one .accordion .card .card-header a{
    border: none;
    padding: 0;
}

#reservation .accordion-style-one{
    margin-bottom: 20px;
    padding: 0;
}

#reservation .accordion-style-one .card{
    padding: 0;
    border-radius: 12px;
}

#reservation .accordionFormule{
    font-family: var(--lima) !important;
    font-size: 24px ;
    font-weight: 400 !important;
    line-height: 32px;
    letter-spacing: 0.38px !important;
    text-transform: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: var(--white);
    padding: 20px;
    border-radius: 12px;
    text-decoration: none;
}

#reservation .card-header{
    padding: 0;
    border-radius: 12px;
    border: 0;
}

/* FIN FAQ */

/* CONTACT */

.borderText{
    border: 1px solid var(--primary);
    border-radius: 15px;
    padding: 40px;
}

.flexFormulaireContact{
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    margin-bottom: 20px;
}

.flexFormulaireContact input, .flexFormulaireContact textarea, .flexFormulaireContact select{
    width: 100%;
    outline: none;
    border: none;
    height: 40px;
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.5px;
    color: var(--primary);
    background-color: var(--white);
    padding-left: 10px;
    padding-right: 10px;
}

.flexFormulaireContact input:-webkit-autofill,
.flexFormulaireContact textarea:-webkit-autofill,
.flexFormulaireContact select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--white) inset; /* remet ton fond */
  -webkit-text-fill-color: var(--primary); /* remet ta couleur de texte */
  transition: background-color 5000s ease-in-out 0s; /* hack pour éviter retour du gris */
}


.flexFormulaireContact select{
    border-radius: 0;
}

.flexFormulaireContact textarea{
    height: 120px;
}

.flexFormulaireContact label{
    font-family: var(--redHat);
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.5px;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.divBtnContact{
    display: flex;
    justify-content: center;
    align-items: center;
}

.imgContact{
    height: 1000px;
    object-fit: cover;
}

.imgContactVille{
    aspect-ratio: 3/2;
    object-fit: cover;
}

/* FIN CONTACT */

/* PAGE 404 */

#page404{
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-self: center;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.lien404{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: var(--white);
    margin-top: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--white);
    display: block;
    max-width: max-content;
    text-decoration: none;
}

/* FIN PAGE 404 */

.card-produit{
    background-color: rgba(255,255,255,0.4);
    border-radius: 12px;
    position: relative;
    box-sizing: border-box;
}

.effetHover{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.contenuAbsolute{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--white);
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px;
}

.produit-title{
    font-family: var(--redHat);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.44px;
    line-height: 24px;
    text-transform: uppercase;
    text-align: start;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 0;
}

.description-produit{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    text-align: start;
    padding-left: 20px;
    padding-right: 20px;
}

.img-wrapper{
    width: 100%;
}

.img-wrapper2{
    opacity: 0;
    transition: opacity 0.2s ease;
}

.imgHeight100{
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.card-produit:hover .img-wrapper2 {
    opacity: 1;
}
  
#produitsContainer {
    position: relative;
  }
  
  .grid-sizer,
  .produit-item {
    width: calc(33.3333% - 13.3333px); /* Ajusté pour compenser le gutter */
  }
  
  .produit-item {
    margin: 0;
    padding: 0;
    /* padding-bottom: 20px; */
    margin-top: 20px;
  }

  
  /* Responsive */
  @media (max-width: 992px) {
    .grid-sizer,
    .produit-item {
      width: calc(50% - 10px); /* Ajusté pour 2 colonnes */
    }
  }
  
  
  
  

.backgroundProduit{
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.imgProduit{
    position: relative;
    z-index: 1;
    height: 100%;
    width: 100%;
    object-fit: contain;
}


.loader {
    color: var(--orange);
    font-size: 10px;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    animation: mulShdSpin 1.3s infinite linear;
    transform: translateZ(0);
    display: block;
  }

  #produitsLoader{
    justify-content: center;
    align-items: center;
    margin-top: 80px !important;
  }
  
  @keyframes mulShdSpin {
    0%,
    100% {
      box-shadow: 0 -3em 0 0.2em, 
      2em -2em 0 0em, 3em 0 0 -1em, 
      2em 2em 0 -1em, 0 3em 0 -1em, 
      -2em 2em 0 -1em, -3em 0 0 -1em, 
      -2em -2em 0 0;
    }
    12.5% {
      box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 
      3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, 
      -2em 2em 0 -1em, -3em 0 0 -1em, 
      -2em -2em 0 -1em;
    }
    25% {
      box-shadow: 0 -3em 0 -0.5em, 
      2em -2em 0 0, 3em 0 0 0.2em, 
      2em 2em 0 0, 0 3em 0 -1em, 
      -2em 2em 0 -1em, -3em 0 0 -1em, 
      -2em -2em 0 -1em;
    }
    37.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
       3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, 
       -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
       3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, 
       -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
      box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em,
       3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, 
       -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
      box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 
      3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, 
      -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }
    87.5% {
      box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 
      3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, 
      -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
  }
    
.noneDekstop{
    display: none;
}
.noneMobile{
    display: block;
}

.height-100{
    height: 100%;
}

.bgImage{
    background-size: cover;
    aspect-ratio: 1;
    background-repeat: no-repeat;
}

.contenuWhite{
    color: var(--white);
}

.contenuWhite a{
    color: var(--white);
}

.card-body{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.43px;
    color: var(--primary);
}

b, strong{
    font-weight: 600;
}

.borderText .p-lg-site{
    text-transform: unset;
}

.stickyImage{
    position: sticky;
    top: 160px;
}

canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0%;
    top: 0%;
    /* transform: translate(-50%, -50%); */
  }
  
  .exemple{
    height: 100vh;
    width: 100%;
  }
  
  .row{
      /* --bs-gutter-x: 60px; */
  }

  #boutique .texteContenu h6, #boutique .texteContenu a{
    color: var(--white);
  }
.inputNewsletter{
    border:0;
    border-bottom: 1px solid var(--primary);
    outline: none;
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.5px;
    color: var(--primary);
    border-radius: 0;
}
.inputNewsletter::placeholder{
    font-family: var(--redHat);
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.5px;
    color: var(--primary);
    text-transform: capitalize !important;
}

.marginBottomMobile{
    margin-bottom: 40px;
}

.offcanvas.offcanvas-top{
    /* top: 70px; */
    padding-top: 70px;
}

.imgHeaderCanva{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: -1;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='12' viewBox='0 0 24 24' width='12' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    padding-right: 30px; /* espace pour la flèche */
    border: 1px solid #ccc;
    border-radius: 4px;
}

.textFontSize ul li{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
}

.invalidInput{
    color: red;
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    margin-top: 5px;
}

.heightZenchef{
    height: 510px;
}

.heightZenchef610{
    height: 610px;
}

li{
    font-family: var(--redHat);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
}
  
.mobileBlock{
    display: none;
}

/* BREVO */

#sib-container input:-ms-input-placeholder {
    text-align: left;
    font-family: var(--redHat);
    color: #c0ccda;
}

#sib-container input::placeholder {
    text-align: left;
    font-family: var(--redHat);
    color: #c0ccda;
}

#sib-container textarea::placeholder {
    text-align: left;
    font-family: var(--redHat);
    color: #c0ccda;
}

#sib-container a {
    text-decoration: underline;
    color: #2BB2FC;
}

.sib-form-message-panel__inner-text{
    font-family: var(--redHat);
    font-size: 14px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.5px;
    color: var(--primary);
}

.sib-form-message-panel{
    border: 0 !important;
    padding: 0 !important;
}

.sib-form-message-panel__text{
    padding: 0 !important;
}

/* FIN BREVO */

.mobileImg{
    display: none;
}

.produitImg{
    display: none;
}

/* .containerHeight{
    height: 690px;
} */

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{
        max-width: 1140px;
    }
}
@media only screen and (max-width: 1400px){ 

}
@media only screen and (max-width: 1200px){ 

}
@media only screen and (max-width: 992px){
    .mobileImg, .produitImg{
        display: block;
    }
    .dekstopImg{
        display: none;
    }
    .contenuAbsolute{
        /* height: calc(100% + 50px); */
        bottom: 0;
    }
    .produit-item:hover{
        /* height: calc(100% + 50px); */
        /* height: 200px; */
    }
    .mobileNone{
        display: none;
    }
    .mobileBlock{
        display: block;
    }
    .heightZenchef{
        height: 600px;
    }
    .heightZenchef610{
        height: 660px;
    }
    a:hover{
        color: var(--primary) !important;
    }
    a:focus{
        color: var(--primary) !important;
    }
    #menu-header-mobile{
        padding: 0;
    }
    #menu-header-mobile li a{
        text-decoration: none;
        display: block;
        width: 100%;
    }
    #menu-header-mobile .current_page_item a{
        color: var(--orange);
    }
    .rondLien{
        width: 24px;
        height: 24px;
    }
    .textFontSize ul li{
        font-size: 12px;
        line-height: 16px;
    }
    .flexBorder{
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .paddingBorder{
        width: 100%;
    }
    .paddingLeft0None{
        padding-left: 0;
    }
    .paddingRight0None{
        padding-right: 0;
    }
    .mb-30{
        margin-bottom: 20px;
    }
    /* .s{
        height: 150px;
    }
    .l, .xl{
        height: 300px;
    } */
    .marginProduit{
        margin-top: 1.5rem;
    }
    .mb-20-mobile{
        margin-bottom: 20px;
    }
    .flexFooterCenter{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .row-special{
        --bs-gutter-x: 1.5rem;
    }
    .textNormalMobile{
        text-align: start !important;
    }
    .row-special2{
        --bs-gutter-x: 1.5rem;
    }
    .row-reverse{
        flex-direction: column-reverse;
    }
    .bg-white, .bg-bleu-40, .bg-orange-40, .bg-white-40{
        padding-bottom: 40px;
        padding-top: 40px;
    }
    .lienDropdown{
        margin-bottom: 20px;
    }
    .borderText{
        border: none;
        padding: 20px 0;
    }
    .h4-titre{
        font-size: 24px;
        line-height: 28px;
    }
    .lienFiltre{
        font-weight: 600;
        font-size: 10px;
        line-height: 18px;
    }
    .btnSite, .btnFiltre{
        font-size: 10px;
        font-weight: 600;
        line-height: 18px;
    }
    .btnFiltre{
        margin-bottom: 20px;
        padding: 8px 12px;
        max-width: 100%;
    }
    .mb-20-10{
        margin-bottom: 5px;
    }
    .flexMobileCol{
        display: flex;
        align-items: center;
    }
    .accordion-style-one .accordion .card .card-body{
        padding: 0;
    }
    .accordion-style-one .accordion .card .card-header a, .card-header, .accordion-style-one .accordion .card .card-header a.collapsed{
        border: none;
        padding: 0;
    }
    #faq .accordion-style-one .accordion .card .card-header a{
        border-bottom: 1px solid #00745925;
        padding: 10px 0;
        font-size: 12px;
        line-height: 18px;
    }
    .rondLien i{
        font-size: 9px;
    }
    h6, p{
        font-size: 12px !important;
        line-height: 18px !important;
    }
    #reservation .accordionFormule{
        font-size: 18px;
        line-height: 20px;
    }
    #faq .accordion-style-one .accordion .card .card-body{
        padding: 16px 0;
    }
    #accordionExample .accordion-button:not(.collapsed)::after, #accordionExample .accordion-button::after{
        display: none;
    }
    .single-accordion-marge, .single-accordion-marge2{
        margin-bottom: 10px;
    }
    .single-accordion-marge2 .card{
        padding: 0;
    }
    #reservation .single-accordion-marge2 .card-header, .paddingContenuContact{
        padding: 0 !important;
    }
    .single-accordion-marge2 .card-header, .paddingContenuContact{
        padding: 20px !important;
    }
    .accordionFormule{
        font-family: var(--lima) !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        line-height: 20px !important;
        letter-spacing: 0.5px !important;
        text-transform: none !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        background-color: var(--white);
        text-decoration: none;
    }
    .mb-mobile-0{
        margin-bottom: 20px;
    }
    .accordionFormule span{
        color: var(--orange) !important;
    }
    .ul-footer li a{
        font-size: 12px;
        line-height: 18px;
        font-weight: 500;
    }
    .ul-footer li{
        text-align: center;
    }
    .divReseau{
        justify-content: center;
    }
    .h4-footer{
        text-align: center;
        font-size: 12px;
        line-height: 18px;
    }
    .mb-0-hard{
        margin-bottom: 0px !important;
    }
    .p-footer{
        font-size: 10px;
        text-align: center;
    }
    .paddingZenchef{
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .spaceMobileNone{
        margin-top: 0 !important;
    }
    .imgBackgroundMobile{
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        /* background-size: 100%;
        background-position: top right; */
        /* aspect-ratio: 1; */
        padding-top: 30px;
        padding-bottom: 30px;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .imgBackgroundContact{
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        /* aspect-ratio: 1; */
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        padding-top: 40px;
        padding-bottom: 40px;
    }
    header{
        padding: 0;
    }
    .p-lg-site{
        font-size: 16px !important;
        line-height: 24px !important;
    }
    .backgroundFrontPage{
        width: 100%;
        z-index: -1;
        top: 205px;
    }
    .h1-page{
        font-size: 24px;
        line-height: 28px;
        letter-spacing: 0.38px;
    }
    .mb-40{
        margin-bottom: 20px !important;
    }
    .firstSection{
        margin-top: 70px;
    }
    .offcanvas-body{
        display: flex;
        align-items: start;
        flex-direction: column;
        justify-content: center;
        overflow: scroll;
        padding-bottom: 70px;
    }
    .paddingMobileHeader{
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
    .imgHeaderCanva{
        object-fit: cover;
    }
    .ligne{
        background-color: var(--primary) !important;
    }
    .lienDropdown:hover span{
        border-bottom: 1px solid var(--primary);
    }
    .container-magma{
        width: 100vw;
        max-height: 300px;
        overflow-x: clip;
        display: flex;
        justify-content: center;
        margin-bottom: 40px;
    }
    .container-magma-events{
        /* width: 100vw; */
        overflow-x: clip;
        display: flex;
        justify-content: center;
        margin-bottom: 40px;
    }
    .imgMagma{
        width: auto;
        height: 100%;
        display: block;
        max-height: 412px;
    }
    .max450{
        height: 450px;
        z-index: -1;
        position: relative;
        margin-top: -75px;
    }
    .height-100{
        height: unset;
    }
    .absoluteContainer{
        top: unset;
        bottom: 0;
        transform: translate(-50%, -15%);
    }
    .absoluteContainerConcept{
        top: unset;
        bottom: 0;
        transform: translate(-50%, -50%);
    }
    .produit-title{
        font-size: 10px;
        letter-spacing: 0.31px;
        line-height: 12px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .description-produit{
        font-size: 10px !important;
        line-height: 14px;
        letter-spacing: 0.36px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .width100{
        width: 100% !important;
    }
    .absoluteContainerFinHome{
        /* top: unset;
        bottom: 0px;
        transform: translate(-50%, -75px); */
        margin-top: 140px;
        padding-bottom: 30px;
        position: unset;
        transform: none;
    }
    .flexCol, .flexContenu{
        padding-left: calc(var(--bs-gutter-x) * 1);
        padding-right: calc(var(--bs-gutter-x) * 1);
    }
    .flexPadding{
        padding-left: calc(var(--bs-gutter-x) * 1);
        padding-right: calc(var(--bs-gutter-x) * 1);
    }
    .imgMagmaMobile{
        margin-top: -225px;
        z-index: 1;
    }
    .bgPaddingBottom{
        padding-bottom: 225px;
    }
    .padding225{
        padding-bottom: 225px;
    }
    .bg-bleu{
        background-color: var(--transparent);
    }
    .logoHome{
        width: 90%;
    }
    .imgHeader{
        height: auto;
        aspect-ratio: 1;
        width: 100%;
    }
    .space{
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .h2-titre{
        font-size: 24px;
        line-height: 28px;
        letter-spacing: 0.38px;
    }
    .p-xl-site{
        font-size: 12px;
        line-height: 18px;
        letter-spacing: 0.5px;
    }
    .rond{
        width: 80px;
    }
    .imgIcone{
        width: 40px;
    }
    .transformTitre{
        transform: unset;
    }
    .border-bottom-fonctionnement{
        border-bottom: 1px solid #00745925;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    .border-bottom-fonctionnement:last-of-type {
        border-bottom: none;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .menu-item:last-child .nav-link {
        border-bottom: none;
      }
      
    .noneDekstop{
        display: block;
    }
    .noneMobile{
        display: none;
    }
    .h3-titre{
        font-size: 20px;
        line-height: 24px;
        letter-spacing: 0;
    }
    .p-site{
        font-size: 12px;
        line-height: 18px;
    }
    .btn100{
        max-width: unset;
        width: 100%;
        text-align: center;
        font-size: 14px;
    }
    .nav-link{
        margin: 0;
        font-size: 24px;
        line-height: 20px;
        letter-spacing: 0.5px;
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #00745925;
        padding-top: 0;
    }
    .navbar-nav{
        width: 100%;
    }
    .navbar-brand{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .flexEnd{
        justify-content: end !important;
    }
    .navbar{
        height: 70px;
        transition: all 0.2s ease-in-out;
    }
    /* .navbar.active{
        background-color: var(--white);
    } */
    header .navbar-brand img, .logo-footer{
        max-width: 41px;
    }
    .divReseau a{
        margin-left: 5px;
        margin-right: 5px;
    }
}
@media only screen and (max-width: 768px) { 

}
@media only screen and (max-width: 576px) { 

}
  