.bloc img.bgimg{
    position: absolute;
    z-index: -1;
    height: 100.3%;
    width: 100%;
    object-fit: cover;
}    

.bloc img.bgimg.center-center{
    top: 50%; 
    left: 50%;
    transform: translate(-50%,-50%);
}

.bloc img.clippath-left{
    clip-path: polygon(54% 0, 100% 0,100% 100%, 46% 100%);
}

.plusquepro{
    position: absolute;
    top: 250px;
    right: var(--gap);
}

/* BLOC ACCUEIL ENTETE */
.bloc.entete{
    height: calc(70vh + var(--height-header));    
    position: relative;
    overflow: hidden;    
}
.bloc.entete .wrapper{
    overflow: hidden;
    display: flex;    
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
}
.bloc.entete .wrapper .wrapper-inner{
    display: flex;
    flex-direction: column;
    max-width: 600px;
    color:  var(--color-white);
    margin:  var(--gap-wrapper);    
}
.bloc.entete .wrapper .wrapper-inner .logo{
    display: flex;
    margin-top: var(--gap-2);
}
.bloc.entete .wrapper .wrapper-inner .logo img{
    max-width: 250px;
}

.bloc.entete .abs-bottom-center{
    bottom: calc( var(--gap) * 2);
}
.bloc.entete .abs-bottom-center a.button{
    padding: var(--gap-button-v) calc(var(--gap-button-h) * 2);
}

.bloc.entete .wrapper .wrapper-inner p{
    margin-top: var(--gap);
    font-size: 1.7rem;    
}

/* BLOC INFORMATION */
.bloc.information{
    background-color: var(--color-web);   
    color: var(--color-web-text);
}
.bloc.information div{
    padding: calc(var(--gap-wrapper) / 3) var(--gap);
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    font-family: var(--font-text);
}

/* BLOC ACCUEIL DIAGONAL */
.bloc.diagonal{    
    height: 100vh;    
    display: flex;
    align-items: center;    
    justify-content: center;
    position: relative;
    overflow: hidden; 
}
/*
.bloc.diagonal .test{ 
    width: 100%;
    background-color: var(--color-greylight);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    clip-path: polygon(calc(52.5% - 3px) 0, 52.5% 0,47.8% 100%, calc(47.8% - 3px) 100%);
}
*/

.bloc.diagonal .wrapper{
    overflow: hidden;
    display: flex;    
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.2);
}
.bloc.diagonal .wrapper .wrapper-inner{
    display: flex;
    position: relative;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;    
    min-height: 250px;  
    width: 50%;
    background-color: #FFF;
    
    background-image: url('../images/diagonal_bg.jpg');
    background-size: cover;
    background-position: center center;
}
.bloc.diagonal .wrapper .wrapper-inner div.inner{
    flex: 50%;
    padding: calc( var(--gap-wrapper) / 2);
    text-align: justify;
}
.bloc.diagonal .wrapper .align-left,
.bloc.diagonal .wrapper .align-right{
    width: 50%;
    color: #FFF;
}
.bloc.diagonal .abs-bottom-center{
    padding-right: 35px;
}


/* BLOC ACCUEIL SLIDER PRODUCTS */
.bloc.slider_products{    
    height: 70vh;    
    display: flex;
    align-items: center;    
    justify-content: center;
    position: relative;
}
.bloc.slider_products .wrapper{
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;
}
.bloc.slider_products .wrapper .left{
    width: 25%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--gap-wrapper) / 2);
}
.bloc.slider_products .wrapper .left h2{
    padding-bottom: var(--gap);
}
.bloc.slider_products .wrapper .left p{
    text-align: justify;
}
.bloc.slider_products .wrapper .left a.button{
    margin-top: calc(var(--gap) * 2);
}

.bloc.slider_products .wrapper .right{
    width: 75%;
    padding: calc(var(--gap-wrapper) / 2) 0 calc(var(--gap-wrapper) / 2) calc(var(--gap-wrapper) / 2);
    position: relative;
}

.bloc.slider_products .wrapper .right .arrow{
    position: absolute;
    top:  50%;    
    transform: translateY(-50%);
    z-index: 1;
    background-color: rgb(0,0,0,0.7);
    color: #FFF;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-out;
    cursor: pointer;
}
.bloc.slider_products .wrapper .right .arrow:hover{
    background-color: rgb(255,255,255,0.7);
    color: #000;    
}
.bloc.slider_products .wrapper .right .arrow.arrow-prev{
    left: 15px;
}
.bloc.slider_products .wrapper .right .arrow.arrow-next{
    right: 25px;
}

