@charset "UTF-8";
@import url(main.css);
img.partenaires-carousel-logo.partenaires-logo-image { filter: none; object-fit: cover; }

.partenaires-carousel-item.partenaires-logo-container { height: 250px !important; max-width: 250px !important; width: 250px !important; }

.partenaires-carousel-track.partenaires-slider-track { gap: 1rem; }

.engagement-content h2 { margin-top: 3rem; }

.realisations-section { background: #FFFFFF; padding: 60px 20px; }

.overlay { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }

.realisations-main-title { text-align: center; font-size: 2.8rem; color: black; font-weight: bold; margin-bottom: 32px; }

.filter-tabs { display: flex; justify-content: center; gap: 12px; margin-bottom: 32px; flex-wrap: wrap; }

.filter-btn { border: 1px solid #F86E01; font-size: 1.1rem; padding: 12px 24px; cursor: pointer; font-weight: 500; box-shadow: none; display: flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1.2; transition: background 0.2s; text-align: center; background: transparent; color: #F86E01 !important; }

.filter-btn.active { background: #F86E01; color: #fff !important; border-radius: 0 !important; border: 1px solid #F86E01; transition: all 0.3s ease; }

button.filter-btn > p { margin-bottom: 0px !important; }

.realisations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }

.realisation-card { border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.2s; }

.realisation-card:hover { transform: translateY(-4px); }

.realisation-card img { width: 100%; height: 320px; object-fit: cover; display: block; cursor: pointer; }

.realisation-card.hidden { display: none; }

/* Modal pour l’image agrandie */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); align-items: center; justify-content: center; }

