/* 
@media screen and (max-width: 1190px) {}
@media screen and (max-width: 991px) {}
@media screen and (max-width: 752px) {}
@media screen and (max-width: 400px) {} 
*/


/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX COMMUNS */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
    --typo1: "Archivo", sans-serif;
    --typo2: "Inter", sans-serif;
  }
body {
    font-family: var(--typo2);
  }
h1 {
    font-family: var(--typo1);
  }
h2 {
    color: #34302f;
    }
h3 {
    border-bottom: solid 2px #d70f2b;
    border-left: none;
    width: fit-content;
    padding-left: 0;
}
h4 {
    border: solid 2px #d70f2b;
    color: #343434;
}
p {
    color: #34302f;
}


#legals .BGGradient1::before, #contact .BGGradient1::before, #realisation .BGGradient1::before, #avisClients .BGGradient1::before, #metier .BGGradient1::before, #etablissement .BGGradient1::before {
    background: linear-gradient(51deg, #d70f2b00 60% 40%, #ffffff00 60%);
}

/* ************************************************************ Menu et top site */
.introSlide {
    height: 94.5vh;
}

.topadress-container {
    padding: 10px 0;
}
.topadress .Activities {
    text-transform: uppercase;
    font-weight: 400;
    border-left: none;
    border-right: none;
}

.topadress .Activities .tel a:before {
    content: "\f4b8";
    font-size: 1.5rem;
    position: absolute;
    left: -24px;
    top: 3px;
}
.DoublePhone {
  animation: none;
}
.topadress .Activities .facebook a:before {
    content: "\f230";
    font-size: 1.5rem;
    margin-left: 15px;
}

.topadress .Activities a:hover {
	color: #d70f2b;
}

@media screen and (max-width: 800px) {
    .topadress>.Right {
        background-color: #d70f2b;
    }
}

.menu>ul>li .text {
    text-transform: uppercase;
    font-size: 14px;
}

.menu>ul>li>ul {
    border-bottom: 7px solid #d70f2b;
}
/* @media (pointer: fine) and (min-width: 1190px) {
    .menu>ul>li>ul.normal-sub {
        padding: 10px 20% 50px;
    }
    .menu>ul>li>ul.normal-sub>li {
        width: 50%;
    }
} */

.menu>ul>li>ul>li a::before {
    color: #d70f2b;
}

.menu>ul>li>ul>li a:hover {
	letter-spacing: 0;
}

.menu>ul>li>.text:before {
	display: none;
}

.menu>ul>li .text:after {
    left: 0px;
	bottom: 14px;
	position: absolute;
	opacity: 1;
	width: 0%;
	height: 3px;
	content: '';
	background: #d70f2b;
	transition: all 0.2s;
}

.menu>ul>li .text:hover:after {
	width: 100%;
    bottom: 14px;
}

.bulle {
    background-color: #d70f2b;
    color: #34302f;
    border-radius: 5px;
    padding: 2px 9px;
}

.BackgroundColor1 {
    background: #34302F !important;
}

.header {
    border-color: #dbd3d1;
}

/* ********************************************************************** Footer */
.FooterPresent img {
    
}
.contentLigne1 {
    background: #34302F;
}
.contentLigne2 {
    background: #060606;
}

.FooterPresent .societe {
    color: #d70f2b;
    text-transform: unset;
    font-weight: 500;
    font-size: 14px;
}

.FooterAdresse {
    border-left: 1px solid #d70f2b;
}
.FooterPresent p, .FooterAdresse p {
    color: #ffffff;
    font-weight: 200;
    font-size: 13px;
}
.FooterAdresse p {
    margin: 11px 0 20px 20px;
}
.FooterAdresse p:before {
    top: 5px;
    font-size: 28px;
    font-weight: 700;
}
.FooterAdresse p:after {
    display: none;
}

.FooterAdresse .contact {
    display: none;
}

