/*
 Theme Name:   ByLaw Child
 Theme URI:    https://bylaw.wpengine.com/
 Description:  ByLaw Child Theme
 Author:       the WeDesignTech team
 Author URI:   https://wedesignthemes.com/
 Template:     bylaw
 Version:      1.0.0
 Text Domain:  bylaw-child
*/


/*-------------------------------------------  GENERAL -------------------------------------------*/
/*-------------------------------------------  GENERAL -------------------------------------------*/


/* Réduire la largeur de la barre de défilement */
::-webkit-scrollbar {
  width: 10px;
  background-color: #e5e5e5;
}

/* Arrondir les bords de la barre de défilement */
::-webkit-scrollbar-thumb {
    border-radius: 4px;
}

/* Foncer la couleur grise de la barre de défilement */
::-webkit-scrollbar-thumb {
    background-color: #555555;
}


/*------------------------------------------- END GENERAL -------------------------------------------*/
/*------------------------------------------- END GENERAL -------------------------------------------*/


/*------------------------------------------- COLOR -------------------------------------------*/
/*------------------------------------------- COLOR -------------------------------------------*/

.serviceGrid h5 a, .serviceGrid h5, .mobile-menu ul > li > a, .mobile-menu ul li.go-back a:before, .mobile-menu ul li.see-all a, .CTA input, .CTA textarea{
  color: #fff !important;
}

span.gold, .wdt-custom-slider-style-03 .wdt-content-item .wdt-content-detail-group .wdt-content-title h5 > a > span, .wdt-custom-slider-style-2 .wdt-content-item .wdt-content-detail-group .wdt-content-title h5 > a span, .wdt-heading-holder .wdt-heading-title-wrapper .wdt-heading-title > span{
  /* color: #E9C572 !important; */
  color: inherit !important;
}

body, .layout-boxed .inner-wrapper{
  background-color: #fff !important;
}

.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button, .wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button::after, .sticky-header-active, .mobile-menu>ul, .mobile-menu ul, body:not(.headerabsolute) header{
  background-color: #0a2c33 !important;
}

.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button::before{
  background-color: #E9C572 !important;
}

.mobile-menu ul li.close-nav a:before, .mobile-menu ul li.close-nav a:after{
  background-color: #fff !important;
}

.serviceGrid svg{
  fill : #fff !important;
}

.serviceGrid .serviceCase2 svg{
  fill: #0a2c33 !important;
}

.CTA input, .CTA textarea{
  border-color: rgb(255,255,255,0.5);
}


/*------------------------------------------- END COLOR -------------------------------------------*/
/*------------------------------------------- END COLOR -------------------------------------------*/

/*------------------------------------------- FONT -------------------------------------------*/
/*------------------------------------------- FONT -------------------------------------------*/

/* @font-face {
    font-family: 'Briller';
    src: url('fonts/Briller-Bold.woff2') format('woff2'),
         url('fonts/Briller-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
} */

.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button, .blog-entry div i[class*="fa"], .blog-entry div i.pe, .blog-entry div i, .blog-entry div.entry-author, .blog-entry div.entry-date, .blog-entry div.entry-comments, .blog-entry div.entry-categories, .blog-entry div.entry-tags, .wdt-header-menu li a, input[type="submit"], .widget .recent-posts-widget li .post-details .post-date p{
  font-family: 'lexend exa';
}

.widgettitle {
  font-size: 30px !important;
}

.elementor-accordion-icon i, .widgettitle{
  font-size: 25px !important;
}

.wdt-posts-list-wrapper .entry-title a{
  font-size: 18px;
}

#footer .wdt-heading-title{
  font-style: normal !important;
}

b, strong {
  font-weight: 500 !important;
}

#footer .wdt-heading-title, .wdt-header-menu li a, .wpcf7-submit, .wdt-posts-list-wrapper .entry-meta-group .entry-date, .wdt-posts-list-wrapper .entry-meta-group .entry-categories{
  font-weight: 400 !important;
}

.wdt-header-menu .menu-container .wdt-primary-nav > li > a{
  font-weight: 300 !important;
}

.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button, .wdt-header-menu li a{
  text-transform: none !important;
}

.shadowText p{
  text-shadow: 0px 0px 24px rgb(0, 0, 0, 0.55);
}

 .CTA input::placeholder,  .CTA textarea::placeholder{
   opacity: 0.9;
 }


/*------------------------------------------- END FONT -------------------------------------------*/
/*------------------------------------------- END FONT -------------------------------------------*/