.bloc.slider_products .wrapper .right .slider_wrapper::-webkit-scrollbar {
    display: none; /* for Chrome */ 
}
.bloc.slider_products .wrapper .right .slider_wrapper {
  display: flex;
  gap: 10px;
  overflow-x: scroll;
  overflow-y: hidden;
  height: 100%;
  -ms-overflow-style: none; /* for Internet Explorer, Edge */
  scrollbar-width: none; /* for Firefox */
}

.bloc.slider_products .wrapper .right .slider_wrapper .slide {
    flex-basis: 30%;
    flex-shrink: 0;   
    z-index: 0;
    position: relative;
}

.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;    
    height: 100%;
    width: 100%;
    padding: var(--gap);
    overflow: hidden;
    background-color: rgba(0,0,0,0);
    color: #FFF;
    transition: all 0.3s ease-out;

}
.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover:hover{
    background-color: rgba(0,0,0,0.75);
}

.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover h3,
.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover p{
    font-family: var(--font-text) !important;    
    margin: var(--gap);
    opacity: 0;
    text-align: center;
}
.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover:hover h3,
.bloc.slider_products .wrapper .right .slider_wrapper .slide .hover:hover p{
    opacity: 1;
}

/* BLOC Image/Texte 60% 40% (it64) */
.bloc.it64{    
    height: 70vh;
    overflow: hidden;
}
.bloc.it64.reduced{
    height: 55vh;
}
.bloc.it64 .wrapper{
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;    
}
.bloc.it64 .wrapper .small{
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--gap-wrapper) / 2);
}
.bloc.it64 .wrapper .tall{
    position: relative;
    flex-grow: 1;
}
.bloc.it64 .wrapper h3{
    margin-top: 5px;
}
.bloc.it64 .wrapper .small p{
    padding-top: var(--gap);
    text-align: justify;
}
.bloc.it64 .wrapper .small a.button{
    margin-top: calc(var(--gap) * 2);
}
.bloc.it64 ul{
    padding-left: 30px;
    list-style-position: outside;
}

/* BLOC Projet 40% 60% */
.bloc.project{    
    height: 70vh;
}
.bloc.project .wrapper{
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    width: 100%;    
}
.bloc.project .wrapper .left{
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    padding: calc(var(--gap-wrapper) / 2);
    padding-left: calc(var(--gap-wrapper) * 2);
    background-color: var(--color-web);
    color:  var(--color-web-text);
}
.bloc.project .wrapper .right{
    position: relative;
    width: 60%;
    color:  var(--color-web-text);
}
.bloc.project .wrapper .left h2{
    padding-bottom: var(--gap);
}
.bloc.project .wrapper .left p{
    text-align: justify;
}
.bloc.project .wrapper .left a.button{
    margin-top: calc(var(--gap) * 2);
}

.bloc.project .wrapper .right .right-inner{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    overflow: hidden;    
}

.bloc.project .wrapper .right .right-inner img{
    width: 75px;
    margin: calc(var(--gap-wrapper) / 3);
}
.bloc.project .wrapper .right .right-inner .step{
    width: 33.33%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;    
    padding: calc(var(--gap-wrapper) / 2);
}

.bloc.project .wrapper .right .right-inner .step .top{
    display: flex;    
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 50%;
}

.bloc.project .wrapper .right .right-inner .step .top div{
    font-size: 5rem;
}

.bloc.project .wrapper .right .right-inner .step .bottom{
    height: 50%;
    text-align: justify;
}

.bloc.project .wrapper .right .right-inner .step:nth-child(1){
    background-color: var(--color-web-opacite-1);
}
.bloc.project .wrapper .right .right-inner .step:nth-child(2){
    background-color: var(--color-web-opacite-2);
}
.bloc.project .wrapper .right .right-inner .step:nth-child(3){
    background-color: var(--color-web-opacite-3);
}

/* BLOC CONCEPTION */
.bloc.conception{
    height: 70vh;    
    position: relative;    
}
.bloc.conception-list{    
    background-color: var(--color-web);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(1 * var(--gap));
}
.bloc.conception-list .grid{
    display: grid; 
    grid-gap: calc(1 * var(--gap));
    align-items: flex-start;
}
.bloc.conception-list .grid .item{
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 110px;    
}
.bloc.conception-list .grid .item:hover span{
    background-color: var(--color-secondary); 
}
.bloc.conception-list .grid .item:hover div{
    color: var(--color-secondary); 
}
.bloc.conception-list .grid .item span{    
    background-color: rgb(255,255,255,0.2);    
    display: block;
    width: 57px;
    height: 57px;
    border-radius: 50px;
    display: flex;
    align-items: center;    
    justify-content: center;
    transition: all 0.3s ease-out;
}
.bloc.conception-list .grid .item span img{
    width: 32px;
    height: 32px;
}  
.bloc.conception-list .grid .item div{
    font-family: var(--font-text);
    font-weight: bold;    
    padding-top: calc(0.8 * var(--gap));
    color: var(--color-web-text);
    font-size: 1.4rem;
    text-align: center;
    transition: all 0.3s ease-out;
}

