@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Open+Sans');/*font-family: 'Open Sans', sans-serif;*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300');/*font-family: 'Open Sans Condensed', sans-serif;*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap');/*font-family: 'Poppins', sans-serif;*/
@import url('https://fonts.googleapis.com/css2?family=Yeseva+One&display=swap');/*font-family: 'Yeseva One', cursive;*/


/* HEADER */
/*#header { background:#fff; width: 100%; height: 200px; background-size:100%;}*/


/*HEADER VIDEO*/

header {
    position: relative;
    background-color: black;
    height: 100vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
}

@media (max-width: 1400px) {
    header {
        position: relative;
        background-color: black;
        height: 51vh;
        min-height: 25rem;
        width: 100%;
        overflow: hidden;
    }
}


@media (max-width: 992px) {
    header {
        position: relative;
        background-color: black;
        height:34vh;
        min-height: 11rem;
        width: 100%;
        overflow: hidden;
    }
}
header h3 { font-size:28px; font-family: 'Poppins', sans-serif; color:#fff; margin-top:50px}

header .logo { width:auto}


@media (max-width: 992px) {
    header h3 { font-size:18px; font-family: 'Poppins', sans-serif;}
    header .logo { width:50%; margin:0 auto}
}

header a { color:#fff}
header a:hover { color:#fff}
header video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}


header #carouselExampleControls  {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}


header .overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: black;
    opacity: 0.5;
    z-index: 1;
}


@media (max-width: 1400px) {
    header #carouselExampleControls  {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        width: auto;
        height: auto;
        z-index: 0;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
    }

    header .overlay {
        position: absolute;
        top: 0;
        left: 0;
        height: 200%;
        width: 100%;
        background-color: black;
        opacity: 0.5;
        z-index: 1;
    }

}



header .container {
    position: relative;
    z-index: 2;
}


/*HEADER VIDEO*/


#header.base {background:url("../charte/back-header-1920.webp") no-repeat; background-size: 100%; height: 450px; color:#fff}
#header.base a {color:#fff}
#header p { font-size:28px; font-family: 'Poppins', sans-serif; color:#fff; line-height:1.2em}

#header .logo {width: 40%; margin: 40px auto}


@media (max-width:1024px) {
    #header.base {background:url("../charte/back-header-1024.webp") no-repeat; background-size: 100%; height: auto; color:#fff}
    #header p { font-size:18px; font-family: 'Poppins', sans-serif; color:#fff; line-height:1.2em}
}


/* Petits écrans desktop (993px - 1400px) */
@media (min-width: 993px) and (max-width: 1400px) {
    header { height: 80vh; min-height: 34rem; }

    header #carouselExampleControls,
    header #carouselExampleControls .carousel-inner,
    header #carouselExampleControls .carousel-item { height: 100%; }
    header #carouselExampleControls .carousel-item img {
        height: 100%; object-fit: cover; object-position: center;
    }

    header .logo { margin-top: 80px; }
    header h3 { margin-top: 30px; }
}


/* Tablettes (768px - 992px) */
@media (min-width: 768px) and (max-width: 992px) {
    header { height: 60vh; min-height: 28rem; }

    header #carouselExampleControls,
    header #carouselExampleControls .carousel-inner,
    header #carouselExampleControls .carousel-item { height: 100%; }
    header #carouselExampleControls .carousel-item img {
        height: 100%; object-fit: cover; object-position: center;
    }

    header .logo { width: 35%; margin: 60px auto 0; }
    header h3 { margin-top: 20px; }
}

/* Mobiles (jusqu'à 767px) */
@media (max-width: 767px) {
    header { height: 45vh; min-height: 20rem; }

    header #carouselExampleControls,
    header #carouselExampleControls .carousel-inner,
    header #carouselExampleControls .carousel-item { height: 100%; }
    header #carouselExampleControls .carousel-item img {
        height: 100%; object-fit: cover; object-position: center;
    }

    header .logo { width: 45%; margin: 40px auto 0; }
    header h3 { font-size: 16px; margin-top: 15px; }
}

/*MENU*/
.bg-light {
    background-color: #0f5634 !important;
}

.navbar-brand {
    display: none!important
}
.navbar-brand.scrolled{
    display: block!important
}


.navbar-nav { margin: 0 auto}

@media (max-width: 992px) {
    .navbar-nav {margin: 20px 0px;}
    .bg-light {background-color: #0f5634 !important;}
}

.navbar-nav.active { display: block}
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
    color: #fff;
    background-color:  #63a939;
    border-radius:30px
}