/*------------------------------------------------ TITLE ------------------------------------------------*/
/*------------------------------------------------ TITLE ------------------------------------------------*/

h1,h2,h3,h4, .display p, h1 span, h2 span, h3 span{
  /* font-family: 'Ysabeau Office' !important; */
  font-family: 'lexend exa' !important;
  font-weight: 300 !important;
  letter-spacing: -2px !important;
  font-style: normal !important;
}

/* h1 span span, h2 span span, h3 span span, .display p span{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: 0px !important;
  font-size: 125% !important;
} */

.small h1{
  font-size: 60px !important;
}

span.small{
  font-size: 90%;
}

h1,h1 span{
  font-size: 45px !important;
  text-transform: none !important;
}

h2, h2 span{
  font-size: 40px !important;
  text-transform: none !important;
}

h3{
  font-size: 28px !important;
  line-height: 1.4 !important;
}

h3 span{
  font-size: 28px !important;
}

h4{
  font-size: 22px !important;
  font-weight: 400 !important;
}

.elementor-tab-content h4 {
  font-size: 16px !important;
}


.iconBox h3{
  margin-bottom: 10px;
  line-height: 1.1 !important;
}

.iconBox h3 span{
  font-size: 19px !important;
  font-weight: 500 !important;
}

.serviceGrid h5{
  letter-spacing: -1px;
  font-weight: 300 !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-family: 'lexend exa' !important;
}

.recent-posts-widget h4{
  font-size: 15px !important;
  font-weight: 300 !important;
  letter-spacing: -0.5px !important;
}




/*------------------------------------------------ END TITLE ------------------------------------------------*/
/*------------------------------------------------ END TITLE ------------------------------------------------*/


/*------------------------------------------------ ELEMENT ------------------------------------------------*/
/*------------------------------------------------ ELEMENT ------------------------------------------------*/

body.wdt-fade.woocommerce-no-js{
  opacity: 1;
}

.woocommerce-no-js #loader, .grecaptcha-badge{
  display: none !important;
}

.woocommerce-no-js header, .woocommerce-no-js .elementor-invisible{
  visibility: visible;
}

.wdt-heading-deco-inner, .nobreadcrumb .breadcrumb, .single-entry-comments, .single-post .post-meta .meta-right{
  display: none !important;
}

/* Loader avec fond bleu */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0a2c33; /* Fond bleu */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.2s ease;
}

#logo-animation {
  width: 350px; /* Taille augmentée du logo */
  animation: rotateY 3s infinite ease-in-out; /* Animation avec un ralentissement */
  transform-origin: center; /* Centre de rotation */
}

/* Animation de rotation autour de l'axe Y */
@keyframes rotateY {
  0% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(180deg);
    animation-timing-function: ease-out; /* Ralentissement progressif */
  }
  100% {
    transform: rotateY(360deg);
    animation-timing-function: ease-in; /* Accélération progressive */
  }
}

.heroSection::after{
  position: absolute;
  content: "";
  z-index: 0;
  background: linear-gradient(180deg, rgba(12,36,49,0.5746673669467788) 0%, rgba(0,0,0,0) 100%);
  width: 100%;
  height: 300px;
  top: 0;
  left: 0;
}

.strongPoints .wdt-far-project-counter .wdt-content-item {
  padding: 40px 40px 40px 40px !important;
}

.strongPoints .col::after{
  position: absolute;
  content: "";
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 1px;
  height: 80px;
  background-color: rgb(255,255,255,0.3);
}


.serviceGrid img{
  aspect-ratio:2;
}

.serviceGrid .wdt-content-icon-wrapper{
  margin-bottom: 0 !important;
}

.serviceGrid svg{
  height: 40px !important;
  margin-bottom: 25px;
}

.serviceGrid .wdt-custom-grid-box-style-1 .wdt-content-item .wdt-content-media-group .wdt-media-image-cover .wdt-content-image-wrapper img{
  opacity: 0;
}

.serviceGrid .wdt-custom-grid-box-style-1 .wdt-content-item:hover .wdt-content-media-group .wdt-media-image-cover .wdt-content-image-wrapper img{
  opacity: 1;
}

.serviceGrid .wdt-content-item:hover .wdt-media-image-cover-container{
  opacity: 0;
}

.serviceGrid .wdt-content-detail-group{
  position: absolute !important;
  top: 110px;
  opacity: 0;
  color: #fff !important;
  padding: 0 20px;
  font-size: 15px;
  line-height: 1.7;
}