.bloc.conception .wrapper{
    overflow: hidden;
    display: flex;    
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    background: linear-gradient( 90deg, rgba(0,0,0,0), rgba(0,0,0,0.2));
}
.bloc.conception .wrapper .wrapper-inner{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    max-width: 600px;
    color:  var(--color-white);
    margin:  var(--gap-wrapper);    
}

.bloc.conception .wrapper a.button{
    margin-top: calc(var(--gap) * 2);
}

.bloc.conception .wrapper .wrapper-inner p{
    text-align: justify;
    margin-top: var(--gap);    
}

/* BLOC THREE LINKS */
.bloc.three-links{
    height: 80vh;    
    position: relative;    
}

.bloc.three-links div.title{
    margin: var(--gap-wrapper) var(--gap-wrapper) 0 var(--gap-wrapper);
    font-size: 3rem;
    font-family: var(--font-title);
}
.bloc.three-links .wrapper{
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;  
    height: 100%;
    margin: var(--gap-wrapper);    
    gap:  var(--gap);
    justify-content: space-between;
}

.bloc.three-links .wrapper .col{
    width: 32.5%;
    height: 100%;
    overflow: hidden;
    text-align: center;    
}
.bloc.three-links .wrapper .col .hover{
    display: block;
    height: 60%;
    overflow: hidden;
    position: relative;
    background-color: rgba(0,0,0,0);
    color: #FFF;
    transition: all 0.3s ease-out;    
}
.bloc.three-links .wrapper .col .hover:hover{
    background-color: rgba(0,0,0,0.75);
}

.bloc.three-links .wrapper .col .hover h2{
    font-family: var(--font-text) !important;
    line-height: 5rem;
    position: absolute;
    top:  50%;
    left: 50%;
    transform: translate(-50%,-50%);
    margin: var(--gap);
    opacity: 0;
    width: 100%;
    transition: all 0.3s ease-out;
}
.bloc.three-links .wrapper .col .hover:hover h2{
    opacity: 1;
}

.bloc.three-links .wrapper .col p{
    margin: var(--gap);    
}

.bloc.three-links .wrapper .col.post p{
    text-align: justify;    
}
.bloc.three-links .wrapper .col.post h2{
    margin: var(--gap);
    text-align: justify;    
}

.bloc.three-links .wrapper .col a.button{
    margin-left: var(--gap);
    margin-right: var(--gap);
}

/* BLOC CONTACT */
.bloc.contact{
    min-height: 75vh;
}
.bloc.contact .wrapper{
    display: flex;    
    flex-direction: column;
    height: 100%;
    padding: var(--gap-wrapper);
}
.bloc.contact .wrapper h2{
    padding-bottom: var(--gap);
}

.bloc.contact .wrapper .wrapper-inner{
    display: flex;
    flex-wrap: wrap;
}

.bloc.contact .wrapper .wrapper-inner .left{
    width: 50%;
    padding: var(--gap) var(--gap) var(--gap) 0;
}

.bloc.contact .wrapper .wrapper-inner .right{
    width: 50%;
    padding: var(--gap) 0 var(--gap) var(--gap) ;
}

.bloc.contact .wrapper .wrapper-inner .phone{
    margin-top: calc(var(--gap) * 2);
    font-size: 1.7rem;
    line-height: 2.2rem;
}

.bloc.contact .wrapper .wrapper-inner a.phone{
    margin-top: var(--gap);
    display: flex;
    align-items: center;
    line-height: 0;
}
.bloc.contact img.image{
    width: 100%;
    max-width: 800px;
}