.navbar-light .navbar-nav .nav-link {
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size:20px;
    border-radius:30px
}


.navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
    background-color:  #63a939;
    border-radius:30px
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 1rem;
    padding-left: 1rem;
}


.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}


/*Custom ouverture menu mobile*/
@media (max-width: 992px) {
    .navbar-collapse {
        position: absolute;
        top: 54px;
        left: 0;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        width: 100%;
    }
    .navbar-collapse.collapsing {
        height: auto;
        -webkit-transition: left 0.3s ease;
        -o-transition: left 0.3s ease;
        -moz-transition: left 0.3s ease;
        transition: left 0.3s ease;
        left: -100%;
    }
    .navbar-collapse.show {
        left: 0;
        -webkit-transition: left 0.3s ease-in;
        -o-transition: left 0.3s ease-in;
        -moz-transition: left 0.3s ease-in;
        transition: left 0.3s ease-in;
        background-color:#0f5634;height: 900px;
        text-align: center;
    }
}


/*MENU*/


a, a:hover {color:#000; text-decoration: none}


#section1 {background: none}
#section1 h1 {color:#333333; line-height: 1.4em}
#section1 h2, h3, h4, h5 {color:#333333; line-height: 1.4em}
#section1 p {color:#000;}

#section2 {background: none}
#section2 h1 {color:#333333; line-height: 1.4em}
#section2 h2, h3, h4, h5 {color:#333333; line-height: 1.4em}
#section2 p {color:#000;}

#section3 {background: #63a939}
#section3 h1 {color:#fff; line-height: 1.4em}
#section3 h2 {color:#fff; line-height: 1.4em}
#section3 h3 {color:#fff; line-height: 1.4em}
#section3 h4 {color:#fff; line-height: 1.4em}
#section3 h5 {color:#fff !important; line-height: 1.4em}
#section3 p {color:#fff;}

#section4 {background: none}
#section4 h1 {color:#333333; line-height: 1.4em}
#section4 h2, h3, h4, h5 {color:#333333; line-height: 1.4em}
#section4 p {color:#000;}

#section5 {background: #0f5634}
#section5 h1 {color:#fff; line-height: 1.4em}
#section5 h2 {color:#fff; line-height: 1.4em}
#section5 h3 {color:#fff !important; line-height: 1.4em}
#section5 h4 {color:#fff !important; line-height: 1.4em}
#section5 h5 {color:#fff !important; line-height: 1.4em}
#section5 p {color:#fff;}


#section-parallax img {padding-top:140px;}
#section-parallax h2 { color:#000; text-align: center }

@media (max-width: 1400px) {
    #section-parallax h2 {padding-top:50px}
    #section-parallax img {padding-top:50px;}
}

@media (max-width: 992px) {
    #section-parallax h2 {padding-top:50px}
    #section-parallax img {padding-top:50px;}
}

.parallax {
    /* The image used */
    background-image: url("../../../assets/theme3/charte/img-parallax.webp");
    /* Set a specific height */
    height:600px;
    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
@media only screen and (max-device-width: 1366px) {
    .parallax {
        background-attachment: scroll;
        height:400px;
    }
}
/*boutons custom bootstrap*/
.btn-custom {
    color: #fff;
    background-color: #333;
    border-color: #333;
}
.btn-custom:hover, .btn-custom:focus, .btn-custom:active, .btn-custom.active, .open>.dropdown-toggle.btn-custom {
    color: #fff;
    background-color: #333;
    border-color: #333; /*set the color you want here*/
}
/*fin boutons custom bootstrap*/


/*boutons custom bootstrap*/
.button {
    flex: 1 1 auto;
    margin: 0px;
    padding: 20px;
    border: 2px solid #0f5634;
    text-align: center;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    transition: 0.3s; color:#fff; background:#0f5634
}
.button:after {
    position: absolute;
    transition: 0.3s;
    content: "";
    width: 0;
    left: 50%;
    bottom: 0;
    height: 3px;
    background: #000;
}
.button:hover:nth-of-type(1) {
    border-radius: 30px;
}
.button:hover:nth-of-type(1):after {
    width: 0%;
}
.button:hover {
    cursor: pointer;
}
.button:hover:after {
    width: 100%;
    left: 0;
}

/*Fin Boutons*/




/*boutons custom bootstrap*/
.button2 {
    flex: 1 1 auto;
    margin: 0px;
    padding: 20px;
    border: 2px solid #fff;
    text-align: center;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    transition: 0.3s; color:#0f5634; background:#fff
}
.button2:after {
    position: absolute;
    transition: 0.3s;
    content: "";
    width: 0;
    left: 50%;
    bottom: 0;
    height: 3px;
    background: #000;
}
.button2:hover:nth-of-type(1) {
    border-radius: 30px;
}
.button2:hover:nth-of-type(1):after {
    width: 0%;
}
.button2:hover {
    cursor: pointer;
}
.button2:hover:after {
    width: 100%;
    left: 0;
}

/*Fin Boutons*/


/*FOOTER*/


footer {
    background: #0f5634;
    padding: 20px;
    min-height: 100px;
}
footer h2 {color: #fff; font-size:18px}
footer p {color: #fff; font-size:14px}
footer p a {color: #fff; }
footer p a:hover {color:#fff; text-decoration: none}
footer p a:visited {color:#fff; text-decoration: none}
footer hr {border-color:#fff; margin: 0rem 0 !important;}
footer ul.list-unstyled li a {color: #fff}
footer .rubrique { color: #fff}
footer .fab {color:#fff}
/*FOOTER*/



.encart { background-color: #9e9e9e;border: 1px solid #eee; padding:20px; border-radius: 10px}



/* =========================================================
   AJUSTEMENTS HEADER - DESKTOP + TABLETTE (à partir de 768px)
   Le mobile (< 768px) n'est pas modifié
   ========================================================= */
@media (min-width: 768px) {

    /* Contenu du header en colonne : logo centré, adresse + tél en bas (près du menu) */
    header .container > .d-flex { align-items: stretch !important; }
    header .container > .d-flex > .w-100 {
        display: flex;
        flex-direction: column;
        padding-bottom: 10px;
    }

    /* Logo centré verticalement et horizontalement dans l'espace restant */
    header .logo { margin: auto !important; }

    /* Adresse + téléphone collés en bas */
    header h3 { margin-top: 0; margin-bottom: 5px; }

    /* Flèche : marge réduite pour ne pas éloigner l'adresse du menu */
    header .container .w-100 > p.text-center { margin: 0 !important; }

    /* Overlay un peu plus léger pour mieux voir les photos */
    header .overlay { opacity: 0.4; }
}

/* Grands écrans (> 1400px) */
@media (min-width: 1401px) {
    header .logo { width: 40%; }
}

/* Petits écrans desktop (993px - 1400px) */
@media (min-width: 993px) and (max-width: 1400px) {
    header .logo { width: 40%; }
}

/* Tablettes (768px - 992px) */
@media (min-width: 768px) and (max-width: 992px) {
    header .logo { width: 40%; }
}

/*FIN INTEGRATION*/



.tarifs {
    --vert: #0f5634;       /* couleur principale (titres, boutons) */
    --accent: #b5532b;     /* petits libellés en majuscules */
    --fond: #f5f2e7;       /* fond crème de la section */
    --texte: #2b2b2b;
    --gris: #6b6b6b;
    --trait: #e6e1d3;
    background: var(--fond);
    padding: 3rem 1rem;
    color: var(--texte);
}
.tarifs h2 {
    font-family: "Cormorant Garamond", Georgia, serif;
    color: var(--vert);
    font-weight: 500;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: .3rem;
}
.tarifs .intro {
    text-align: center;
    color: var(--gris);
    font-size: .9rem;
    margin-bottom: 2rem;
}
.tarif-carte {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    padding: 1.75rem;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.tarif-carte h3 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    font-size: 1.7rem;
    margin: 0;
}
.tarif-carte .inclus {
    color: var(--vert);
    font-size: .85rem;
    margin: .25rem 0 0;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--trait);
}
.tarif-carte .label {
    color: var(--accent);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 1.1rem 0 .4rem;
}
.tarif-ligne {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: .55rem 0;
    border-bottom: 1px solid var(--trait);
    font-size: .95rem;
}
.tarif-ligne:last-of-type { border-bottom: 0; }
.tarif-ligne .prix { font-weight: 700; }
.tarif-ligne .gratuit { color: var(--vert); font-weight: 600; }
.tarif-actions {
    margin-top: auto;
    padding-top: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.tarif-actions .btn-dispo {
    background: var(--vert);
    color: #fff;
    font-size: .8rem;
    padding: .5rem 1rem;
    border-radius: 4px;
    text-decoration: none;
}
.tarif-actions .btn-dispo:hover { opacity: .9; color: #fff; }
.tarif-actions .btn-appel {
    color: var(--texte);
    font-size: .9rem;
    text-decoration: none;
}
.tarifs .note {
    text-align: center;
    color: var(--gris);
    font-size: .8rem;
    margin-top: 1.5rem;
}