.serviceGrid .wdt-content-item:hover .wdt-content-detail-group{
  opacity: 1;
  top: 60px;
}

.wdt-custom-grid-box-style-1 .wdt-content-item .wdt-content-media-group .wdt-media-image-cover .wdt-content-image-wrapper:before{
  background-color: #0a2c33 !important;
  opacity: 0.85 !important;
}

.serviceGrid .wdt-content-subtitle{
  text-transform: none !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  font-weight: 400 !important;
}

.serviceGrid .wdt-content-button{
  position: absolute !important;
  top: 120px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  -webkit-transform: translateX(-50%) !important;
  height: auto !important;
}

.serviceGrid .wdt-content-button a{
  padding: 10px 25px !important;
}

.twoBloc{
  padding-bottom: 300px !important;
}

.twoBloc .bloc1, .twoBloc .bloc2{
  width: 52.5vw
}

.twoBloc .bloc1{
  z-index: 5;
  transform: translateX(-2vw);
  -webkit-transform: translateX(-2vw);
}

.twoBloc .bloc2{
  transform: translate(-5vw, 40%);
  -webkit-transform: translate(-5vw, 35%);
}

.iconSection .wdt-column-wrapper .wdt-column:nth-of-type(2) .wdt-content-item, .iconSection .wdt-column-wrapper .wdt-column:nth-of-type(4) .wdt-content-item, .iconSection .wdt-column-wrapper .wdt-column:nth-of-type(2) .wdt-content-detail-group, .iconSection .wdt-column-wrapper .wdt-column:nth-of-type(4) .wdt-content-detail-group{
  flex-direction: row;
}

.iconSection .wdt-column-wrapper .wdt-column:nth-of-type(2) .wdt-content-item .wdt-content-media-group, .iconSection .wdt-column-wrapper .wdt-column:nth-of-type(4) .wdt-content-item .wdt-content-media-group{
  padding: 0;
}

.serviceVideo .elementor-background-video-hosted {
  top: 70%;
}

.servicePoints .wdt-content-subtitle{
  display: none;
}

.servicePoints .wdt-content-media-group{
  justify-content: end;
  padding-right: 30px;
}

.servicePoints .wdt-content-detail-group{
  flex-basis: 60%;
}

.servicePoints .wdt-content-media-group{
  flex-basis: 40%;
}

.servicePoints .wdt-award-image-box-style .wdt-content-item:not(:last-child){
  border: none;
}

.servicePoints .col1::after{
  position: absolute;
  content: "";
  height: 400px;
  width: 1px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  left: 100px;
  background-color: rgb(0,0,0,0.07);
}

.servicePoints .elementor-icon{
  background: url(/wp-content/uploads/2025/01/cropped-Favicon.png);
  background-size: 45%;
  background-repeat: no-repeat;
  background-position: center;
}

.servicePoints .elementor-icon svg{
  opacity: 0;
}

.main-title-section-wrapper > .main-title-section-bg{
  background-image: url(https://floralwhite-dotterel-694925.hostingersite.com/wp-content/uploads/2025/01/pexels-sanat-anghan-25736600-678528K9.webp);
  background-position: 50% 81%;
}

.breadcrumb *{
  font-weight: 300 !important;
  opacity: 0.8;
  position: relative;
  padding-right: 13px;
  font-size: 12px;
}

.breadcrumb a::after{
  position: absolute;
  content: "/";
  height: 30px;
  width: 20px;
  right: -14px;
  bottom: -12px;
  font-size: 12px;
}

.breadcrumb a:first-of-type::after{
  display: none;
}

.CTA section{
  max-width: 1000px;
  margin: auto;
}


/*------------------------------------------------ END ELEMENT ------------------------------------------------*/
/*------------------------------------------------ END ELEMENT ------------------------------------------------*/


/*------------------------------------------------ BUTTON ------------------------------------------------*/
/*------------------------------------------------ BUTTON ------------------------------------------------*/


.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button {
  box-shadow: 4px 4px 0px 0px Rgba(233,197,114, .8);
  border-color: #0a2c33 !important;
}

.wdt-simple-style.wdt-post-entry .blog-entry .entry-button a.wdt-button:hover {
  border-color: #E9C572 !important;
}



/*------------------------------------------- END BUTTON -------------------------------------------*/
/*------------------------------------------- END BUTTON -------------------------------------------*/

/*------------------------------------------------ HEADER ------------------------------------------------*/
/*------------------------------------------------ HEADER ------------------------------------------------*/



.headerabsolute #header-wrapper{
  position: absolute;
}