/* BLOC LIST THUMB MIDDLE => page conception ET page Prestation*/
.bloc.list-thumb-middle{
    width: 100%;    
}
.bloc.list-thumb-middle .separator{
    position: relative;
    margin-top: -80px;
    width: 100%;
    height: 80px;
    z-index: 1;
    background-color: var(--color-greylight);
    clip-path: polygon(0 calc(100% - 2px),100% 0,100% 2px,0 100%);
}
.bloc.list-thumb-middle .separator.right{
    position: relative;
    margin-top: -80px;
    width: 100%;
    height: 80px;
    background-color: var(--color-greylight);
    clip-path: polygon(0 0,100% calc(100% - 2px),100% 100%,0 2px);
}
.bloc.list-thumb-middle .item{
    position: relative;
    background-color: #FFF;
    width: 100%;
    height: 50vh;
    min-height: 500px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;    
    margin-top: -80px;
    z-index: 1;
    clip-path: polygon(0 0,100% 80px,100% calc(100% - 80px),0 100% );    
}
.bloc.list-thumb-middle .item:first-child{
    margin-top: 0;
    clip-path: polygon(0 0,100% 0,100% calc(100% - 80px),0 100% );
}
.bloc.list-thumb-middle .item.last{    
    clip-path: polygon(0 0,100% 80px,100% 100%,0 100%);
}
.bloc.list-thumb-middle .item.margin.last{    
    clip-path: none;
}

.bloc.list-thumb-middle .item.margin{
    margin-top: -80px;
    z-index: 0;
}

.bloc.list-thumb-middle .item .left{
    position: relative;
    width: 40%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    padding: calc(var(--gap-wrapper) / 2) 0 calc(var(--gap-wrapper) / 2) calc(var(--gap-wrapper) / 2);
    text-align: right;
}
.bloc.list-thumb-middle .item .middle{
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.bloc.list-thumb-middle .item .middle span{
    background-color: var(--color-greylight);    
    width: 120px;
    height:120px;
    border-radius: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;    
    justify-content: center;
}
.bloc.list-thumb-middle .item .middle span .number{
    padding: 0;
    font-size: 4rem;
    font-family: var(--font-text);
}

.bloc.list-thumb-middle .item .middle div{    
    font-family: var(--font-text);
    color:  var(--color-graphite);
    padding-top: calc(2 * var(--gap));
    font-size: 2.5rem;
}
.bloc.list-thumb-middle .item .right{
    position: relative;
    width: 40%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--gap-wrapper) / 2) calc(var(--gap-wrapper) / 2) calc(var(--gap-wrapper) / 2) 0;    
}

.bloc.list-thumb-middle .item h2{
    padding-bottom: var(--gap);
}

.bloc.list-thumb-middle .item a.button{
    margin-top: calc(var(--gap) * 2);
}
.bloc.list-thumb-middle .item .info{    
    font-family: var(--font-text);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(var(--gap) * 2);
}
.bloc.list-thumb-middle .item .info:hover{
    color: var(--color-tooltip-bg);
}

.bloc.list-thumb-middle .item .info:hover svg{
    color: var(--color-tooltip-bg);
}
.bloc.list-thumb-middle .item .info svg{
    color: var(--color-graphite);
    margin-left:  var(--gap);
}

/* BLOC DATES */
.bloc.dates{
    position: relative;
    height: 100%;
    width: 100%;    
    display: flex;    
    align-items: center;
    justify-content: center;        
}
.bloc.dates .wrapper{    
    min-height: 100px;
    width: 100%;
    max-width: 1024px;    
    margin-top: var(--gap-wrapper);
    margin-bottom: var(--gap-wrapper);
}

.bloc.dates .wrapper .grid{      
    justify-content: center;
    justify-items: center;
    align-items: stretch;
    grid-column-gap: 0;
    grid-row-gap: calc(2 * var(--gap));
}
.bloc.dates .wrapper .grid.grid-template-1{
    grid-template-columns: repeat(1,200px);
}
.bloc.dates .wrapper .grid.grid-template-2{
    grid-template-columns: repeat(2,200px);
}
.bloc.dates .wrapper .grid.grid-template-3{
    grid-template-columns: repeat(3,200px);
}
.bloc.dates .wrapper .grid.grid-template-4{
    grid-template-columns: repeat(4,200px);
}
.bloc.dates .wrapper .grid.grid-template-5{
    grid-template-columns: repeat(5,200px);
}
.bloc.dates .wrapper .grid .item{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: var(--gap);
    text-align: center;
}
.bloc.dates .wrapper .grid .item:after{
    content: '';
    position: absolute;
    border-right-width: 1px;
    border-right-style: solid;
    right: 0px;
    top: 25%;
    height: 50%;    
}

.bloc.dates .wrapper .grid .item.border-primary:after{
  border-color: var(--color-primary);
}
.bloc.dates .wrapper .grid .item.border-secondary:after{
  border-color: var(--color-secondary);
}
.bloc.dates .wrapper .grid .item.border-white:after{
  border-color: var(--color-white);
}
.bloc.dates .wrapper .grid .item.border-black:after{
  border-color: var(--color-black);
}
.bloc.dates .wrapper .grid .item.border-nuit:after{
  border-color: var(--color-nuit);
}
.bloc.dates .wrapper .grid .item.border-graphite:after{
  border-color: var(--color-graphite);
}
.bloc.dates .wrapper .grid .item.border-greylight:after{
  border-color: var(--color-greylight);
}
.bloc.dates .wrapper .grid .item.border-web:after{
  border-color: var(--color-web);
}
.bloc.dates .wrapper .grid .item.border-none:after{
  border:  none;
}

