@import url(main.css);
/*--------------------------------BARRE DE NAV------------------------------*/
.navbar-brand { height: 9vh !important; width: 11vw !important; }

.logo_nav { height: 8vh !important; }

/* Couleur du texte au survol du menu */
.navbar-nav .animated-border-button span { transition: color 0.3s ease; }

.navbar-nav .animated-border-button:hover span { color: #f47b14 !important; }

.button-header-telephone { background: transparent; border: 2px solid #f47b14 !important; color: #f47b14 !important; font-family: "Montserrat", sans-serif !important; font-synthesis-weight: 700; }

.button-header-telephone i { color: #f47b14 !important; }

.button-header-telephone:hover { background: #f47b14 !important; color: #ffffff !important; border-color: #f47b14 !important; }

a.button-header-telephone, a.button-header-telephone.rounded-pill, .button_header.button-header-telephone, .button_header.button-header-telephone.rounded-pill { border-radius: 8px !important; overflow: hidden !important; }

.button-header-telephone i, .button-header-telephone .bi, .button-header-telephone .bi-telephone { display: none !important; }

nav.navbar { box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px; }

.navbar-brand { transform: translateX(60px); }

/*----------------------------------------HERO----------------------------------*/
.habitat-hero__title h1 { max-width: 950px; line-height: 1.15; }

.habitat-hero__title h1 { max-width: 900px; width: 150%; }

.habitat-hero { position: relative; min-height: 680px; padding: 90px 24px 55px; background-size: cover; background-position: center; color: #fff; overflow: hidden; }

.habitat-hero__inner { max-width: 1180px; margin: 0 auto; min-height: 535px; display: flex; flex-direction: column; justify-content: space-between; position: relative; z-index: 2; }

.habitat-hero__content { max-width: 560px; }

.habitat-hero__logo { max-width: 300px; height: auto; display: block; margin-bottom: 5px; }

.habitat-hero__title { max-width: 560px; margin-bottom: 28px; }

.habitat-hero__button { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; border: 2px solid #fff; border-radius: 8px; color: #fff; background: transparent; text-decoration: none; line-height: 1; transition: transform .3s ease, box-shadow .3s ease; margin-top: 5px; }

.habitat-hero__button p { margin: 0; }

.habitat-hero__button:hover { color: #fff; background: transparent; transform: translateY(-3px); box-shadow: 0 14px 35px rgba(255, 255, 255, 0.16); }

.habitat-hero__services { display: grid; grid-template-columns: repeat(6, 1fr); gap: 26px; padding-top: 45px; }

.habitat-hero__service { display: flex; flex-direction: column; align-items: center; text-align: center; }

.habitat-hero__service svg { width: 34px; height: 34px; margin-bottom: 13px; fill: #f47b14; }

.habitat-hero__service span { color: #fff; font-weight: 700; line-height: 1.2; }

.habitat-hero__services { display: flex; justify-content: center; align-items: center; gap: 45px; width: 100%; }

.habitat-hero__service { display: flex; flex-direction: column; align-items: center; text-align: center; }

.habitat-hero__service p { margin: 0; }

@media screen and (max-width: 991px) { .habitat-hero { min-height: auto; padding: 80px 20px 45px; } .habitat-hero__inner { min-height: auto; } .habitat-hero__content { max-width: 100%; } .habitat-hero__services { grid-template-columns: repeat(3, 1fr); gap: 28px 18px; margin-top: 65px; padding-top: 0; } .habitat-hero__logo { max-width: 125px; } }

@media screen and (max-width: 560px) { .habitat-hero { padding: 100px 18px 40px; } .habitat-hero__services { grid-template-columns: repeat(2, 1fr); gap: 24px 9px; } .habitat-hero__button { width: 100%; } }

@media (max-width: 600px) { .habitat-hero__service span p { font-size: 12px; line-height: 1.2; } }

/*----------------------------------BLOC CARTES------------------------------*/
.sector-cards-section { width: 100%; padding: 0; overflow: hidden; }

.sector-cards { display: flex; width: 100%; }

.sector-card { position: relative; flex: 1; min-height: 430px; overflow: hidden; text-decoration: none; color: #ffffff; display: flex; align-items: flex-end; transition: flex 0.4s ease; }

.sector-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }

.sector-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.78) 100%); z-index: 1; }

.sector-card-content { position: relative; z-index: 2; padding: 0 28px 70px; }

.sector-card-content h2, .sector-card-content h3 { margin: 0; color: #ffffff; font-size: 26px; line-height: 1.15; font-weight: 700; }

.sector-card-line { display: block; width: 70px; height: 5px; margin: 12px 0 12px; background: #f47b14; border-radius: 50px; }

.sector-cards { display: flex; width: 100%; gap: 12px; padding: 0 12px; }

.sector-card { border-radius: 8px; }

.sector-card-button, .sector-card-button p { margin: 0 !important; }

.sector-card-button p { padding: 0 !important; }

.sector-card-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px; border-radius: 8px; background: #ffffff; color: #f47b14; font-size: 15px; font-weight: 700; transition: all 0.3s ease; }

.sector-card:hover { flex: 1.25; }

.sector-card:hover .sector-card-img { transform: scale(1.08); }

.sector-card:hover .sector-card-button { background: #ee5101; color: #ffffff; }

.sector-card:hover h5, .sector-card:hover h5 span, .sector-card:hover .sector-card-content h5, .sector-card:hover .sector-card-content h5 span { color: #ffffff !important; }

@media (max-width: 1100px) { .sector-cards { flex-wrap: wrap; } .sector-card { flex: 0 0 50%; min-height: 360px; } .sector-card:hover { flex: 0 0 50%; } }

@media (max-width: 600px) { .sector-card { flex: 0 0 100%; min-height: 320px; } .sector-card:hover { flex: 0 0 100%; } .sector-card-content { padding: 0 24px 45px; } .sector-card-content h2, .sector-card-content h3 { font-size: 23px; } }

/*----------------------------------BLOC PICTOS-----------------------------*/
.picto-cards-section { padding: 80px 20px; background: #f7f7f7; }

.picto-cards-container { max-width: 1200px; margin: 0 auto; }

.picto-cards-header { max-width: 760px; margin: 0 auto 50px; text-align: center; }

.picto-cards-header p { max-width: 1000px !important; width: 100% !important; margin: 28px auto 0 !important; text-align: center !important; line-height: 1.6 !important; }

.picto-cards-header { display: flex !important; flex-direction: column !important; align-items: center !important; }

.picto-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

.picto-card { position: relative; background: #fff; padding: 42px 24px 36px; text-align: center; overflow: hidden; box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06); transition: transform 0.35s ease, box-shadow 0.35s ease; }

.picto-card:hover { transform: translateY(-8px); box-shadow: 0 22px 45px rgba(0, 0, 0, 0.12); }

.picto-card-line { position: absolute; top: 0; left: 50%; width: 45%; height: 3px; background: #053f9b; transform: translateX(-50%); }

.picto-card-icon { width: 120px; height: 120px; margin: 0 auto 24px; display: flex; align-items: center; justify-content: center; }

.picto-card-icon img { width: 100px !important; height: 100px !important; max-width: 100px !important; max-height: 100px !important; object-fit: contain; filter: none !important; transform: none !important; }

.picto-card:hover .picto-card-icon, .picto-card:hover .picto-card-icon img { transform: none !important; filter: none !important; }

.picto-card h3 { margin: 0 0 12px; font-size: 17px; line-height: 1.25; font-weight: 800; color: #000; }

.picto-card p { margin: 0; font-size: 14px; line-height: 1.6; color: #666; }

.picto-card { border-radius: 8px !important; overflow: hidden; }

@media (max-width: 991px) { .picto-cards-header { grid-template-columns: 1fr; gap: 20px; } .picto-cards-grid { grid-template-columns: repeat(2, 1fr); } .picto-cards-header h2 { font-size: 34px; } }

@media (max-width: 600px) { .picto-cards-section { padding: 60px 16px; } .picto-cards-grid { grid-template-columns: 1fr; } .picto-cards-header h2 { font-size: 30px; } }

/*----------------------------------------BLOC SEO---------------------------------*/
.first-activity-div, .second-activity-div, .third-activity-div { border-radius: 8px !important; overflow: hidden; }

/*---------------------------------------BLOC MAPS--------------------------------*/
.contact-map-section { padding: 90px 20px; background: #ffffff; }

.contact-map-container { max-width: 1200px; margin: 0 auto; }

.contact-map-heading { max-width: 760px; margin: 0 auto 55px; text-align: center; }

.contact-map-heading h2 { margin: 0; line-height: 1.1; color: #000000; }

.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin-bottom: 60px; }

.contact-info-card { display: flex; align-items: center; gap: 18px; min-height: 92px; padding: 22px 26px; background: #ffffff; text-decoration: none; color: inherit; box-shadow: 0 14px 38px rgba(0, 0, 0, 0.08); transition: transform 0.35s ease, box-shadow 0.35s ease; }

.contact-info-card:hover { transform: translateY(-8px); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.13); }

.contact-info-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: rgba(75, 167, 204, 0.14); color: #053f9b; display: flex; align-items: center; justify-content: center; }

.contact-info-card span { display: block; margin-bottom: 5px; color: #053f9b; }

.contact-info-card p { margin: 0; line-height: 1.35; color: #000000; }

.contact-map-wrapper { width: 100%; height: 460px; overflow: hidden; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12); }

.contact-map-wrapper iframe { display: block; width: 100%; height: 100%; }

.contact-map-section, .contact-map-wrapper { border-radius: 8px !important; overflow: hidden; }

.contact-map-wrapper iframe { border-radius: 8px !important; }

.contact-info-card { border-radius: 8px !important; overflow: hidden; }

@media (max-width: 991px) { .contact-map-heading h2 { font-size: 40px; } .contact-info-grid { grid-template-columns: 1fr; gap: 22px; } .contact-map-wrapper { height: 380px; } }

@media (max-width: 600px) { .contact-map-section { padding: 65px 16px; } .contact-map-heading { margin-bottom: 35px; } .contact-map-heading h2 { font-size: 32px; } .contact-info-card { padding: 20px; } .contact-map-wrapper { height: 320px; } }

/*---------------------------------HERO PAGES SECONDAIRES---------------------------*/
.carousel-item-homepage img, .first-carousel-img { transform: none !important; transition: none !important; box-shadow: none !important; filter: none !important; opacity: 1 !important; }

.titleText { letter-spacing: 0em; }

.first-carousel-img { height: 40vh; object-fit: cover; }

.first-carousel-img, .second-carousel-img { height: 55vh; object-fit: cover; }

.carousel-item-homepage { height: 55vh; overflow: hidden; }

#fullHeight { height: 55vh; overflow: hidden; }

@media (max-width: 991px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } }

@media (max-width: 576px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } }

@media (max-width: 991px) { .first-carousel-img { height: 45vh; } }

@media (max-width: 576px) { .first-carousel-img { height: 35vh; } }

/*-----------------------------BLOC SERVICES DETAILLE-----------------------*/
.habitat-feature { padding: 80px 24px; background: #fff; }

.habitat-feature__container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 0.8fr; align-items: center; gap: 70px; }

.habitat-feature__content { max-width: 560px; }

.habitat-feature__title { margin-bottom: 25px; }

.habitat-feature__description { margin-bottom: 25px; }

.habitat-feature__list { padding: 0; margin: 0 0 35px; list-style: none; }

.habitat-feature__list li { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }

.habitat-feature__list svg { width: 20px; height: 20px; fill: #f47b14; flex-shrink: 0; }

.habitat-feature__button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 28px; border: 2px solid #f47b14; border-radius: 8px; background: transparent; color: #f47b14; text-decoration: none; font-weight: 700; transition: all .3s ease; }

.habitat-feature__button:hover { background: #f47b14; color: #fff; }

.habitat-feature__image { width: 100%; }

.habitat-feature__image img { width: 100%; height: 420px; object-fit: cover; border-radius: 8px; }

.habitat-feature__list li { display: flex; align-items: center; gap: 12px; }

.habitat-feature__list li p { margin: 0; line-height: 1.4; }

.habitat-feature__list svg { width: 20px; height: 20px; min-width: 20px; fill: #f47b14; }

.habitat-feature__button p { margin: 0; }

/*-----REVERSE----*/
.habitat-feature--reverse .habitat-feature__container { grid-template-columns: 0.8fr 1fr; }

.habitat-feature--reverse .habitat-feature__content { order: 2; }

.habitat-feature--reverse .habitat-feature__image { order: 1; }

@media (max-width: 991px) { .habitat-feature__container { grid-template-columns: 1fr; gap: 40px; } .habitat-feature__image { order: -1; } .habitat-feature__image img { height: 320px; } }

@media (max-width: 576px) { .habitat-feature { padding: 50px 20px; } .habitat-feature__image img { height: 260px; } }

/*---------------------------------BLOC GALLERIE-------------------------*/
#custom-gallery { padding-top: 40px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 60px 30px 0 30px; } }

#custom-gallery .image { height: 400px !important; margin: 20px 0; }

.custom-gallery__title { text-align: center; width: 100%; margin-bottom: 40px; }

.custom-gallery__title h2 { text-align: center; margin: 0 auto; }

.img-wrapper { border-radius: 8px; overflow: hidden; }

.img-wrapper img { border-radius: 8px; }

.img-wrapper { position: relative; height: 100%; margin-top: 15px; }

.img-wrapper img { width: 100%; }

.img-overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; }

.img-overlay i { color: #fff; font-size: 3em; }

#overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#overlay img { margin: 0; width: 80%; height: auto; object-fit: contain; padding: 5%; }

@media screen and (min-width: 768px) { #overlay img { width: 60%; } }

@media screen and (min-width: 1200px) { #overlay img { width: 50%; } }

#nextButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#nextButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #nextButton { font-size: 3em; } }

#prevButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#prevButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #prevButton { font-size: 3em; } }

#exitButton { color: #fff; font-size: 2em; transition: opacity 0.8s; position: absolute; top: 15px; right: 15px; }

#exitButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #exitButton { font-size: 3em; } }

.img-responsive { height: 100% !important; object-fit: cover !important; }

/*-----------------------------------BLOC BAS DE PAGE------------------------------*/
.button_homepageDoubleScreen { display: inline-flex; align-items: center; justify-content: center; background: transparent !important; border: 1px solid #ffffff !important; border-radius: 8px !important; color: #ffffff !important; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; }

.button_homepageDoubleScreen p { margin: 0 !important; }

.button_homepageDoubleScreen:hover { background: transparent !important; color: #ffffff !important; transform: translateY(-3px); box-shadow: 0 12px 30px rgba(255, 255, 255, 0.18); }

/*------------------------------------BLOC DIVIDER-----------------------------------*/
.b-bloc-divider { height: 40px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }

/*# sourceMappingURL=custom.css.map */