body {
    padding-top: 0rem;
    padding-bottom: 0rem;
    margin: 0;
    padding: 0;
    padding-top: 0px;
    border: 0;
    color: #5a5a5a;
   /*  color: #777 !important;
    font: 14px/1.6 'Open Sans', "Helvetica", Arial !important; */
    line-height: 20.8px;
    padding: 0px;

    color: #4d4d4d;
  font-family: "Familjen Grotesk", Arial, Verdana, sans-serif;
  font-size: 1.2rem;
  line-height: 1.64615em;
    
}

a {
  color: #A2180B !important;
  color: #A2180B !important;
  text-decoration: none !important;
}

a:hover {
 text-decoration: underline !important;
}

H1, H2, H3 {
  color:#666666;
}

strong {
  font-weight: 600;
  color: #000;
}

.rtejustify {
  text-align: justify;
}

td {
  padding: 0px 15px 7px 0px;
  border-top: 0px solid #DDD;
  border-right: 0px solid #DDD;
}

h1.page-title {
  margin: 5px 0 15px 0;
  font-family: 'Open Sans', "Helvetica", Arial;
  font-size: 1.4em;
  color: #7f7f7f;
}
.title-gallery {
  font-size: 1.4em;
  color: #666666;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 300;

}

#header-wrap {
  background: #fff;
  border-bottom: 1px solid #e4e4e4;
  box-shadow: 0 0 3px rgba(0,0,0,0.1);
  
}

.header {
  margin-right: auto;
  margin-left: auto;
  
}
.container-main {
  margin-top: 70px;
  min-height: 800px;
}

.container-main a {
  color: #ff0000 !important;
  color: #ff0000 !important;
  text-decoration: none !important;
}

.container-navbar {
  padding-left: 0px !important;
}
.nav-link {
  color:#999999 !important;
}
.nav-link-active  {
  color:#000 !important;
}

.navbar-fixed-top {
    position: fixed;
    top: 40 !important;
    right: 0;
    left: 0;
    z-index: 1030;
    background-color: #ffffff !important;
    padding-top: 0.5rem !important;
    padding-bottom: 1.8rem !important;
  }

#navbarSupportedContent > ul > li {
    margin-left: 15px;
  }

  #socialNetwork {
    height: 40px;
    padding: 10px 16px 0px 0px;
    box-sizing: content-box;
    /* border: 1px solid #000; */
  }
  

  #social-icon {
    float: right;
    padding: 0px 16px;
    margin-left: 5px;
    width: 25px;
    height: 25px;
    font-size: 22px;
    /* background-color: #dddddd; */
    color: #cccccc !important;
    border-radius: 50%;
    text-align: center;
  }
  #social-icon a {

    /* background-color: #dddddd; */
    color: #cccccc !important;

  }

  #social-icon a:hover {
    color:#aaa !important;
  }

/* Reduce LOGO WIDTH to keep menu burger on same line
  -------------------------------------------------- */

@media (max-width: 576px) { 
  .logo_site {
    max-width: 300px;
  }
}

/* Remove BUGER MENU borders
-------------------------------------------------- */
  .navbar-light .navbar-toggler {
    border: none;
  }

  .navbar-light .navbar-toggler:focus {
    box-shadow: none;
  }
  

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
    margin-bottom: 4rem;
  }
  /* Since positioning the image, we need to help out the caption */
  #carouselExampleControls .carousel-caption {
    bottom: 3rem;
    z-index: 10;
  }
  
  /* Declare heights because of positioning of img element */
  #carouselExampleControls .carousel-item {
    min-width: 100%;
     height: 100%; 
     min-height: 25em;
     max-height: 36rem;
     height: 32rem;
  }
  #carouselExampleControls .carousel-item > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    
    width: 100%;

  }
  #carouselExampleControls .carousel-inner > .carousel-item > img {
    min-width: 100%;
    width: 100%;
    min-height: 10rem;

    object-fit: cover;
    object-position: center;
    height: 32rem;
    overflow: hidden;

  }

/* PORTFOLIO
-------------------------------------------------- */
.modal-backdrop.show {
  opacity: 1 !important;
}

 .lightbox-caption {
  background-color: #000;
  padding-bottom:40px !important;
  font-size: 1em !important;
}

.lightbox-caption > em {
  font-style: normal !important;
}

.row-portfolio {
  margin-bottom: 20px;
}

.card-portfolio {
  border: 0px solid !important;
}

.card-body-portfolio {
  padding:3px 5px 0px 0px !important;
}

.card-img-top-portfolio {
  border-top-left-radius: 0px !important;
  border-top-right-radius: 0px !important;
  object-fit: cover;
  object-position: center;
  
  aspect-ratio : 1 / 1;
  overflow: hidden;
}

@media (max-width: 575.98px) { 
  .card-img-top-portfolio {  
    object-fit: cover;
    object-position: center;
    
    aspect-ratio : unset;
    overflow: hidden;
  }
}

#copyright-wrap {
  padding: 20px 0;
  background: #CCCCCC;
  color: #666666;
  text-align: center;
}

/* MARKETING CONTENT
-------------------------------------------------- */

