@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
@import url("./animate.min.css");

:root {
    --size-normal: 18px;
    --size-title: 42px;
    --white: var(--bs-white);
    --black: var(--bs-black);
    --primary: #23397B;
    --secondary: #FFE900;

    --size-normal-less: 16px;
    --size-sm: 14px;
    --size-normal-plus: 21px;
    --size-md: 24px;
    --size-xl: 40px;
    --blue-primary: #23397B;
    --blue-light: #8ed5ff;
    --blue-dark: #000033;
    --bg-light: #f2f2f2;
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: .75rem;

    --librairie: #F9D501;
    --numerique: #E63727;
    --electromenager: #397D32;
    --mobilier: #6776ff;
    --jouets: #7D2E6D;
    --proprete: #7C532E;
    --vehicule: #d80056;
    --bazar: #034209;
    --grid-row-height: 270px;
}

body {
  font-size: var(--size-normal);
  font-family: "Poppins", sans-serif;
  color: #222222;
}

#header-page {
  /* background-color: #000; */
  box-shadow: 0 5px 20px 0 rgba(55, 55, 147, 0.333);
  margin-bottom: 5px;
  /* position: relative; */
  transition: all 0.3s;
}
.up-header {
  background-color: var(--secondary);
  padding: .5rem 0;
  color: var(--black);
  text-align: right;
}
.logo-img {
  width: 250px;
  object-fit: contain;
  padding: 1.5rem;
  padding-top: 50px;
  background-color: var(--primary);
  position: relative;
  margin-top: -50px;
  z-index: 10;
  box-shadow: 0 10px 20px 0 rgba(60, 55, 147, 0.333);
}

.tel-text a {
  text-decoration: none;
  color: var(--black);
}
.line-mnu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.line-mnu > a, .line-mnu > *, .line-mnu .dropdown {
  text-decoration: none !important;
  color: #222222;
  font-size: 16px;
  font-weight: 700;
  padding: .125rem .95rem;
  background-color: var(--white);
  transition: all .2s;
  display: inline-flex;
  flex-wrap: nowrap;
}
/* .line-mnu > a > i {
  display: inline-block;
  padding-right: .5rem;
} */

.line-mnu > a.active{
  color: var(--blue-light) !important;
}
/* .line-mnu > a:hover, .line-mnu > a:focus {
  color: var(--blue-light) !important;
} */
.line-mnu > *:nth-child(1):hover, .line-mnu > *:nth-child(1):focus {
  color: var(--white);
  background-color: var(--black)
}
.line-mnu > *:nth-child(2):hover, .line-mnu > *:nth-child(2):focus {
  color: var(--black);
  background-color: var(--librairie)
}

.line-mnu > *:nth-child(3):hover, .line-mnu > *:nth-child(3):focus {
  color: var(--white);
  background-color: var(--numerique)
}

.line-mnu > *:nth-child(4):hover, .line-mnu > *:nth-child(4):focus {
  color: var(--white);
  background-color: var(--electromenager)
}

.line-mnu > *:nth-child(5):hover, .line-mnu > *:nth-child(5):focus {
  color: var(--white) !important;
  background-color: var(--mobilier)
}

.line-mnu > *:nth-child(6):hover, .line-mnu > *:nth-child(6):focus {
  color: var(--white);
  background-color: var(--jouets)
}
.line-mnu > *:nth-child(7):hover, .line-mnu > *:nth-child(7):focus {
  color: var(--white);
  background-color: var(--proprete)
}
.line-mnu > *:nth-child(8):hover, .line-mnu > *:nth-child(8):focus {
  color: var(--white);
  background-color: var(--vehicule)
}
.line-mnu > *:nth-child(9):hover, .line-mnu > *:nth-child(9):focus {
  color: var(--white);
  background-color: var(--bazar)
}

.line-mnu .dropdown-toggle {
  text-decoration: none !important;
  color: #222222 !important;
}

