@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: 90vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 992px) {
header {
  position: relative;
  background-color: black;
  height:50vh;
  min-height: 22rem;
  width: 100%;
  overflow: hidden;
}
}
header h3 { font-size:28px; font-family: 'Open Sans Condensed', sans-serif; color:#4c90cd}

@media (max-width: 992px) {
header h3 { font-size:18px; font-family: 'Open Sans Condensed', sans-serif;}
}

header a { color:#4c90cd}
header a:hover { color:#4c90cd}
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: #fff;
  opacity: 0.2;
  z-index: 1;
}





@media (max-width: 1400px) {
header #carouselExampleControls  {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 200%;
  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: #fff;
  opacity: 0.2;
  z-index: 1;
}

}



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



header .container.header-container { position: relative; z-index: 2; height: 80%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
/* Logo centré dans la page */
header .header-logo { display: flex; justify-content: center; align-items: center; flex: 1; }
/* Adresse + tél + chevron collés en bas */
header .header-bottom { position: absolute; bottom: -40px; left: 0; width: 100%; text-align: center; }
header .header-bottom h3 { font-size: 48px; font-family: 'Open Sans Condensed', sans-serif; color: #4c90cd; margin: 0; font-weight: bold }
@media (max-width: 992px) {
header .container.header-container { position: relative; z-index: 2; height: 80%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
header .header-bottom h3 { font-size: 28px; }
header .header-bottom { position: absolute; bottom: -70px; left: 0; width: 100%; text-align: center; }

}

/*HEADER VIDEO*/


#header.base {background:url("../charte/back-header-1920.webp") no-repeat; background-size: 100%; height: auto; color:#fff; }
#header.base a {color:#4c90cd; text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.6)}
#header p {text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.6); font-size: 38px; font-family: 'Open Sans Condensed', sans-serif; color: #4c90cd; line-height:1.2em; margin-top:40px; font-weight: bold}
#header img {margin-top:30px}
@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: 'Open Sans Condensed', sans-serif; color: #4c90cd; line-height:1.2em; font-weight: bold}
}


/*MENU*/
.bg-light {
background-color: #4c90cd !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: #4c90cd !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: #4c90cd;
background-color:  #fff;
}


.navbar-light .navbar-nav .nav-link {
    color: #fff;
    font-family: 'Open Sans Condensed', sans-serif;
	font-weight: bold; font-size:20px; text-align: center;
}


.navbar-light .navbar-nav .nav-link:hover {
color: #4c90cd;
background-color:  #fff;
}

.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:#4c90cd;height: 900px;
		text-align: center;
    }
 }


/*MENU*/


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


#section1 {background: none}
#section1 h1 {color:#1e4051; line-height: 1.1em}
#section1 h2 {color:#1e4051; line-height: 1.1em}
#section1 h3 {color:#1e4051; line-height: 1.1em}
#section1 h4 {color:#1e4051; line-height: 1.1em}
#section1 h5 {color:#1e4051; line-height: 1.1em}
#section1 p {color:#000;}

#section2 {background: #529dd6}
#section2 h1 {color:#fff; line-height: 1.4em}
#section2 h2, h3, h4, h5 {color:#fff; line-height: 1.1em}
#section2 p {color:#fff;}


#section3 {background: none}
#section3 h1 {color:#1e4051; line-height: 1.4em}
#section3 h2 {color:#1e4051; line-height: 1.1em}
#section3 h3 {color:#1e4051; line-height: 1.1em}
#section3 h4{color:#1e4051; line-height: 1.1em}
#section3 h5 {color:#1e4051; line-height: 1.1em}
#section3 p {color:#000;}

#section4 {background: #1e4051}
#section4 h1 {color:#fff; line-height: 1.4em}
#section4 h2 {color:#fff; line-height: 1.1em}
#section4 h3 {color:#fff; line-height: 1.1em}
#section4 h4 {color:#fff; line-height: 1.1em}
#section4 h5 {color:#fff; line-height: 1.1em}
#section4 p {color:#fff;}



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


#section6 {background: url("../../../assets/theme3/charte/back6.webp") no-repeat;  background-position: top; background-size: 100%; background-color:#1e4051;}
#section6 h1 {color:#fff; line-height: 1.4em}
#section6 h2 {color:#fff; line-height: 1.4em}
#section6 h3 {color:#fff !important; line-height: 1.4em}
#section6  h4 {color:#fff !important; line-height: 1.4em}
#section6 h5 {color:#fff !important; line-height: 1.4em}
#section6 p {color:#fff;}

@media (max-width: 960px) {
#section6 {background: url("../../../assets/theme3/charte/back6-small.webp") no-repeat; background-position: top; background-size: 100%; background-color:#1e4051;}
}

#section7 {background-position: top; background-size: 100%; background-color:#e20015;}
#section7 h1 {color:#fff; line-height: 1.4em}
#section7 h2 {color:#fff; line-height: 1.4em}
#section7 h3 {color:#fff !important; line-height: 1.4em}
#section7 h4 {color:#fff !important; line-height: 1.4em}
#section7 h5 {color:#fff !important; line-height: 1.4em}
#section7 p {color:#fff;}





#section-bouton h2 {color:#1e4051; line-height: 1.1em}


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

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

@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 #fff;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: 0.3s; color:#fff; background:none
}
.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 #1e4051;
    text-align: center;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    transition: 0.3s; color:#1e4051; background:none
}
.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: #1e4051;
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}