.wdt-header-menu ul li > ul.sub-menu.is-hidden{
  box-shadow: none;
}

#header .wdt-header-tpl .sticky-header-active.wdt-header-top{
  -webkit-box-shadow: 0 0px 10px rgba(0, 0, 0, 0.4);
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.4);
}

.scrolled #header .wdt-header-tpl .sticky-header-active.wdt-header-top {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.scrolled.scrolled.scrollUp #header .wdt-header-tpl .sticky-header-active {
 opacity: 1 !important;
 visibility: visible !important;
 -webkit-transform: translateY(0) !important;
 transform: translateY(0) !important;
}

.mobile-menu ul li.see-all{
  border-bottom: solid 1px #fff;
}



/*------------------------------------------------ END HEADER ------------------------------------------------*/
/*------------------------------------------------ END HEADER ------------------------------------------------*/


/*------------------------------------------------- FOOTER -----------------------------------------------*/
/*------------------------------------------------- FOOTER -----------------------------------------------*/



/*------------------------------------------------ END FOOTER  ------------------------------------------------*/
/*------------------------------------------------ END FOOTER ------------------------------------------------*/


/*------------------------------------------------   FORM ------------------------------------------------*/
/*------------------------------------------------   FORM ------------------------------------------------*/

.wpcf7-submit {
  width: 200px;
  height: 45px;
}


/*------------------------------------------------ END  FORM ------------------------------------------------*/
/*------------------------------------------------ END  FORM ------------------------------------------------*/

/*------------------------------------------------ HOME PAGE ------------------------------------------------*/
/*------------------------------------------------ HOME PAGE ------------------------------------------------*/


/*------------------------------------------------ END HOME PAGE ------------------------------------------------*/
/*------------------------------------------------ END HOME PAGE ------------------------------------------------*/

/*------------------------------------------------  PAGE 2nd  ------------------------------------------------*/
/*------------------------------------------------  PAGE 2nd  ------------------------------------------------*/




/*------------------------------------------------- END PAGE 2nd -----------------------------------------------*/
/*------------------------------------------------- END PAGE 2nd -----------------------------------------------*/

/*------------------------------------------  BLOG -----------------------------------------------*/
/*-----------------------------------------  BLOG -----------------------------------------------*/

.entry-grid-layout img{
  aspect-ratio: 1.9;
  object-fit: cover;
}

.single-post .blog-image img{
  max-height: 500px !important;
  object-fit: cover;
}

.single-post h2{
  font-size: 30px !important;
  margin-top: 40px;
}

.single-post h3{
  font-size: 19px !important;
  letter-spacing: -1px !important;
  margin-top: 30px;
  font-weight: 400 !important;
}


/*----------------------------------------------- END BLOG -----------------------------------------------*/
/*----------------------------------------------- END BLOG -----------------------------------------------*/


/*------------------------------------------------- SHOP-----------------------------------------------*/
/*------------------------------------------------- SHOP-----------------------------------------------*/



/*------------------------------------------------- END SHOP -----------------------------------------------*/
/*------------------------------------------------- END SHOP -----------------------------------------------*/

/*------------------------------------------------- 4K-----------------------------------------------*/
/*------------------------------------------------- 4K-----------------------------------------------*/


@media screen and (min-width: 1920px){


}



@media screen and (min-width: 2559px){



}



/*------------------------------------------------- END 4K-----------------------------------------------*/
/*------------------------------------------------- END 4K-----------------------------------------------*/


/*------------------------------------------------- LAPTOP-----------------------------------------------*/
/*------------------------------------------------- LAPTOP-----------------------------------------------*/


@media screen and (max-width: 1650px){

  h2,  h2 span{
    font-size: 37px !important;
  }

  h3, h3 span{
    font-size: 26px !important;
  }

  .serviceGrid h5, .single-post h2{
    font-size: 25px !important;
  }

  .serviceGrid .wdt-content-detail-group, .iconBox h3 span, .single-post h3{
    font-size: 17px !important;
  }

  .wdt-heading-subtitle{
    font-size: 11px !important;
  }

  .serviceGrid .wdt-custom-grid-box-style-1 .wdt-content-item .wdt-content-media-group .wdt-media-image-cover-container{
    padding: 10px 25px !important;
  }

  .serviceGrid img{
    aspect-ratio:1.7;
  }

  .strongPoints .elementor-widget-container > img{
    width: 28px !important;
  }

}