.dropdown-menu {
  border: 1px solid var(--blue-dark);
  border-radius: 15px;
  overflow: hidden;
}
.dropdown-item:hover {
  color: var(--blue-dark);
  background-color: var(--bs-gray-200);
}
  
.btns-right {
    text-align: right;
}
.btns-right button {
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
}

/* Boutons */
.btn {
    font-size: 18px;
    font-weight: 500;
    border-radius: 30px;
    padding: .6rem 1.5rem;
}

.btn-contact {
  display: none;
  color: var(--black);
  text-decoration: none;
  border: 1px solid var(--black);
  border-radius: 3px;
  padding: .15rem .75rem;
  transition: .3s all;
}
.btn-contact:hover, .btn-contact:focus {
  color: var(--white);
  background-color: var(--black);
}

#btn-menu {
  display: none;
}

/* carousel===================== */
.txt-scl {
  display: none;
  margin-left: .5rem;
}
.crsl-img {
  display: block;
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.crsl-caption {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: var(--bs-white);
  background-color: rgba(0, 0, 0, .5);
}
.crsl-caption-in {
  max-width: 585px;
  margin-top: 8rem;
}
.crsl-title {
  font-size: var(--size-xl);
  font-weight: 700;
  margin-bottom: 2.5rem;
  animation: fadeInUp 1s .125s;
}
.carousel-control-prev, .carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3rem;
  font-size: 3rem;
}



.sx-title {
  font-size: var(--size-xl);
  font-weight: 700;
}

/* ====================== */

#about-sx {
  padding-block: 5rem;
  background: url("../img/bottom-trait.svg") no-repeat bottom right / 323px 323px, url("../img/top_trait.svg") no-repeat top left / 230px 230px;
  background-color: var(--blue-primary);
  color: var(--bs-white);
}

.bloc-about {
  max-width: 697px;
  margin: 1rem auto;
}
.md-descr {
  font-size: var(--size-md);
  font-weight: 400;
  margin-block: 2rem;
}
.btn-link {
  font-size: var(--size-normal-less);
  font-weight: 400;
  color: var(--bs-black);
  padding-left: 0;
  padding-right: 0;
}
#about-sx .btn-link {
  color: var(--bs-white);
}

/* ======================== */
.srvce-sx {
  padding-block: 5rem;
}
.srvce-itm{
  display: flex;
  margin-bottom: 4rem;
}
.srvce-itm:nth-child(even){
  flex-direction: row-reverse;
}
.srvce-itm:first-child{
  margin-top: 3rem;
}
.txt-srvce{
  width: 61%;
  padding: 0 4rem;
}
.img-srvce{
  width: 39%;
}
.img-srvce img{
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position:top;
  position: relative;
  margin-top: -2rem;
}
.srvce-title, .prjct-sub{
  font-weight: 700;
  font-size: calc(var(--size-md) + 4px);
}

/* ========================== */


#footer {
  /* border: 2px solid #f0f; */
  padding-bottom: 4rem;
  position: relative;
}
#footer::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 235px;
  padding: .5rem;
  background-color: var(--blue-dark);
  z-index: -1;
}
#footer a {
  color: var(--bs-white);
  text-decoration: none;
}

.footer-in {
  background-color: var(--blue-primary);
  color: var(--bs-white);
  padding: 3rem 4rem;
  border-radius: 15px;
}
.left-mrk {
  display: flex;
}
.left-mrk address {
  margin-left: 2.5rem;
  margin-top: .125rem;
  margin-bottom: 0;
  font-size: var(--size-normal);
}
.social-lnks {
  text-align: right;
  margin-top: 1rem;
}
.social-lnks a {
  display: inline-block;
  margin-left: 2.5rem;
  font-size: 1.65rem;
}

.ft-hlinks {
  padding-top: 3rem;
  font-size: var(--size-normal-less);
}
.ft-hlinks a {
  display: inline-block;
  margin-right: 3rem;
}
.ft-hlinks a:hover, .ft-hlinks a:focus {
  text-decoration: underline !important;
}
.pcopy {
  font-size: var(--size-normal-less);
  text-align: right;
  margin: 0;
}