@media screen and (max-width: 991.98px) {
    .FooterAdresse {
        border-top: 2px solid #d70f2b;
        border-left: none;
    }
}

.FooterAdresse h5 {
    color: #d70f2b;
    font-size: 13px;
    font-weight: 600;
}
.FooterAdresse h5:after {
    display: none;
}

.FooterAdresse .tel {
    color: #d70f2b;
    font-family: var(--typo2);
    margin: 0px;
}
.FooterAdresse .tel:before {
    content: "\f4b8";
    font-size: 35px;
}

.FooterAdresse ul {
    margin-top: 0;
}

.FooterAdresse ul li .facebook:before {
    content: "\f230";
}

.FooterAdresse ul li a:hover {
	color: #d70f2b;
}

.FooterAdresse .tel:hover:before {
    color: #d70f2b;
}

.ligne2 ul li a:hover {
    color: #d70f2b;
}

.BreadCrump a {
    color: #ffffff;
}
.BreadCrump a:hover {
    color: #d70f2b;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HOME */
/* ********************************************************************** slider */
.introSlide .content {
    background: linear-gradient(176deg, #ffffff57, #00000000, #000000a8), #00000000;
}

.introSlide .content .scroll-downs {
    display: none;
}

.introSlide .content img {
    width: 40%;
    max-width: 350px;
    margin: 140px 70% 50px 10%;
}
@media screen and (max-width: 900px) {
    .introSlide .content img {
        width: 50%;
        margin: 140px 70% 50px 10%;
    }
}
@media screen and (max-width: 752px) {
    .introSlide .content {
        justify-content: space-between;
    }
    .introSlide .content img {
        width: 50%;
        margin: unset;
        margin-top: 80px;
        min-width: 250px;
    }
}

.introSlide .content p {
    color: #ffffff;
    border: none;
    font-family: var(--typo1);
    text-align: left;
    margin: auto 70% auto 10%;
    position: absolute;
    bottom: 10%;
    font-size: 2.1rem;
    line-height: 2.3rem;
}
@media screen and (max-width: 900px) {
    .introSlide .content p {
        font-size: 1.8rem;
        line-height: 2rem;
    }
}
@media screen and (max-width: 752px) {
    .introSlide .content p {
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin: auto;
    }
}

.introSlide .content p::first-line {
    text-transform: none;
    font-size: 2.1rem;
}
@media screen and (min-width: 800px) {
    .introSlide .content p::first-line {
        font-family: var(--typo1);
    }
}


.introSlide .content .mousey {
    border: 2px solid #d70f2b;
    background: #ffffff54;
}
.introSlide .content .scroller {
    background-color: #000000;
}

/* ********************************************************** Paragraphe principal */
.sticky+main {
    padding-top: 10em;
}

@media screen and (max-width: 991px) {
    .sticky+main {
        padding-top: 9em;
    }
}

@media screen and (max-width: 400px) {
    .sticky+main {
        padding-top: 8em;
    }
}

.MainTitle {
    color: #34302F;
}

.homeIntroText, .homeIntroTitreIext {
    width: 60%;
}

.homeIntroTitreIext h1 {
    margin-top: 2em;
    margin-bottom: 0.5em;
    text-align: left;
    font-size: 3em;
    font-weight: 500;
    line-height: 1.05em;
    color: #ffffff;
}

.homeIntroText p {
    color: #ffffff;
}

.contentIntro {
    background-size: cover;
}
@media (max-width: 1199.98px) {
    .contentIntro {
        background-position-y: center;
        background-position-x: center;
    }
}
@media (max-width: 991.98px) {
    .homeIntroText, .homeIntroTitreIext {
        width: 90%;
    }   
    .homeIntroText {
        max-height: none;
    }
}

.MaxHeight {
    max-height: 280px;
    overflow-y: auto;
    position: relative;
}

/* *************************************************************** certifiactions */

.contentCertif h4 {
    font-family: var(--typo1);
    color: #34302F;
    font-size: 40px;
    letter-spacing: 0px;
    width: 50%;
}
#metier .contentCertif h4 {
    width: 100%;
}
.contentCertif h4 small {
    color: #34302f;
    top: -34px;
    transform: rotate(0deg);
    font-size: 32px;
    font-weight: 300;
    border: none;
    font-family: var(--typo1);
}
@media (max-width: 991.98px) {
    .contentCertif h4, .contentCertif h4 small {
        width: 90%;
    }   
}

.snip1482 a:hover {
    color: #d70f2b;
}

/* *************************************************************** select travaux */
.ReaTitre h4 {
    color: #ffffff;
    font-family: var(--typo1);
    font-size: 32px;
    font-weight: 100;
    letter-spacing: 0;
    text-transform: unset;
    padding-bottom: 50px;
}
.ReaTitre h4 span {
    color: #d70f2b;
    font-weight: 500;
    font-size: 2.2em;
    position: relative;
    top: 22px;
}
@media (max-width: 991.98px) {
    .ReaTitre h4 {
        font-size: 25px;
    }   
}

#realisations .ReaTitre h4 {
    /* opacity: 0; */
    margin: 0px 0 8px 0;
}