.bloc.dates .wrapper .grid .item h3{
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: var(--gap);
}
.bloc.dates .wrapper .grid .item img{
    width: 120px;    
    margin-bottom: var(--gap);    
}


/* BLOC LIST REALISATIONS */
.bloc.list-realisations{    
    height: 100%;
    width: 100%;
}

.bloc.list-realisations .grid{
    grid-template-columns: 30% 30% 40%;
    grid-gap: 0;
}

.bloc.list-realisations .grid .item{
    position: relative;
    width: 100%;
    height: 45vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.bloc.list-realisations .grid .item:nth-child(2){
    align-items: flex-end;
    text-align: right;
}
.bloc.list-realisations .grid .item.cat{
    padding: calc(2 * var(--gap));
}

.bloc.list-realisations .item h3{
    font-size: 2.5rem;
    font-weight: bold;    
}
.bloc.list-realisations .item p{
    padding-top: var(--gap);
}
.bloc.list-realisations .item a{
    opacity: 0;
}

.bloc.list-realisations .item .hover{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    background-color: rgba(0,0,0,0);
    color: #FFF;
    cursor: pointer;    
    transition: all 0.3s ease-out;    
}
.bloc.list-realisations .item .hover span{    
    font-size: 12rem;
    opacity: 0;
    transition: all 0.3s ease-out;
    font-family: var(--font-title);
}

.bloc.list-realisations .item .hover:hover{
    background-color: rgba(0,0,0,0.75);
}

.bloc.list-realisations .item .hover:hover span,
.bloc.list-realisations .item .hover:hover a{
    opacity: 1;
}

.bloc.first{
    height: 85vh;
}

.bloc.paragraph .wrapper{
    max-width: 1200px;    
    margin: var(--gap-2) auto;
}

.bloc.paragraph .wrapper h2{
    margin-top: var(--gap-4);
    margin-bottom: var(--gap);
}

.bloc.list-search{
    margin: var(--gap-4);
}

.bloc.list-search{
    margin: var(--gap);
}
.bloc.list-search .grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: var(--gap);
}

.bloc.list-search .grid a.item{
    position: relative;
    height: 300px;
    background-color: #00000099;
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--gap-2);
    transition: all 300ms ease-in-out;
}
.bloc.list-search .grid a.item:hover{
    background-color: #000000CC;
}

.bloc.list-search .grid a.item h2{
    padding-bottom: var(--gap-2);
}
.bloc.list-search .grid a.item p{
    text-align: justify;
}


/********** BLOC article (Contenu des articles) **********/
.bloc.article .wrapper {
    padding: var(--gap-3) 0;
    display: flex;
    font-family: var(--font-text);    
}

.bloc.article .wrapper .left,
.bloc.article .wrapper .middle,
.bloc.article .wrapper .right {    
    padding-top: var(--gap);
}

.bloc.article .wrapper .left,
.bloc.article .wrapper .right {
    width: 20%;
    height: 350px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 180px;
}

.bloc.article .wrapper .left {    
    padding-left: var(--gap-2);
    padding-right: var(--gap-2);
}

.bloc.article .wrapper .left a {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-transform: uppercase;
    font-size: 2rem;    
}

.bloc.article .wrapper .left q {
    margin-top: var(--gap-3);
    font-family: var(--font-title);    
    font-style: italic;
    font-size: 3.5rem;
    line-height: 3rem;
}

.bloc.article .wrapper .middle {
    width: 60%;
    margin:0 var(--gap-2);
}

.bloc.article .wrapper .middle h2,
.bloc.article .wrapper .middle h3, 
.bloc.article .wrapper .middle h4,
.bloc.article .wrapper .middle h5,
.bloc.article .wrapper .middle h6 {
    padding-top: var(--gap-2);
    padding-bottom: var(--gap);
}
.bloc.article .wrapper .middle p {
    text-align: justify;
    font-size: 1.6rem;
}

.bloc.article .wrapper .right {
    padding-left: var(--gap-2);
    padding-right: var(--gap-2);
    row-gap: var(--gap-2);
    justify-content: flex-start;
}

.bloc.article .wrapper .right .share,
.bloc.article .wrapper .right .date {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: var(--gap);
}