@media screen and (max-width: 1450px){

  .serviceGrid h5{
    font-size: 20px !important;
  }

  .serviceGrid .wdt-content-description{
    font-size: 14px !important;
  }

  .wdt-header-menu .wdt-primary-nav > li > a {
    padding: 8px 15px;
  }

  .serviceGrid .wdt-content-item:hover .wdt-content-detail-group {
    top: 50px;
  }

  .serviceGrid .wdt-content-button{
    top: 120px !important;
  }

}


/*------------------------------------------------- END LAPTOP -----------------------------------------------*/
/*------------------------------------------------- END LAPTOP -----------------------------------------------*/

/*------------------------------------------------- TABLET-----------------------------------------------*/
/*------------------------------------------------- TABLET-----------------------------------------------*/


@media screen and (max-width: 1200px){

  h1, h2, h1 span, h2 span {
    font-size: 38px !important;
  }

  .servicePoints .col1::after{
    left: 80px;
  }

}

@media screen and (max-width: 1024px){

  .serviceVideo .elementor-background-video-hosted {
    top: 50%;
  }

  .servicePoints .wdt-content-media-group{
    flex-basis: 20% !important;
  }

  .servicePoints .wdt-content-detail-group{
    flex-basis: 75% !important;
  }

  .servicePoints .col1::after{
    display: none;
  }

  .servicePoints .wdt-content-media-group{
    padding-left: 0;
  }

}




/*------------------------------------------------- END TABLET-----------------------------------------------*/
/*------------------------------------------------- END TABLET-----------------------------------------------*/

/*------------------------------------------------- LANDSCAPE-----------------------------------------------*/
/*------------------------------------------------- LANDSCAPE-----------------------------------------------*/

@media screen and (max-width: 767px){

  h1, h1 span {
    font-size: 28px !important;
    max-width: 95vw;
  }

  h2, h2 span {
    font-size: 26px !important;
  }

  h3, h3 span, .widgettitle, .single-post h2 {
    font-size: 22px !important;
    letter-spacing: 0 !important;
  }

  .serviceGrid h5 {
    font-size: 18px !important;
  }

  .single-post h3{
    font-size: 15px !important;
  }

  .wdt-heading-holder .wdt-heading-subtitle-wrapper .wdt-heading-subtitle{
    font-size:12px;
  }

  #header .wdt-header-tpl .elementor-section-boxed.sticky-header-active:not(.elementor-section-stretched, .wdt-no-full-section)>.elementor-container, body .container, body .wdt-elementor-container-fluid .elementor-section.elementor-section-boxed:not(.wdt-no-full-section)>.elementor-container {
    padding: 0 10px;
  }

  .strongPoints .col::after {
    right: 50%;
    top: 100%;
    transform: translateY(50%, -50%);
    -webkit-transform: translate(50%, -50%);
    width: 120px;
    height: 2px;
  }

  #logo-animation {
    width: 300px; /* Taille augmentée du logo */
  }

  .serviceGrid .wdt-content-detail-group {
    font-size: 14px;
    top:80px;
  }

  .serviceGrid .wdt-content-item:hover .wdt-content-detail-group{
    top: 50px;
  }

  .serviceGrid .wdt-content-button{
    width: 200px;
  }

  .servicePoints .wdt-content-item{
    padding-bottom: 20px !important;
    padding-top: 0 !important;
  }

  .servicePoints .wdt-content-media-group{
    margin-bottom: 10px !important;
    padding-right: 0 !important;
  }

  .iconBox h3 {
    margin-top: -20px;
    margin-bottom: 8px;
    line-height: 1 !important;
  }

  .iconBox h3 span{
    font-size: 16px !important;
  }

}


/*------------------------------------------------- END LANDSCAPE-----------------------------------------------*/
/*------------------------------------------------- END LANDSCAPE-----------------------------------------------*/

/*------------------------------------------------- PORTRAIT-----------------------------------------------*/
/*------------------------------------------------- PORTRAIT-----------------------------------------------*/


@media screen and (max-width: 500px){

  .serviceVideo h1 span{
    font-size: 28px !important;
    line-height: 1.4;
    max-width: 90vw;
  }


}



/*------------------------------------------------- END PORTRAIT-----------------------------------------------*/
/*------------------------------------------------- END PORTRAIT-----------------------------------------------*/