/* Page */
#map {
  height: 500px;
}

/* Media Queries */
/* Extra Large devices */
@media screen and (max-width: 1399.98px) {
    
}

/* Large devices */
@media screen and (max-width: 1199.98px) {
    #btn-menu {
      display: inline-block;
    }
    .line-mnu {
      flex-direction: column;
      align-items: flex-start;
      padding: 2rem;
    }
    .line-mnu  a{
      display: block;
      margin-bottom: 1rem;
    }

    .lbl_table {
      display: inline-block;
    }

}

/* Medium devices */
@media screen and (max-width: 991.98px) {
   
}

/* small devices */
@media screen and (max-width: 767.98px) {
   
}
/*Extra small*/
@media screen and (max-width: 575.98px){
  /* .btns-right {
    text-align: center;
  } */
   #btn-search {
      display: none;
    }
    .jumbo-title {
      font-size: 6vw;
  }
  .jumbo-txt {
    font-size: 4vw;
    margin-bottom: 2rem;
    color: #727272;
  }
  .ftr-lnks {
    margin-block: 1.5rem;
    text-align: center;
  }
  .title-sx {
    font-size:calc(var(--size-title) - 10px) ;
  }
  .title-sx::after {
    width: 150px;
  }
  .card-doc a {
    font-size: 21px;
  }
}

@media screen and (max-width: 450px){

}

/* IDE Fork */

/* Pages */
.post-header {
    background: url("../img/trait-page.svg") no-repeat bottom right / 205px 205px;
    background-color: var(--blue-primary);
    color: var(--bs-white);
    padding-block: 2rem;
}
.page-title {
    font-size: var(--size-xl);
    color: var(--secondary);
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* .breadcrumb{
    margin-bottom: 0;
} */
.breadcrumb-item a, .breadcrumb-item{
    color: var(--bs-white);
    text-decoration: none;
    font-size: var(--size-sm);
}
.breadcrumb-item.active{
    color: var(--blue-light);
}

.in-page{
    padding-block: 3rem;
}
.art-content{
    font-size: var(--size-normal);
}
.art-content p{
    margin-bottom: 2rem;
}
.art-content h1,
.art-content h2,
.art-content h3,
.art-content h4,
.art-content h5,
.art-content h6 {
    font-weight: 700;
}
.art-content h1,
.art-content h2,
.art-content h3 {
    margin-bottom: 1.25rem;
}

.p-sticky{
    position: sticky;
    top: 10px;
}
.txt-top{
    background-color: var(--blue-primary);
    color: var(--bs-white);
    padding: 2.5rem 2rem;
    position: sticky;
    top: 10px;
}
.txt-top a{
    color: var(--bs-white);
    text-decoration: none;
}
.txt-top i{
    font-size: 1.25rem;
}
.chapo{
    font-size: var(--size-normal);
    font-weight: 500;
}
.actu-meta{
    padding-block: 1rem 1.75rem;
    font-weight: 400;
    font-size: var(--size-normal-less);
    color: var(--bs-gray-700);
}
.art-txt{
    max-width: 767px;
}

.srvce-itm{
    display: flex;
    margin-bottom: 8rem;
}
.srvce-itm:nth-child(even){
    flex-direction: row-reverse;
}
.srvce-itm:first-child{
    margin-top: 3rem;
}
.txt-srvce{
    width: 61%;
    padding: 0 4rem;
}
.img-srvce{
    width: 39%;
}
.img-srvce img{
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    object-position:top;
    position: relative;
    margin-top: -2rem;
}
.srvce-title, .prjct-sub{
    font-weight: 700;
    font-size: calc(var(--size-md) + 4px);
}


#sx-form{
    padding: 4rem 0;
}
.ic-row{
    display: flex;
}
.iclnk{
    gap: .25rem;
}
.iclnk > *{
    display: block;
}
.iclnk a{
  color: var(--white);
  text-decoration: none;
}
.iclnk a:hover, .iclnk a:focus{
  color: var(--white);
}