.bloc.article .wrapper .right .social-share a {
    font-size: 3.5rem;
}

.bloc.article .wrapper .right .svg {    
    padding: var(--gap-xs);
    color: #FFF;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bloc.article .wrapper .right .text {
    font-size: 1.5rem;
    line-height: 1.5rem;
}

.bloc.article .wrapper .right .share .text {
    text-transform: uppercase;
}

/* BLOC THREE LINKS */
.bloc.four-posts{
    position: relative;    
}

.bloc.four-posts div.title{
    margin: var(--gap-wrapper) var(--gap-wrapper) 0 var(--gap-wrapper);
    font-size: 3rem;
    font-family: var(--font-title);
}
.bloc.four-posts .wrapper{
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;  
    height: 100%;
    margin: var(--gap-wrapper);    
    gap:  var(--gap);
    
}

.bloc.four-posts .wrapper .col{
    width: 24%;
    height: 100%;
    overflow: hidden;
    text-align: center;    
}
.bloc.four-posts .wrapper .col .hover{
    display: block;
    height: 250px;
    overflow: hidden;
    position: relative;
    background-color: rgba(0,0,0,0);
    color: #FFF;
    transition: all 0.3s ease-out;    
}
.bloc.four-posts .wrapper .col .hover:hover{
    background-color: rgba(0,0,0,0.75);
}

.bloc.four-posts .wrapper .col .hover h2{
    font-family: var(--font-text) !important;
    line-height: 5rem;
    position: absolute;
    top:  50%;
    left: 50%;
    transform: translate(-50%,-50%);
    margin: var(--gap);
    opacity: 0;
    width: 100%;
    transition: all 0.3s ease-out;
}
.bloc.four-posts .wrapper .col .hover:hover h2{
    opacity: 1;
}

.bloc.four-posts .wrapper .col p{
    margin: var(--gap);    
}

.bloc.four-posts .wrapper .col p{
    text-align: justify;    
}
.bloc.four-posts .wrapper .col h2{
    margin: var(--gap);
    text-align: justify;
    font-size: 1.5rem;
    line-height: 1.2em;
}

.bloc.four-posts .wrapper .col a.button{
    margin-left: var(--gap);
    margin-right: var(--gap);
}