.ReaContent ul li .ReaItem .ReaItemTitle span {
    text-align: left;
    width: 100%;
}

.ReaContent ul li .ReaItem .ReaItemLocal {
    background-color: #d70f2b;
}

.ReaContent ul li .ReaItem:before {
    background-color: #d70f2b;
    border-radius: 0;
}
.ReaContent ul li .ReaItem:hover:before {
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.ReaLinkAll a {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 15px;
    border: solid 1px #fff;
    padding: 5px 13px;
    border-radius: 10px;
    width: max-content;
    margin: auto;
}

.ReaLinkAll a:hover {
    color: #fff;
    background-color: #d70f2b;
}

.ReaLinkAll a:before {
    color: #ffffff;
    font-size: 2em;
}

.ReaContent ul li .ReaItem img {
    filter: saturate(0.7);
}

/* **************************************************************** avis clients */
.contentAvis h3  {
    font-family: var(--typo1);
    color: #34302F;
    text-align: left;
    font-size: 32px;
    font-weight: 100;
    letter-spacing: 0;
    text-transform: unset;
    padding-bottom: 50px;
    display: unset;
}
.contentAvis h3::first-letter {
    text-transform: uppercase;
}
.contentAvis h3 span {
    font-family: var(--typo1);
    color: #34302F;
    font-weight: 500;
    font-size: 2.2em;
    position: relative;
    top: 22px;
}
.slider .content:before {
    content: '🙶';
    font-size: 7em;
    top: -22px;
    left: 18%;
}
.slider .content:after {
    content: '🙷';
    font-size: 7em;
    top: -22px;
    right: 18%;
}

.content-txt p small {
    font-weight: 400;
    color: #444;
    text-transform: uppercase;
}

.content-txt a {
    color: #34302f;
    font-size: 0.85em;
}
.content-txt a:before {
    content: "\f216";
    font-size: 1.5rem;
    margin-right: 5px;
    background: #d70f2b !important;
    width: fit-content;
    margin: auto;
    padding: 5px 10px;
    border-radius: 5px;
}
.content-txt a:hover {
	font-style: normal;
	letter-spacing: 0;
}

.contentAvis .TousAvis a:hover {
    color: #d70f2b;
}

.contentAvis .TousAvis:before {
    background: none;
}

/* **************************************************************** partenaires */
.contentMarques h4 {
    font-family: var(--typo1);
    color: #ffffff;
    text-align: left;
    font-size: 32px;
    font-weight: 100;
    letter-spacing: 0;
    text-transform: unset;
    padding-bottom: 50px;
    display: unset;
}
.contentMarques h4::first-letter {
    text-transform: uppercase;
}
.contentMarques h4 small {
    font-family: var(--typo1);
    color: #d70f2b;
    font-weight: 500;
    font-size: 2.2em;
    position: relative;
    top: 22px;
}
@media (max-width: 575.98px) {
    .contentMarques h4 small {
        font-size: 40px;
    }
}

.MarqueItem {
    border: none;
}

.MarqueItem .HideMarque a {
    color: #d70f2b;
}

/* **************************************************************** marques */

.Marques {
    background: #000000;
}
.Marques::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    background-image: url(../img/image1.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ENTREPRISE */
/* ********************************************************************* header */
.OpacColorBG {
    background: linear-gradient(90deg, #34302f 22%, #ffffff00 84%);
}
.ImgBG {
    z-index: -1;
    filter: blur(4px);
    background-position-y: center;
}

.title {
    color: #ffffff;
    font-family: var(--typo1);
}
.title .rate {
    color: #34302F;
}
.BGGradient1::before {
    background: linear-gradient(90deg, #34302f 22%, #34302f00 84%);
}
@media (max-width: 991.98px) {
    .BGGradient1::before {
        background: linear-gradient(90deg, #34302f 22%, #00000094 84%);
    }
}
.ContentTopPageTitle .title {
    font-weight: 100;
    text-align: left;
    padding: 0 10px;
    justify-content: left;
}
.title span, .title h1 {
    font-size: 52px;
    line-height: 1em;
    width: 70%;
}
@media (max-width: 575.98px) {
    .title span, .title h1 {
        font-size: 40px;
        width: 100%;
    }
}
.ContentTopPageTitle .title h1 {
    font-size: 1.5em;
    margin-bottom: 25px;
}
.ContentTopPageTitle .title h1 small {
    font-family: var(--typo1);
    font-weight: 100;
    /* font-size: 2.5em; */
}
@media (max-width: 767.98px) {
    .ContentTopPageTitle .title h1 {
        font-size: 1em;
    }
}
#avisClients .title h1 {
    font-size: 52px;
    line-height: 1em;
    width: 100%;
    margin-bottom: 0;
}
#avisClients .title h1 small {
    font-size: 35px;
    line-height: 35px;
    margin-top: -10px;
}

.AvisClientListContainer {
    border-radius: 20px;
}
.AvisClientFicheLink {
    background: none;
    border-radius: 0;
    border-bottom: solid 3px #d70f2b;
}
.AvisClientFicheLink img {
    border-radius: 10px;
}
.AvisClientFicheLink legend {
    padding: 10px 0%;
    color: #34302f;
    font-size: 140%;
    font-weight: 100;
    line-height: 110%;
    font-family: var(--typo1);
}
.AvisClientFicheLink legend small span {
    border: none;
    border-left: solid 1px;
    padding: 0 6px;
    margin-left: 6px;
}
.AvisClientItemID {
    justify-content: space-between;
}
.AvisClientItemIDContent time {
    color: #34302f;
    background: #D4DBD0;
    border: none;
    border-radius: 4px;
}
.AvisClientItemReponseID:first-of-type:before {
    height: 3px;
    background: #d70f2b;
}

.pagination>.active>a {
    color: #343030;
}
.pagination .active a::before {
    background: #d70f2b;
    border-radius: 5px;
    box-shadow: 0 0 0 #00000000;
}

.title img {
    margin: unset;
    filter: brightness(15);
}
.title p {
    font-size: 1em;
    font-weight: 400;
    color: #34302f;
    line-height: 0em;
    font-family: var(--typo2);
    max-width: 250px;
    width: 60%;
    text-align: center;
}

.Rea {
    background-color: #34302F;
}
.ReaWhite {
    background-color: unset !important;
}
#realisations .ReaWhite {
    background-color: #34302F!important;
}

.contentMain h1 small {
    font-size: 1em;
}

/* ***************************************************************** Paragraphe */
#realisation .BreadCrump a, #contact .BreadCrump a {
    color: #ffffff;
}
.contentMain h1 {
    border: none;
    text-align: left;
}

.ContentMainRight {
    border-bottom: solid 10px #d70f2b;
}

.MainTextLeft li::before {
    color: #d70f2b;
}

.MainTextLeft ul {
    padding-inline-start: 10px;
}
.MainTextLeft li::before {
    display: none;
}
.MainTextLeft li {
    list-style: disc;
    margin-left: 23px;
    padding-left: 0px;
}

.ContentMainRight {
    border-bottom: solid 10px #d70f2b;
    border: none;
    margin-top: 50px;
    border-radius: 15px;
    overflow: hidden;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PAGE AVIS CLIENT */
.AvisClientItemIDContent time {
    color: #d70f2b;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PAGE LISTE REALISATIONS */
#realisations .ReaWhite .ReaTitre h4 {
    color: white;
}
#realisations .showUl {
    float: none;
    width: fit-content;
    padding-bottom: 30px;
}
.ReaWhite .ReaPlusContent h5 {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    gap: 8px;
    color: #ffffff;
    font-size: 1em;
    line-height: normal;
    border: solid 1px;
    border-radius: 10px;
    width: fit-content; 
    padding: 0 10px;
    scale: 80%;
}
.ReaPlusContent h5 small {
    font-family: var(--typo1);
    font-weight: 300;
    font-size: 0.4em;
    letter-spacing: 0;
    position: relative;
}
.ReaPlusContent .showUl:hover h5 {
    padding-left: 0px!important;
}
.ReaPlusContent:hover h5 small {
    color: #3a3a3a;
}
.ReaPlusContent:hover h5 {
    background: #d70f2b;
}
.ReaPlusContent ul li a:hover {
    background: #d70f2b;
}

.pagination .active a::before {
    background: #d70f2b;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX REALISATION */
.ContentMainLeft {
    border-bottom: none;
}
.rslides2 {
    border-radius: 20px;
}

.rslides2Zoom {
    color: #d70f2b;
}

.ContentMarquesRea {
    padding: 0;
}
.ficheTech {
    color: #34302f;
    background: #d70f2b;
    border: none;
    font-size: 16px;
    font-weight: 600;
    padding: 13px 20px;
    border-radius: 15px;
}

.ContentAvisClientFiche {
    background: #d70f2b;
}

.ClientID small {
    color: #515151;
}

.AvisClientReponse {
    background: #c7c4c4;
}

.AvisClientReponse::before {
    background: #c7c4c4;
}

.SuperForm a {
    background: #d70f2b;
}

.Contact {
    background-color: #d70f2b;
}

.PageContact h4 {
    display: none;
}

.form-group input,
.form-group textarea {
    border-bottom: 1px solid #ffffff;
    color: white;
}

input:invalid~label,
textarea:invalid~label {
    background: #d70f2b;
}

.checkbox__check {
    background: #d70f2b;
}

.form-sec3 button {
    color: #d70f2b;
}

.form-sec3 button:hover {
    background: #ff4754;
}

a.control_prev, a.control_next {
    background: #d70f2b;
}

.form-sec3 label, .form-sec3 p, .form-sec3 p a {
    color: #34302F;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CONTACT */
.CTAForm a {
    background: #d70f2b;
    color: #ffffff;
    font-weight: 600;
}
.CTAForm a::before {
    content: "\f376";
    opacity: 1;
}

.PageContact .phone a {
    background: #d70f2b;
    color: #34302f;
}

.PageContact .phone a:hover {
    background: #ff4754;
}

.PageContact hr {
    border: solid 0px #d70f2b;
}

hr:before {
    background: #d70f2b;
    background: linear-gradient(90deg, rgb(52 48 47 / 35%) 0%, rgb(0 0 0 / 0%) 100%);
}

.PageContact .ContactRS {
    margin: 43px 0;
}
.PageContact .ContactRS ul {
    padding: 0 0 0 132px;
}
.PageContact .ContactRS ul::before {
    top: 0;
    left: -35px;
}
.PageContact .ContactRS ul li .facebook:before {
    content: "\f230";
}

