@charset "UTF-8";
@import url(main.css);
div.shadow-lg { box-shadow: none !important; }

.spacer { display: none; }

a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { text-transform: uppercase; font-weight: 600; }

a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button { border-radius: 0 !important; padding: 0.75rem 1rem !important; color: #FCFCFC !important; font-weight: 600 !important; text-transform: uppercase; }

/**************************** NAVBAR ****************************/
nav#navigation-bar-show { margin: auto; transition: all 0.3s ease !important; }

.navbar { display: flex; flex-direction: column; align-items: center; padding: 0 !important; }

.navbar::after { content: ''; width: 90%; height: 1px; background-color: #F8F5F2; }

.navbar .container-fluid { width: 90%; }

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

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

.logo_nav { height: 8vh !important; }

a.navbar-brand { position: relative !important; width: 12vw !important; transition: all 0.3s ease-in-out; display: flex; align-items: center; }

a.navbar-brand:hover { transform: scale(1.025); }

.navbar.scrolled { background: #010001 !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { position: relative; transition: all 0.2s ease-in-out !important; padding: 0.75rem 1rem !important; margin-right: 1.5rem !important; border-radius: 0 !important; border: 1px solid #FC7231; display: flex; align-items: center; justify-content: center; color: #F8F5F2 !important; overflow: hidden; text-decoration: none; font-weight: 600; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone::before { content: ""; position: absolute; width: 100px; height: 100%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); top: 0; left: -100px; opacity: 0.6; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover::before { animation: shine 1.5s ease-out infinite; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { color: #F8F5F2; border: 1px solid #F8F5F2; }

@media screen and (max-width: 992px) { .navbar { background: #010001 !important; } }

/**************************** CLIP-PATH ****************************/
svg.brush-stroke-clip { position: absolute; top: -100px; right: -100px; width: 0; height: 0; }

h2 { display: flex; flex-direction: column; align-items: start; }

h2::after { content: ''; width: 20%; height: 5px; clip-path: url(#brushStroke); background-color: #FC7231; margin-top: 0.5rem; }

/**************************** HERO ****************************/
.hero { position: relative; height: 100vh; display: flex; align-items: center; overflow: hidden; box-shadow: 0 10px 2rem #010001; border-bottom: 4px solid #F8F5F2; }

.hero::after { content: ''; position: absolute; top: 0; left: 0; width: 100vw; height: 100%; background: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FWhkHJP9dTwcghJ5RrxgKrURnNQG2%2Fimages%2Ffond-hero2_jpx0.webp); background-size: 100% auto; background-position: bottom; z-index: 1; }

.hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, #010101 20%, transparent 80%); background-size: cover; background-position: center; z-index: 1; }

.hero-container { position: relative; width: 100%; max-width: 1500px; margin: 0 auto; padding: 60px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

.hero-content { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; z-index: 2; }

.hero-button { position: relative; transition: all 0.2s ease-in-out; padding: 0.75rem 1rem; background-color: #FC7231; border: 1px solid #FC7231; display: flex; align-items: center; justify-content: center; color: #F8F5F2; gap: 10px; overflow: hidden; cursor: pointer; text-decoration: none; font-family: 'Noto Sans'; font-weight: 600; }

.hero-button:hover { color: #F8F5F2; border: 1px solid #F8F5F2; }

.hero-button::before { content: ""; position: absolute; width: 100px; height: 100%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); top: 0; left: -100px; opacity: 0.6; }

.hero-button:hover::before { animation: shine 1.5s ease-out infinite; }

.hero-video-container { position: absolute; transform: rotate(3deg); right: -25%; bottom: -70%; height: 90vh; overflow: hidden; }

.hero-video { width: 100%; height: 100%; object-fit: contain; }

@keyframes shine { 0% { left: -100px; }
  60% { left: 100%; }
  to { left: 100%; } }

@media (max-width: 968px) { .hero-container { grid-template-columns: 1fr; gap: 50px; text-align: center; } .hero-content { align-items: center; } }

/**************************** PRESTATIONS ****************************/
.prestations { display: flex; flex-direction: column; align-items: center; gap: 4rem; padding: 4rem 8rem 8rem; }

.prestations-top { display: flex; flex-direction: column; text-align: center; align-items: center; }

.presta-cards { width: 100%; display: flex; justify-content: space-around; align-items: center; gap: 2rem; }

.presta-card { background-size: cover !important; background-blend-mode: darken; width: calc(25vw - 6rem); height: 25vw; border: 2px solid #FC7231; text-decoration: none; padding: 2rem; overflow: hidden; position: relative; transition: all 0.3s ease-in-out; display: flex; flex-direction: column; align-items: center; justify-content: end; text-align: center; box-shadow: 0 0 1rem rgba(1, 0, 1, 0.2); }

.presta-card::before { content: ""; position: absolute; width: calc(25vw); height: 100%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); top: 0; left: -25vw; opacity: 0.4; }

.presta-card:hover { border: 2px solid #F8F5F2 !important; box-shadow: 0 0 3rem #010001; }

.presta-card:hover::before { animation: shine2 1.5s ease-out infinite; }

.prestations h2 { align-items: center; }

.prestations h2::after { width: 80%; }

.prestations h3 { display: flex; flex-direction: column; align-items: center; }

.prestations h3::after { content: ''; width: 5rem; height: 5px; clip-path: url(#brushStroke); background-color: #FC7231; margin-top: 0.5rem; }

@keyframes shine2 { 0% { left: -25vw; }
  60% { left: 100%; }
  to { left: 100%; } }

@media screen and (max-width: 992px) { .prestations { padding: 2rem; } .presta-cards { flex-direction: column; } .presta-card { width: calc(100vw - 4rem); height: 80vw; } .presta-card::before { width: 100%; height: 100%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); top: 0; left: -100%; opacity: 0.6; } @keyframes shine2 { 0% { left: -100%; }
    60% { left: 100%; }
    to { left: 100%; } } }

.position-relative.bg-sixthColor.picto_card { padding: 3rem; }

svg#a { height: 8rem; width: 8rem; }

/**************************** RÉSEAUX SOCIAUX ****************************/
.fd-social { position: relative; text-align: center; padding: 100px 40px; overflow: hidden; }

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

.fd-social-subtitle { display: block; font-family: 'Noto Sans', cursive; color: #FC7231; font-size: 2rem; margin-bottom: 10px; }

.fd-social-header .social-title { font-family: 'Noto Sans', serif; font-size: 2.4rem; color: #F8F5F2; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; font-weight: 600 !important; display: flex; flex-direction: column; align-items: center; }

.fd-social-header p { font-family: 'Noto Sans', serif; font-size: 1.05rem; color: #F8F5F2; font-weight: 300; line-height: 1.7; max-width: 700px; margin: 0 auto; }

.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 img { width: 70px; height: 70px; margin-bottom: 12px; border-radius: 14px; background-color: transparent; transition: transform 0.3s ease, filter 0.3s ease; }

.fd-social-item span { font-family: 'Noto Sans', serif; color: #FC7231; font-size: 1rem; font-weight: 600; transition: all 0.3s ease; }

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

.fd-social-item:hover img { filter: brightness(2.45) saturate(0.05) contrast(0.95) hue-rotate(-25deg); transform: translateY(-5px); }

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

@media (max-width: 768px) { .fd-social { padding: 80px 25px; } .fd-social-header .social-title { font-size: 2rem; } .fd-social-links { gap: 50px; } .fd-social-item img { width: 60px; height: 60px; } }

/**************************** MAPS ****************************/
.maps-section .col-sm-12.col-lg-6.col-xl-8.map-content { width: 70%; height: 300px; border: 2px solid #FC7231; padding: 0; }

.row.informations-list { justify-content: center; align-items: center; flex-direction: column; }

.maps-section span.p-1, .maps-section a { color: #F8F5F2; transition: all 0.3s ease !important; }

.maps-section i, .maps-section span.fs-4 { color: #FC7231 !important; }

.maps-section a:hover { color: #FC7231 !important; }

.maps-section .item-content.mx-5 { display: flex; gap: 3rem; }

.maps-section p { font-size: 1rem !important; line-height: 150% !important; }

.maps-section .col-sm-12.col-lg-6.col-xl-4.py-5.content.text-color-sixth { width: 70%; display: flex; flex-direction: column; align-items: center; }

.maps-section h2 { align-items: center; }

.maps-section.position-relative.bg-sixthColor { padding: 4rem 0; }

iframe { height: 100%; }

@media screen and (max-width: 992px) { .maps-section .item-content.mx-5 { flex-direction: column; } }

/**************************** CTA ****************************/
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0; border: 1px solid #F8F5F2; background-color: #F8F5F2; position: relative; transition: all 0.2s ease-in-out !important; padding: 0.75rem 1rem !important; margin-right: 1.5rem !important; display: flex; align-items: center; justify-content: center; overflow: hidden; text-decoration: none; font-weight: 600; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2::before { content: ""; position: absolute; width: 100px; height: 100%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(1, 0, 1, 0.1), rgba(255, 255, 255, 0) 70%); top: 0; left: -100px; opacity: 0.6; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover::before { animation: shine 1.5s ease-out infinite; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { border: 1px solid #010001; }

#cta h2 { align-items: center; }

#cta h2::after { background-color: #010001; }

#cta { margin: 3rem 0 !important; }

/**************************** HERO PRESTATIONS ****************************/
#hero-sec .background-image-div-opacity { background-size: 70% !important; background-position: right bottom !important; background-attachment: scroll !important; }

#hero-sec::after { content: ''; position: absolute; top: 0; left: 0; width: 100vw; height: 110%; background: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FWhkHJP9dTwcghJ5RrxgKrURnNQG2%2Fimages%2Ffond-hero2_jpx0.webp); background-size: 100% auto; background-position: bottom; }

#hero-sec.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { overflow: visible !important; height: 80vh; padding: 6rem 7.5vw 15vh !important; justify-content: start !important; align-items: end !important; }

#hero-sec .lead.p-4.text-color-sixth { padding: 1rem 0 !important; text-align: left; }

#hero-sec .content { width: 50%; text-align: left !important; }

#hero-sec .d-grid.gap-2.d-sm-flex.justify-content-sm-center { justify-content: start !important; }

#hero-sec a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { background-color: #FC7231; border: 1px solid #FC7231; margin: 0.5rem 0 !important; }

#hero-sec a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { color: #F8F5F2; border: 1px solid #F8F5F2; }

#hero-sec a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2::before { background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); opacity: 0.6; }

@media screen and (max-width: 992px) { #hero-sec .content { width: 100%; } }

/**************************** BLOC PRESTA FEATURES ****************************/
.about-section { max-width: 85%; margin: 0 auto; gap: 60px; align-items: center; padding: 4rem 0; }

.about-section2 { display: grid; grid-template-columns: 1.75fr 1fr; gap: 60px; align-items: center; padding: 4rem 7.5vw; background-color: #F8F5F2; }

.about-content-container { padding: 20px 0; display: flex; flex-direction: column; align-items: center; }

.about-section h2 { align-items: center; text-align: center; margin-bottom: 1rem; }

.about-section h2::after { width: 50%; }

.description { text-align: center; }

.features-container { display: flex; align-items: stretch; justify-content: stretch; gap: 1rem; margin-top: 2rem; width: 70%; }

.features { display: flex; flex-direction: column; justify-content: stretch; gap: 1rem; width: 100%; }

.features2 { display: flex; flex-direction: column; align-items: stretch; justify-content: stretch; gap: 1rem; width: 100%; }

.feature { display: flex; gap: 1rem; align-items: center; justify-content: stretch; padding: 1rem; border: 1px solid #FC7231; background-color: #F8F5F2; }

.feature2 { padding: 1rem; border: 1px solid #FC7231; background-color: #F8F5F2; width: 100%; box-shadow: 0 0 1rem rgba(1, 0, 1, 0.1); }

.feature-icon { width: auto; height: 40px; flex-shrink: 0; margin-top: 2px; }

.feature-content p { margin-bottom: 0 !important; }

@media (max-width: 992px) { .about-section { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem; } .quote-card { position: relative; bottom: auto; left: auto; margin-top: 0.5rem; max-width: 100%; } .main-title { font-size: 32px; } .features { flex-direction: column; gap: 25px; } }

.about-section2 .col.before-after-images-column.my-0.my-lg-2 { width: 100%; height: 250px; }

.about-section2 .about-content-container { align-items: start; }

@media screen and (max-width: 992px) { .features-container { flex-direction: column; width: 100%; } div#debosselage { display: flex; flex-direction: column; } }

/**************************** AVANT-APRÈS ****************************/
.col.before-after-images-column.my-0.my-lg-2 { height: 300px; }

.image-before-after-container { border: 2px solid #FC7231; }

div#before-after-images-slider-2::before, div#before-after-images-slider-2::after, div#before-after-images-slider-1::before, div#before-after-images-slider-1::after { width: 4px !important; background: #FC7231; }

div#before-after-images-slider-2, div#before-after-images-slider-1 { background-color: #FC7231; border: 1px solid #FC7231; }

span.left-arrow-before, span.right-arrow-before { color: #F8F5F2 !important; }

.mx-1.mx-lg-4.mb-5 { margin-bottom: 6rem !important; }

/**************************** PHARES ****************************/
.row.flex-lg-row-reverse.align-items-center.g-5.py-2.px-4.mt-5.position-relative.z-1 { margin-top: 0 !important; }

#phares .col.before-after-images-column.my-0.my-lg-2 { height: 450px !important; }

#phares { padding: 6rem 7.5vw !important; }

@media screen and (max-width: 992px) { #phares { padding: 2rem; } }

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

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

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

#contact h1 { display: flex; flex-direction: column; align-items: start; margin-bottom: 2rem; }

#contact h1 span { line-height: 130% !important; }

#contact h1::after { content: ''; width: 20%; height: 5px; clip-path: url(#brushStroke); background-color: #FC7231; margin-top: 0.5rem; }

/**************************** SEO ****************************/
.first-activity-div.shadow-lg, .second-activity-div.shadow-lg, .third-activity-div.shadow-lg { border: 2px solid #010001; border-radius: 0 !important; box-shadow: 0 0 2rem rgba(1, 0, 1, 0.4) !important; }

.first-activity-div .card, .second-activity-div .card, .third-activity-div .card { border-radius: 0 !important; border: 1px solid #FC7231; }

.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 { margin-bottom: 5rem !important; }

/**************************** HORAIRES ****************************/
.horaires { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; padding: 4rem 0; }

.horaires-title { display: flex; flex-direction: column; align-items: start; text-align: left; }

.horaires-grid { display: flex; flex-direction: column; width: 50%; }

.jour-bloc { border-bottom: 1px solid #FC7231; padding: 20px 0; }

.jour-bloc:last-child { border-bottom: none; }

.jour { font-weight: 600; font-size: 16px; color: #FC7231; margin-bottom: 12px; }

.horaires-details { display: flex; flex-direction: column; gap: 8px; padding-left: 20px; }

.horaire-ligne { display: flex; justify-content: space-between; align-items: center; }

.periode { font-size: 14px; color: #F8F5F2; min-width: 100px; }

.heures { font-size: 15px; color: #F8F5F2; font-weight: 500; }

.jour-bloc.ferme, .horaire-ligne.ferme { opacity: 0.6; }

.jour-bloc.ferme .heures, .horaire-ligne.ferme .heures { color: #F8F5F2; font-style: italic; }

@media (max-width: 992px) { .horaires { padding: 2rem; } .jour, .heures { font-size: 14px; } .horaires-grid { width: 100%; } }

.horaires h2 { align-items: center; text-align: center; margin-bottom: 1rem; }

.horaires h2::after { width: 50%; }

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

.redirectsCards-div .col { padding: 0.25rem 0.5rem; }

.row.mb-3.text-center.px-lg-2.justify-content-center.redirectsCards-div { margin: 6rem calc(7.5vw - 1.25rem) !important; }

@media screen and (max-width: 992px) { .row.mb-3.text-center.px-lg-2.justify-content-center.redirectsCards-div { margin: 2rem !important; } }

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