@media (max-width: 1440px) {
    .bloc.entete .wrapper{    
        justify-content: flex-end;
    }
}
@media (max-width: 1200px) {
    .bloc.entete{
        height: calc(80vh + var(--height-header));
    }
    .bloc.entete .wrapper .wrapper-inner .logo img {
        max-width: 200px;
    } 
}
@media (max-width: 1024px) {
    .bloc.entete .wrapper,
    .bloc.conception .wrapper{
        background-color: #00000059;
    }
    .bloc.entete .wrapper h1{
        font-size: 3rem;
    }
    .plusquepro{    
        top: 180px;
        right: var(--gap);
    } 

    .bloc.diagonal .wrapper .align-left,
    .bloc.diagonal .wrapper .align-right,
    .bloc.diagonal .wrapper .wrapper-inner{
        width: 80%;
    }
    .bloc.project .wrapper .left{
        width: 30%;
        padding: var(--gap-2);
    }
    .bloc.project .wrapper .right{
        width: 70%;
    }
    .bloc.project .wrapper .right .right-inner .step{
        padding: var(--gap-2);
    }

    .bloc.three-links .wrapper{
        margin: var(--gap-2);
    }
    .bloc.three-links .wrapper .col{
        width: 31%;
    }
    .bloc.three-links .wrapper .col p{
        margin:var(--gap-2) 0 var(--gap-2) 0;
        text-align: justify;
    }

    .bloc.contact .wrapper{
        margin: var(--gap-2);
        padding-left: 0;
        padding-right: 0;
    }
    .bloc.contact .wrapper .wrapper-inner .left{
        width: 100%;
        padding: 0;
        margin-bottom: var(--gap-2);
    }
    .bloc.contact .wrapper .wrapper-inner .right{
        width: 100%;
        padding: 0;        
    }
    .bloc.list-search .grid{        
        grid-template-columns: repeat(2, 1fr);
    }
    .bloc.article .wrapper .left,
    .bloc.article .wrapper .middle,
    .bloc.article .wrapper .right {    
        padding-left: var(--gap);
        padding-right: var(--gap);
    }    
    .bloc.article .wrapper .left q{
        font-size: 2rem;
    }
}
@media (max-width: 820px){
    .bloc.entete .wrapper,
    .bloc.conception .wrapper{
        background-color: #00000059;
    }
    .bloc.entete .wrapper .wrapper-inner .logo{
        flex-direction: column;        
    }
    .bloc.entete .wrapper .wrapper-inner .logo img{
        max-height: unset;
        height: 100%;        
        margin-left: 0 !important;
        margin-top: var(--gap);
    }
    .plusquepro{    
        top: 180px;
        right: var(--gap);
    }     
    .bloc.conception .wrapper .wrapper-inner{
        max-width: 100%;
        margin: var(--gap-2);
    }
    .bloc.conception-list .grid{
        grid-template-columns: repeat(4,1fr);
    }
    .bloc.conception-list .grid .item{
        grid-row: inherit;
    }

    .bloc.it64,.bloc.it64.reduced{
        height: 100%;
    }
    .bloc.it64 .wrapper .tall {
        height: 50vh;
        width: 100%;
    }
    .bloc.it64.first .wrapper .tall {
        height: 75vh;
    }    
    .bloc.it64 .wrapper .small {
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap);
    }    

    .bloc.slider_products{
        height: 100%;
    }
    .bloc.slider_products .wrapper .left {
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap) 0 var(--gap);
    }
    .bloc.slider_products .wrapper .right{
        width: 100%;
        padding: var(--gap);
    }
    .bloc.slider_products .wrapper .right .slider_wrapper{
        gap: var(--gap);
    }

    .bloc.slider_products .wrapper .right .slider_wrapper .slide{
        flex-basis: 40%;
    }
    .bloc.list-realisations .grid{
        grid-template-columns:  50% 50%;
    }
    .bloc.list-realisations .grid .item:nth-child(1){
        display: none;
    }
    .bloc.contact .wrapper{
        margin: var(--gap-2);
        padding-left: 0;
        padding-right: 0;
    }
    .bloc.contact .wrapper .wrapper-inner .left{
        width: 100%;
        padding: 0;
        margin-bottom: var(--gap-2);
    }
    .bloc.contact .wrapper .wrapper-inner .right{
        width: 100%;
        padding: 0;        
    }
    .bloc.list-search .grid{        
        grid-template-columns: repeat(1, 1fr);
    }
    .bloc.article .wrapper .left,
    .bloc.article .wrapper .middle,
    .bloc.article .wrapper .right {
        width: 100%;
        margin: 0;
        position: initial;
    }    
    .bloc.article .wrapper{
        flex-direction: column-reverse;
    }               
    .bloc.article .wrapper .left q{
        margin-top: var(--gap-2);
    }           
    .bloc.article .wrapper .left {
        height: auto;
    }               
    .bloc.article .wrapper .middle {
        padding: var(--gap-2);
    }
    .bloc.article .wrapper .right {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        height: auto;
        padding-top: 0;
    }
}
@media (max-width: 480px) {

    .bloc.entete{
        height: calc(82vh + var(--height-header));
    }    
    .bloc.entete .wrapper,
    .bloc.conception .wrapper{
        background-color: #00000059;            
    }
    .bloc.entete .wrapper .wrapper-inner .logo img {
        max-width: 180px;
    }    
    .plusquepro{    
        top: 180px;
        right: var(--gap);
    }    
    .bloc.entete .wrapper .wrapper-inner{
        width: 100%;
        margin: 0;
        padding:  var(--gap);
    }
    .abs-bottom-center{
        width: 100%;
        align-items: center;
    }
    .bloc.diagonal .wrapper{
        /*background-color: var(--color-web);*/
    }
    .bloc.diagonal .wrapper .align-left, .bloc.diagonal .wrapper .align-right{
        width: calc(100% - (2 * var(--gap)));
    }
    .bloc.diagonal .wrapper .wrapper-inner{
        width: calc(100% - (2 * var(--gap)));
        margin: 0 var(--gap);        
        background-image: none;
        flex-direction: column;
    }
    .bloc.diagonal .wrapper .wrapper-inner div.inner{
        padding:  var(--gap); 
        width: 100%;
        flex: inherit;
    }
    .bloc.diagonal .wrapper .wrapper-inner div.inner:nth-child(2){
        margin-bottom: 50px;
    }
    .bloc.slider_products{
        height: 100%;
    }
    .bloc.slider_products .wrapper .left {
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap) 0 var(--gap);
    }
    .bloc.slider_products .wrapper .right{
        width: 100%;
        padding: var(--gap);
    }
    .bloc.slider_products .wrapper .right .slider_wrapper{
        gap: var(--gap);
    }

    .bloc.slider_products .wrapper .right .slider_wrapper .slide{
        flex-basis: 80%;
    }

    .bloc.it64,.bloc.it64.reduced{
        height: 100%;
    }
    .bloc.it64 .wrapper .tall {
        height: 50vh;
        width: 100%;
    }
    .bloc.it64.first .wrapper .tall {
        height: 75vh;
    }    
    .bloc.it64 .wrapper .small {
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap);
    }
    .bloc.it64 iframe{
        max-width: 100%;
    }    
    .bloc.project{
        height: 100%;
    }
    .bloc.project .wrapper .left{
        padding: calc(2 * var(--gap)) var(--gap);
        width: 100%;
    }
    .bloc.project .wrapper .right{
        width: 100%;
    }
    .bloc.project .wrapper .right .right-inner .step{
        width: 100%;
        min-height: auto;

    }
    .bloc.project .wrapper .right .right-inner .step .top,
    .bloc.project .wrapper .right .right-inner .step .bottom{
        height: auto;
    }
    .bloc.conception .wrapper .wrapper-inner{
        max-width: 100%;
        margin: var(--gap);
    }
    .bloc.conception-list .grid{
        grid-template-columns: repeat(2,1fr);
    }
    .bloc.conception-list .grid .item{
        grid-row: inherit;
    }
    .bloc.three-links{
        height: 100%;
    }
    .bloc.three-links .wrapper{
        margin: var(--gap);
    }
    .bloc.three-links .wrapper .col{
        width: 100%;
        margin-top: var(--gap);
        margin-bottom: var(--gap);
    }
    .bloc.three-links .wrapper .col .hover{
        height: 50vh;
    }

    .bloc.list-realisations .grid{
        grid-template-columns:  1fr;
    }
    .bloc.list-realisations .grid .item:nth-child(1){
        display: none;
    }

    .bloc.list-thumb-middle .item{
        height: 100%;
        clip-path: none !important;
    }
    .bloc.list-thumb-middle .item .left{
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap);
        min-height: auto;
    }
    .bloc.list-thumb-middle .item .middle{
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap);
        min-height: auto;
    }
    .bloc.list-thumb-middle .item .right{
        width: 100%;
        padding: calc(2 * var(--gap)) var(--gap);
        min-height: 50vh;
    }

    .bloc.list-thumb-middle .item.margin{
        flex-direction: column-reverse;
        margin: 0;
    }
    .bloc.list-thumb-middle .item.margin .left{
        min-height: 50vh;
    }
    .bloc.list-thumb-middle .item.margin .right{
        min-height: auto;
    }    
    .bloc.list-thumb-middle .separator{
        display: none;
    }
    .bloc.list-thumb-middle .item h2{
        padding-top: calc(2 * var(--gap));
        padding-bottom: 0;
    }
    .bloc.paragraph .wrapper{
        justify-content:  flex-start;
        padding: var(--gap);
    }
    .bloc.dates .wrapper .grid{
        grid-template-columns:  1fr !important;
    }
    .bloc.dates .wrapper .grid .item:after{
        border:  none;
    }
    .bloc.three-links .wrapper .col p{
        text-align: justify;
        margin-left: 0;
        margin-right: 0;
    }

    .bloc.contact .wrapper{
        margin: var(--gap);
        padding-left: 0;
        padding-right: 0;
    }
    .bloc.contact .wrapper .wrapper-inner .left{
        width: 100%;
        padding: 0;
        margin-bottom: var(--gap);
    }
    .bloc.contact .wrapper .wrapper-inner .right{
        width: 100%;
        padding: 0;        
    }
    .bloc.contact img.image{
        max-width: 350px;
    }
    .bloc.contact .right img.margin-left-gap-2{
        margin-left: 0 !important;
    }
    .bloc.list-search .grid{        
        grid-template-columns: repeat(1, 1fr);
    }
    .bloc.article .wrapper .left,
    .bloc.article .wrapper .middle,
    .bloc.article .wrapper .right {
        width: 100%;
        margin: 0;
        position: initial;
    }    
    .bloc.article .wrapper{
        flex-direction: column-reverse;
    }               
    .bloc.article .wrapper .left q{
        margin-top: var(--gap-2);
    }           
    .bloc.article .wrapper .left {
        height: auto;
    }               
    .bloc.article .wrapper .middle {
        padding: var(--gap);
    }
    .bloc.article .wrapper .right {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        height: auto;
        padding-top: 0;
    }  
    .bloc.four-posts{
        height: 100%;
    }
    .bloc.four-posts .wrapper{
        margin: var(--gap);
    }
    .bloc.four-posts .wrapper .col{
        width: 100%;
        margin-top: var(--gap);
        margin-bottom: var(--gap);
    }
    .bloc.four-posts .wrapper .col .hover{
        height: 50vh;
    }            
}