/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
  margin-bottom: 1.5rem;
  text-align: center;
}
.marketing h2 {
  font-weight: 400;
}
.marketing .col-lg-4 p {
  margin-right: .75rem;
  margin-left: .75rem;
}


/* Featurettes
------------------------- */

.featurette-divider {
  margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
.featurette-heading {
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.05rem;
}


/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 40em) {
  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .featurette-heading {
    font-size: 50px;
  }
}

@media (min-width: 62em) {
  .featurette-heading {
    margin-top: 7rem;
  }
}
   
.example {
    padding: 20px 0;
}

.bd-clipboard {
    display: block !important;
}


/* MARGIN on portfolioContentBlock for FOOTER bottom position
-------------------------------------------------- */
.porfolio-bottom {
  margin-bottom: 40px;
}

/* MARGIN on portfolio_detail for FOOTER bottom position
-------------------------------------------------- */
.portfolioDetail-bottom {
  margin-bottom: 40px;
}

/* MARGIN on aboutContentBlock for FOOTER bottom position
-------------------------------------------------- */
.about-bottom {
  margin-bottom: 40px;
}

/* ADAPTIVE MARGIN on phraseAccroche for FOOTER bottom position
-------------------------------------------------- */
@media (max-width: 1399px) { 
  .accroche-bottom {  
    margin-bottom: 300px;
  }
}

@media (min-width: 1400px) { 
  .accroche-bottom {  
    margin-bottom: 600px;
  }
}

/* ADAPTIVE PADDING on contactContentBlock for FOOTER bottom position
-------------------------------------------------- */
@media (max-width: 1399px) { 
  .contact-bottom {  
    padding-bottom: 300px;
  }
}

@media (min-width: 1400px) { 
  .contact-bottom {  
    padding-bottom: 600px;
  }
}



/*============================================
Portfolio detail
==============================================*/
.img-vignette:hover {
  border:2px solid #fff;
  cursor: pointer;
}

.portfolio-detail-title {
  display: none;
}


@media (max-width: 575.98px) { 
  .card-img-top-portfolio {  
    object-fit: cover;
    object-position: center;
    
    aspect-ratio : unset;
    overflow: hidden;
  }
  .portfolio-detail-title {
    display: block;
    font-family:'Times New Roman', Times, serif; font-style:italic;padding-top:5px;padding-left:5px;
  }
  .blockImageSelected { 
    visibility: hidden;
    display:none !important;
  }
  .img-vignette:hover {
    border:none;
    cursor: default;
  }

}


/*====================================================================
Image transinner
======================================================================*/
.classtransinner {
  position: relative; 
  display: block;
}


#podimage1 {
  top:0;
 
  position: absolute;
  z-index:10;
}
#podimage2 {
  top:0;
 
  position: absolute; 
  z-index:20;
}
/*
#image1 {
  top:0;
  opacity: 1;  
  position: absolute; 
  z-index:20;
}
#image2 {
  top:0;
  opacity: 0;  
  position: absolute; 
  z-index:40;
}
  */


.hover-image {
   
  top: 0;
  
  
  opacity: 1;  
  position: absolute; 
  z-index:5;
  height:360px;
  width:390px;

  background-color: #304f5c; /* Couleur par dÃ©faut */
  border: 1 px solid;
  color: white;
  padding: 30px;
  font-size: 1.1em;
  
  /* Centrer le contenu */
  display: flex;
  align-items: left;
  justify-content: left;
  flex-direction: column;
  text-align: left;
}
  
.classtransinner:hover img.podimage1 {
    opacity: 0;
    transition: opacity .3s ease-in;
    -moz-transition: opacity .3s ease-in;
    -webkit-transition: opacity .3s ease-in;
    -o-transition: opacity .3s ease-in;
}

.classtransinner:hover img.podimage2 {
 
  opacity: 1;
  transition: opacity 2s ease-out;
  -moz-transition: opacity 2s ease-out;
  -webkit-transition: opacity 2s ease-out;
  -o-transition: opacity 2s ease-out;
}


.podimage-out {
  opacity: 0;
  transition: opacity .5s ease-in;
  -moz-transition: opacity .5s ease-in;
  -webkit-transition: opacity .5s ease-in;
  -o-transition: opacity .5s ease-in;
}

.podimage-in {

opacity: 1;
transition: opacity .5s ease-out;
-moz-transition: opacity .5s ease-out;
-webkit-transition: opacity .5s ease-out;
-o-transition: opacity .5s ease-out;
}

.classtransinner:hover .hover-image {
  /* Positionnement du contenu hover */
    
  /* Effets de transition */
  transition: opacity .3s ease-in;
    -moz-transition: opacity .3s ease-in;
    -webkit-transition: opacity .3s ease-in;
    -o-transition: opacity .3s ease-in;
   
  
  /* Style du contenu hover */
  
}

.homepage-slide-content { display: block; position: absolute; top: 50px; left: 0; z-index: 9999; }
.homepage-slide-title { font-weight: bold; float: left; background: #222; color:  #fff; font-size: 1.5em; padding: 15px 20px; text-transform: uppercase; }
.homepage-slide-caption { float: left; margin-top: 10px; background: #31c68b; font-size: 1.25em; font-weight: 600; color: #fff; padding: 10px; }