.pin-txt-content{
    background-color: var(--white);
    padding: 2rem 0;
}
.dl-detail dt{
    text-transform: uppercase;
    font-size: var(--size-normal-sm);
}
.bl-icon{
    background-color: var(--blue-primary);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 45px;
    width: 45px;
    border-radius: 100%;
    color: var(--bs-white);
    margin-right: .5rem;
}
.dl-detail dd{
    margin-bottom: 1.5rem;
    text-indent: 55px;
}

.h-dtl{
    font-size: var(--size-medium);
    font-weight: 700;
    color: var(--gray-bl);
}
.content-descr{
    font-size: var(--size-normal-sm);
}
.prjct-sub-img{
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.catgry-intro {
  padding-block: 3rem;
  color: var(--white);
  background: url("../img/trait-page.svg") no-repeat bottom right / 205px 205px;
  background-color: rgba(0, 0, 0, .75);
  position: relative;
}
.catgry-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  object-fit: cover;
}
.catgry-descr {
  max-width: 700px;
}

#prdct-sx {
  padding-block: 5rem;
}

.card-prdct {
  position: relative;
  background-color: var(--white);
}
.card-prdct-img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 10px;
}
.card-prdct-body {
  padding: 1rem .75rem;
}

.price {
  font-size: var(--size-normal);
  font-weight: 700;
  color: var(--blue-dark);
}

.price::after {
  content: " KMF";
  color: var(--blue-light);
}

.img-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, var(--grid-row-height));
  gap: 15px;
  grid-auto-rows: var(--grid-row-height);
}
.card-item:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}
.card-item {
  width: 100%;
  height: 100%;
  background-color: #323532;
  color: var(--white);
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.card-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .3s;
}
.card-item:hover .card-item-img{
  transform: scale(1.1);
}
.card-item-body {
  position: absolute;
  top: 70%;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .4);
  width: 100%;
  display: grid;
  align-content: end;
  padding: 1rem .5rem;
  opacity: 0;
  transition: all .3s;
}
.card-item:hover .card-item-body{
  opacity: 1;
}
.card-item-title {
  font-size: var(--size-normal);
}


/* Modale */
/* Style pour la fenêtre modale */
.custom-modal {
  display: none; /* Cacher la modale par défaut */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8); /* Fond semi-transparent */
}

/* Style pour l'image dans la modale */
.modal-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 90%;
}

/* Style pour le bouton de fermeture */
.close-modal {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}




/* Media Queries */
/* Extra Large devices */
@media screen and (max-width: 1399.98px) {
    .nav-link {
        padding:  .35rem .5rem !important;
        margin-right: 1rem;
    }
    .logo-item img{
        max-width: 170px;
        max-height: 90px;
    }

    :root {
      --grid-row-height: 225px;
    }
}

/* Large devices */
@media screen and (max-width: 1199.98px) {
    .nav-link {
        padding:  .35rem .45rem !important;
        margin-right: .3rem;
        font-size: 1rem;
    }
    #about-sx{
        padding-block: 5rem;
        background: url("../img/bottom-trait.svg") no-repeat bottom right / 275px 275px, url("../img/top_trait.svg") no-repeat top left / 230px 230px;
        background-color: var(--blue-primary);
    }
    .pcopy{
        text-align: left;
        margin-top: 2rem;
    }
    :root {
      --grid-row-height: 185px;
    }
    .card-item-title {
      font-size: var(--size-sm);
    }
}