.modal-content { max-width: 500px; max-height: 70vh; width: auto; height: auto; border-radius: 8px; background: #fff; }

.modal-close { position: absolute; top: 24px; right: 32px; color: #fff; font-size: 36px; font-weight: bold; cursor: pointer; z-index: 1100; }

.modal-close:hover { color: #ffae42; }

@media (max-width: 900px) { .filter-tabs { gap: 8px; font-size: 0.9rem; } .filter-btn { padding: 10px 20px; font-size: 1rem; min-height: 48px; } .realisations-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; } .realisation-card img { height: 240px; } .modal-content { max-width: 90%; max-height: 90%; } }

.svg-bois { position: absolute; top: -100px; right: -100px; width: 0; height: 0; }

.spacer { display: none; }

/********************************* NAVBAR *********************************/
.navbar-brand { height: 11vh !important;  width: 11vw !important; }

.logo_nav { height: 10vh !important; }

.animated-border-button:after { background: #fcfcfc !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border: 1px solid #fcfcfc; border-radius: 0 !important; padding: 0.75rem 1rem !important; color: #F24405 !important; background: #fcfcfc !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { transform: translate(0, 2px) !important; background: transparent !important; color: #FCFCFC !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(2) { background: transparent !important; color: #FCFCFC !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(2):hover { background: #fcfcfc !important; color: #F24405 !important; }

.navbar .container-fluid { padding: 0 2rem !important; }

a.navbar-brand { transition: all 0.3s ease; }

a.navbar-brand:hover { transform: translate(0, 2px) !important; }

#navigation-bar-hide { opacity: 1 !important; top: 0 !important; }

.navbar { transition: background .3s ease; }

.navbar.scrolled { background: #FCFCFC !important; box-shadow: 0 2px 8px 0 rgba(216, 216, 214, 0.3); }

a.grow.button_header.scrolled.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border: 1px solid #F86E01; border-radius: 0 !important; padding: 0.75rem 1rem !important; color: #FCFCFC !important; background: #F86E01 !important; }

a.grow.button_header.scrolled.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { transform: translate(0, 2px) !important; background: transparent !important; color: #F24405 !important; }

a.grow.button_header.scrolled.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(2) { background: transparent !important; color: #F24405 !important; }

a.grow.button_header.scrolled.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:nth-child(2):hover { background: #F24405 !important; color: #fcfcfc !important; }

.navbar.scrolled .animated-border-button::after { background: #F24405 !important; }

.navbar.scrolled .animated-border-button span { color: #0D0D0D !important; }

.navbar:has(.navbar-collapse.collapse.show) { background: #0D0D0D !important; }

.navbar.scrolled:has(.navbar-collapse.collapse.show) { background: #fcfcfc !important; }

/********************************* HERO *********************************/
div#carouselWithFeatures, div#carouselWithFeatures .carousel-inner, div#carouselWithFeatures .carousel-item, div#carouselWithFeatures .bd-placeholder-img { height: 100vh !important; }

div#carouselWithFeatures .fixed-caption { bottom: 20% !important; }

img.logo_nav.slider-with-features-carousel-logo { height: 30vh !important; margin-bottom: 2rem; }

/********************************* PRÉSENTATION *********************************/
div#presentation { padding: 6rem 2rem !important; }

#presentation::after { content: ''; position: absolute; width: 90%; height: 80%; top: 10%; left: 10%; background: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FpWBDX8kynkYZ8tAPGHWjMGn8yfp1%2Fimages%2FARBRE-GRAPH_oa5s.webp); background-size: contain; opacity: 0.2; background-repeat: no-repeat; background-position: center; }

/********************************* PRESTATIONS *********************************/
.prestations { width: 100%; max-width: 1400px; margin: auto; padding: 3rem 2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3rem; }

.prestations h2 { margin-bottom: 1rem !important; }

.prestation-head { width: 90%; margin: auto; }

.prestation-container { width: 100%; display: flex; justify-content: stretch; align-items: stretch; gap: 2rem; }

.prestation { width: 33%; height: 50vh; background-size: cover !important; background-position: center !important; position: relative; text-decoration: none; transition: all 0.5s ease; }

.prestation:hover { transform: translateY(4px); }

.prestation:hover .prestation-overlay { background-color: #F24405; opacity: 0.95; }

.prestation:hover .prestation-logo { transform: scale(1.15) translateY(-0.5rem); }

.prestation-overlay { background-color: #F86E01; position: absolute; width: 100%; height: 100%; opacity: 0.8; transition: all 0.5s ease; }

.prestation-content { width: 100%; height: 100%; z-index: 2; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 2rem; }

.prestation-logo { width: 40%; height: 8rem; object-fit: contain; transition: all 0.5s ease; margin-bottom: 1rem; }

.prestation-arrow { width: 3rem; height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: scale(0); transition: all 0.5s ease; }

.prestation-arrow::before { content: '\F138'; font-family: 'bootstrap-icons'; font-size: 2.5rem; color: #FAFAFA; }

.prestation:hover .prestation-arrow { height: 2.5rem; transform: scale(1); margin-top: 5%; }

@media screen and (max-width: 992px) { .prestation-container { flex-direction: column; } .prestation { width: 100%; height: 40vh; } }

/********************************* ENGAGEMENTS *********************************/
.engagement-card img { width: 60%; margin: 0 auto 2rem; height: 200px; object-fit: contain; }

.engagement-card h4 { margin-bottom: 0 !important; }

.engagement-overlay.position-absolute.top-0.start-0.w-100.h-100 { background: rgba(252, 252, 252, 0.5); }

div#engagement-card-id { background: transparent !important; backdrop-filter: none; }

.engagement-content.container.position-relative { padding: 3rem 2rem; }

section:has(.engagement-content) { margin: 3rem 0; background: rgba(216, 216, 214, 0.3) !important; }

@media screen and (max-width: 992px) { .engagement-content.container.position-relative { padding: 4rem 2rem 9rem; } }

/********************************* CARTE *********************************/
.carte-sorel { position: relative; width: 100%; margin: 5rem 0; }

.carte-container { position: relative; z-index: 1; max-width: 1400px; padding: 3rem 2rem; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }

.carte-images { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 1rem; height: 50vh; position: relative; }

.carte-images iframe { grid-column: 1 / -1; height: 100%; }

.carte-images img { min-height: 0; position: relative; width: 100%; object-fit: cover; height: 100%; border: 2px solid #F86E01; }

.carte-content { display: flex; flex-direction: column; align-items: start; gap: 1rem; }

@media (max-width: 1024px) { .carte-container { grid-template-columns: 1fr; gap: 40px; } .carte-content { padding-left: 0; order: 1; } .carte-images { order: 2; } }

@media (max-width: 768px) { .carte-images { height: 40vh; } }

/********************************* RÉSEAUX *********************************/
.fd-social { text-align: center; padding: 4rem 2rem; font-family: 'Lato', serif; margin-bottom: 3rem; }

.fd-social-line { height: 1px; background-color: #D8D8D6; width: 20%; margin: auto; margin-bottom: 2rem; margin-top: 1rem; }

.fd-social-header { margin-bottom: 60px; }

.fd-social-subtitle { display: block; color: #D8D8D6; font-size: 1.7rem; font-weight: 300; }

.fd-social-header h2 { font-size: 2.5rem; font-weight: 600 !important; color: #0F0C09; display: flex; flex-direction: column; align-items: center; }

.fd-social-header p { font-size: 1.1rem; color: #0F0C09; line-height: 1.5; margin: 0 auto; font-weight: 300; }

.fd-social-links { display: flex; justify-content: center; align-items: center; gap: 80px; flex-wrap: wrap; }

.fd-social-item { display: flex; flex-direction: column; align-items: center; text-decoration: none; transition: transform 0.3s ease; }

.fd-social-item span { color: #F86E01; transition: all 0.3s ease; }

.social-img-container { width: 200px; height: 200px; margin-bottom: 12px; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; }

#facebook-svg { fill: #F86E01; transition: all 0.3s ease; width: 114,62px; height: 200px; }

.fd-social-item:hover { transform: translateY(4px); }

.fd-social-item:hover #facebook-svg { fill: #F24405; }

.fd-social-item:hover span { color: #F24405; }

@media (max-width: 768px) { .fd-social { padding: 80px 25px; } .fd-social-header h2 { font-size: 2rem; } .fd-social-links { gap: 50px; } .social-img-container { width: 100px; height: 100px; } #facebook-svg { width: 57,31px; height: 100px; } .fd-social-line { width: 80%; } }

/********************************* CTA *********************************/
.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { padding: 6rem !important; }

.cta_banner .content { max-width: 1400px; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0 !important; border: 1px solid #F86E01; transition: all 0.3s ease; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { transform: translateY(2px); }

@media screen and (max-width: 992px) { .d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { padding: 4rem 2rem !important; } }

/********************************* CONTACT *********************************/
div#contact { padding-top: 8vh !important; }

#contact .col-lg-6.text-center.text-color-sixth { text-align: left !important; padding-left: 6rem; }

#contact .lh-1.mb-3.titles { line-height: 150% !important; }

#contact ::marker { color: #0D0D0D; }

#contact .col-lg-6.text-center.text-color-sixth a span { transition: all 0.3s ease; }

#contact .col-lg-6.text-center.text-color-sixth a:hover span { color: #F24405 !important; }

#contact .background-image-div-opacity { background-attachment: scroll !important; }

@media screen and (max-width: 992px) { #contact .col-lg-6.text-center.text-color-sixth { text-align: left !important; padding-left: 2rem; } }

/********************************* HERO SECONDAIRE *********************************/
#hero-sec h1 { display: flex; flex-direction: column; align-items: center; }

div#hero-sec { padding-top: 18vh !important; }

#hero-sec .background-image-div-opacity { background-attachment: scroll !important; }

/********************************* DÉTAILS PRESTATIONS *********************************/
.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative { box-shadow: none !important; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative h2 { display: flex; flex-direction: column; align-items: start; gap: 0.25rem; }

.row.flex-lg-row-reverse, .row.flex-lg-row { align-items: stretch !important; }

.col-12.col-sm-8.col-lg-5 { position: relative !important; min-height: 300px; padding: 0 !important; border: 1px solid #F86E01; }

.col-12.col-sm-8.col-lg-5 img { position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100% !important; object-fit: cover; max-width: none !important; }

.col-lg-7.my-0.order-1.order-lg-1.order-xl-1.order-xxl-1 { padding: 3rem; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative th, .mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative td { border: 4px solid #FCFCFC !important; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative tbody p { margin-bottom: 0 !important; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative th { background-color: rgba(248, 110, 1, 0.8) !important; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative td { background-color: rgba(216, 216, 214, 0.1) !important; }

@media screen and (max-width: 992px) { .col-lg-7.my-0.order-1.order-lg-1.order-xl-1.order-xxl-1 { padding: 0.5rem; } .mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative table { font-size: 0.8rem; } }

/********************************* TEAM MEMBERS *********************************/
img.team-member-avatar.team-image.rounded-circle.img-fluid.mx-auto { border-radius: 0 !important; }

.row.justify-content-center.team-list { gap: 3rem; margin-top: 3rem; }

.col-12.col-sm-6.col-md-4.col-lg-3.text-center.mb-4.team-col { width: 30%; }

section.team-members-section.position-relative.py-5.bg-primaryColor.text-color-primary { padding: 6rem 2rem 2rem !important; }

@media screen and (max-width: 992px) { section.team-members-section.position-relative.py-5.bg-primaryColor.text-color-primary { padding: 3rem 2rem 0 !important; } .row.justify-content-center.team-list { flex-direction: column; } .col-12.col-sm-6.col-md-4.col-lg-3.text-center.mb-4.team-col { width: 100%; } }

/********************************* PLACO *********************************/
#placo .team-member-avatar { width: 300px !important; height: 300px !important; max-width: 300px !important; max-height: 300px !important; min-width: 300px !important; min-height: 300px !important; margin-bottom: 1rem; border: 1px solid #F86E01; }

#placo .team-member-avatar:hover { transform: scale(1) !important; }

.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { border-radius: 0 !important; border: 1px solid #F86E01; }

.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { box-shadow: none !important; margin-bottom: 3rem !important; }

.redirectsCards-div .background-image-div-opacity { background-attachment: scroll; }

.redirectsCards-div .col { margin-top: 1rem !important; padding: 0 0.5rem !important; }

.row.mb-3.text-center.px-lg-2.justify-content-center.redirectsCards-div { padding: 0 1rem !important; margin-top: 0 !important; }

.row.row-cols-1.row-cols-md-3.g-2 { margin-top: 0 !important; }

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