/*FIN INTEGRATION*/



/*AVIS GOOGLE*/
:root {
    --brand-gold: #F5A623;
    --brand-dark: #1A1A2E;
    --brand-surface: #F9F7F4;
    --brand-card: #FFFFFF;
    --brand-muted: #6E6D6A;
    --brand-border: rgba(0,0,0,0.08);
}

.reviews-section {
    padding: 5rem 0;
}

.section-eyebrow {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--brand-muted);
    margin-bottom: 0.5rem;
}

.section-title {
    font-family: 'DM Serif Display', serif;
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--brand-dark);
    line-height: 1.15;
    margin-bottom: 0.5rem;
}

.google-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: white;
    border: 1px solid var(--brand-border);
    border-radius: 100px;
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--brand-dark);
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.google-badge svg {
    width: 16px;
    height: 16px;
}

.global-rating {
    font-family: 'DM Serif Display', serif;
    font-size: 3.5rem;
    color: var(--brand-dark);
    line-height: 1;
}

.stars-row {
    display: flex;
    gap: 3px;
}

.star-icon {
    color: var(--brand-gold);
    font-size: 1.1rem;
}

.total-reviews {
    font-size: 0.82rem;
    color: var(--brand-muted);
}

/* --- Carousel overrides --- */
#googleReviewsCarousel .carousel-inner {
    padding-bottom: 0;
}

.review-card {
    background: var(--brand-card);
    border: 1px solid var(--brand-border);
    border-radius: 16px;
    padding: 2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s ease;
}

.review-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.09);
}

.reviewer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.reviewer-name {
    font-weight: 500;
    font-size: 0.95rem;
    color: var(--brand-dark);
    margin: 0;
}

.review-date {
    font-size: 0.78rem;
    color: var(--brand-muted);
    margin: 0;
}

.review-text {
    font-size: 0.9rem;
    color: #3a3a3a;
    line-height: 1.7;
    flex: 1;
    margin: 0;
}

.quote-mark {
    font-family: 'DM Serif Display', serif;
    font-size: 3rem;
    color: var(--brand-gold);
    line-height: 0.6;
    margin-bottom: 0.25rem;
    display: block;
}

/* --- Boutons de navigation avec IDs/classes uniques --- */
.google-carousel-prev,
.google-carousel-next {
    position: static;
    width: 44px;
    height: 44px;
    background: white;
    border: 1px solid var(--brand-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 6px rgba(0,0,0,0.07);
}

.google-carousel-prev:hover,
.google-carousel-next:hover {
    background: var(--brand-dark);
    border-color: var(--brand-dark);
}

.google-carousel-prev:hover svg,
.google-carousel-next:hover svg {
    stroke: white;
}

.google-carousel-prev svg,
.google-carousel-next svg {
    width: 18px;
    height: 18px;
    stroke: var(--brand-dark);
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.2s ease;
}

.carousel-indicators-dots {
    display: flex;
    gap: 6px;
    align-items: center;
}

.carousel-indicators-dots button {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d0cec8;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease;
}

.carousel-indicators-dots button.active {
    background: var(--brand-dark);
    width: 22px;
    border-radius: 4px;
}

.avatar-colors {
    --c1-bg: #EDE9FE; --c1-txt: #5B21B6;
    --c2-bg: #DCFCE7; --c2-txt: #15803D;
    --c3-bg: #FEF3C7; --c3-txt: #B45309;
    --c4-bg: #FCE7F3; --c4-txt: #9D174D;
    --c5-bg: #E0F2FE; --c5-txt: #0369A1;
    --c6-bg: #FEE2E2; --c6-txt: #991B1B;
}
/*AVIS GOOGLE*/


.col-2_4,
.col-sm-2_4,
.col-md-2_4,
.col-lg-2_4,
.col-xl-2_4 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
.col-2_4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}
@media (min-width: 540px) {
    .col-sm-2_4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}
@media (min-width: 720px) {
    .col-md-2_4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}
@media (min-width: 960px) {
    .col-lg-2_4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}
@media (min-width: 1140px) {
    .col-xl-2_4 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}