/* Medium devices */
@media screen and (max-width: 991.98px) {
    .navbar-brand{
        display: inline-block;
    }
    .navbar-brand .logo-img{
        display: inline-block;
        max-width: 85px;
    }
    .navbar-icons .nav-link{
        margin-left: unset;
    }
    .nav-link.active{
        border-bottom: unset;
        background-color: rgba(3, 67, 135, 0.15);
    }
    .navbar-toggler{
        text-transform: uppercase;
        border: none !important;
    }
    .txt-scl{
        display: inline-block;
    }
    #about-sx{
        padding-block: 5rem;
        background: url("../img/bottom-trait.svg") no-repeat bottom right / 180px 180px, url("../img/top_trait.svg") no-repeat top left / 150px 150px;
        background-color: var(--blue-primary);
    }
    .srvce-itm, .srvce-itm:nth-child(even){
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .txt-srvce{
        width: 100%;
        padding: 0;
        padding-left: 2rem;
    }
    .img-srvce{
        width: 100%;
    }
    .img-srvce img{
        margin-top: 0;
    }
    .img-container {
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: repeat(4, var(--grid-row-height));
    }
    
}

/* small devices */
@media screen and (max-width: 767.98px) {
  .logo-img {
    width: 100%;
  }
    .footer-in{
        padding: 2.5rem 2rem;
    }
    .ft-hlinks a{
        margin-right: 1rem;
    }
    .post-header {
        background: url("../img/trait-page.svg") no-repeat bottom right / 170px 170px;
        background-color: var(--blue-primary);
    }
    .social-lnks{
        margin-top: 2.5rem;
        text-align: left;
    }
    .social-lnks a{
        margin-left: 0;
        margin-right: 2.5rem;
    }
    .txt-srvce{
        padding-left: 0;
    }
    .img-container {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(4, var(--grid-row-height));
    }
}
/*Extra small*/
@media screen and (max-width: 575.98px){
  .btn-contact {
    display: inline-block;
  }
  .tel-text {
    display: none;
  }

    .crsl-caption-in {
        margin-top: 10rem;
        padding: 0 2.5rem;
    }
    .crsl-title {
        font-size: calc(var(--size-xl) - 4px);
    }
    .card-post{
        display: block;
    }
    .img-l{
        width: 100%;
    }
    .img-l img{
        height: auto;
    }
    .caption-r{
        width: 100%;
        min-height: 180px;
    }
    
    .post-title{
        font-size: var(--size-normal);
        font-weight: 700;
        margin-bottom: 1rem;
    }
    .post-date{
        font-size: var(--size-sm);
    }
    .blue-plus{
        position: absolute;
        bottom: 0;
        right: 0;
        padding: .25rem 1.5rem;
        font-size: var(--size-md);
        font-weight: 700;
        color: var(--bs-white);
        background-color: var(--blue-primary);
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .logo-item img{
        max-width: 100px;
        max-height: 50px;
    }

    .ft-hlinks a{
        margin-right: 0;
        margin-bottom: .75rem;
        display: block;
    }
    #about-sx{
        padding-block: 8rem;
        background: url("../img/bottom-trait.svg") no-repeat bottom right / 150px 150px, url("../img/top_trait.svg") no-repeat top left / 120px 120px;
        background-color: var(--blue-primary);
    }
}

@media screen and (max-width: 480px){
    :root{
        --size-xl: 30px;
    }
    .up-header {
      font-size: var(--size-sm);
    }
    
    #header-top{
        padding-block: .35rem;
    }
    .navbar-brand .logo-img{
        max-width: 70px;
    }
    .md-descr {
        font-size: var(--size-normal-plus);
    }
    .left-mrk {
      display: block;
    }
    .left-mrk address{
        margin-left: .4rem;
        margin-top: 1.65rem;
        margin-bottom: 0;
        font-size: var(--size-normal-less);
    }
    .ft-hlinks {
        padding-top: 1.5rem;
    }
    
    .pcopy{
        font-size: var(--size-sm);
    }
}

@media screen and (max-width: 325px){
  :root {
    --grid-row-height: 185px;
  }
  .img-container {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(4, var(--grid-row-height));
  }
  .card-item:nth-child(1) {
    grid-column: span 1;
    grid-row: span 1;
  }

}

/* Locomotive */

[data-scroll-container] {
  overflow: hidden;
}

[data-scroll-section] {
  position: relative;
  overflow: hidden;
}

html.has-scroll-smooth {
  overflow: hidden;
}

body.has-scroll-smooth {
  overflow: hidden;
}
