/*
Theme Name: Chris Gaillard
Theme URI: https://www.chrisgaillard.com
Description: Child Theme
Author: Chris Gaillard
Author URI: https://www.chrisgaillard.com
Template: hello-elementor
Version: 1.0.0
*/
/* =Theme customization starts here
------------------------------------------------------- */

/***************** Appel Styles ********************/

@import url("styles-btn.css");
@import url("styles-header.css");
@import url("styles-home.css");
@import url("styles-class.css");
@import url("styles-pages.css");

/***************** New Branding - NOIISE ********************/

.elementor-posts .elementor-post {
  display: flex;
  padding-bottom: 1rem !important;
}

.pageloader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999999999999;
  background: url("/wp-content/uploads/2023/04/logo-animation.gif") 50% 50% no-repeat #0046ad;
  background-size: 200px;
  opacity: 1;
}
/***************** New Branding - NOIISE ********************/


.bg_degrad-1 {
    background: linear-gradient(to right, #0046ad 0%, #1132ff 15%, #0087ff 100%) !important;
}
.bg_degrad-2 {
    background: linear-gradient(to right, #0046ad 0%, #1132ff 15%, #c919f4 100%) !important;
}
.tronics-txt {
    padding-left: 15px;
    border-left: 1px solid #356eff;
		font-size: 13px;
    line-height: 12px;
    color: #fff !important;
}
.tronics-txt .elementor-heading-title  {
		font-size: 13px;
    line-height: 12px;
    color: #fff !important;
}
.elementor-menu-toggle:before {
	content:none;
}


.d-flex {display: flex;}
.a-itemCenter {align-items: center;} 
.d-flex.a-itemCenter .elementor-button-content-wrapper {display: flex; align-items: center;}
.alignnone {vertical-align: middle;}


/* BLOG */

  .postid-432 .elementor-element-6790ee9 .elementor-widget-container .elementor-button-wrapper a { 
    transition: .5s !important;
    background: inherit !important;
    border:#0046AD 3px solid !important;
    border: 30px;  
    color:#0046AD;
  }


.postid-432 .elementor-element-6790ee9 .elementor-widget-container .elementor-button-wrapper a:hover {
    transition: .5s !important;
    background: inherit !important;
    border:#0046AD 3px solid !important;
    border: 30px;  
    background: linear-gradient(to right, #0046AD, #1132FF, #0087FF) !important;
    color: #ffffff !important; 
  }


  .elementor-post__read-more {
    transition: .5s !important;
    background: inherit !important;
    border:#0046AD 3px solid !important;
    border: 30px;  
    background: linear-gradient(to right, #0046AD, #1132FF, #0087FF) !important; 
  }

  .elementor-element-populated a.elementor-post__read-more {
    transition: .5s !important;
    background: inherit !important;
    border:#0046AD 3px solid !important;
    border: 30px;  
    background: linear-gradient(to right, #0046AD, #1132FF, #0087FF) !important;
    color: #ffffff !important; 
  }
  


/* FIN BLOG */



  /* Banner header */ 

  .headerCategorie h1, .headerCategorie h2 {
    text-shadow: none !important;
    color: #ffffff !important;
    z-index: 99 !important; 
}

  .headerCategorie .elementor-background-overlay::after {
    content: "";
    position: absolute; 
    inset: 0; 
    background: linear-gradient(to bottom, rgba(0, 70, 173, 0.2), rgba(17, 50, 255, 0.2), rgba(0, 135, 255, 0.2) ); pointer-events: none;
    z-index: 0;
  }


  
/* FIN intégration Jeremy slider */ 
.ban_home .ban_home-s1 .titre_ban .elementor-heading-title {
  font-size: clamp(2rem, -0.125rem + 5.625vw, 4.375rem);
  text-shadow: none;
  font-weight: 800;
  line-height: 1em !important;
}
.ban_home .ban_home-s2 .titre_ban .elementor-heading-title, .ban_home .ban_home-s2-vid .titre_ban .elementor-heading-title{
  font-size: clamp(1.5rem, -0.125rem + 5.625vw, 2.75rem);
  text-shadow: none;
  font-weight: 700;
  line-height: 1em !important;
  color: #ffffff;
}



.loop_news-bloc {
  padding: 0 !important;
  transition: all 0.4s ease !important;
overflow:hidden !important;
}
.loop_news-bloc .e-con-inner {
  transform: translateY(46%);
  padding: 20px !important;
  padding-top: 2rem !important;
  transition: all 0.4s ease !important;
}
.loop_news-bloc .e-con-inner .news_titre .elementor-heading-title {
  font: 18px;
  line-height: 1.2em;
  color: #ffffff;
}
.loop_news-bloc .e-con-inner .news_desc {
  font: 16px;
  line-height: 1.2em;
  color: #ffffff;
}
.loop_news-bloc .e-con-inner .news_btn {
  opacity: 0;
}
.loop_news-bloc .e-con-inner .news_btn .elementor-button {
  border-radius: 5px;
  border: 1px solid #EFEFEF;
  background: #EFEFEF;
  color: #212529;
}
.loop_news-bloc .e-con-inner .news_hover {
  min-height: 160px;
}
.loop_news-bloc .e-con-inner .news_hover .elementor-widget-container {
  max-height: 0px;
  overflow: hidden;
}
.loop_news-bloc .e-con-inner:before {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  height: 100% !important;
  top: 0 !important;
  width: 100% !important;
  left: 0 !important;
  /*background-image: url(/wp-content/uploads/2025/04/news_frame.svg);*/
  background-color: rgba(0, 69, 173, 0.85);
  z-index: 0;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: bottom;
}
.loop_news-bloc:hover {
  transition: all 0.4s ease !important;
}
.loop_news-bloc:hover .e-con-inner {
  transition: all 0.4s ease !important;
  transform: translateY(0);
}
.loop_news-bloc:hover .e-con-inner .news_hover .elementor-widget-container {
  max-height: 100%;
  overflow: hidden;
}
.loop_news-bloc:hover .e-con-inner .news_btn {
  opacity: 1;
}
.bloc_events {
  padding: 25px;
}
.bloc_events .e-con-inner {
  filter: grayscale(1);
	box-shadow: 0 0 10px color-mix(in srgb, #0046ad 24%, white) !important;
    padding: 50px 30px !important;
}
.bloc_events .bloc_events-titre .elementor-heading-title {
  text-transform: uppercase;
}
.bloc_events .bloc_events-img img {
  max-width: 72px;
}
.bloc_events:hover .e-con-inner{
  filter: grayscale(0);
}


/* Produits - NOIISE
------------------------------------------------------- */

.ban_product {
  padding: 4rem 0;
  overflow: hidden !important;
}

.bg_color1 .e-con-inner {
  padding: 2rem 1rem !important;
  background-color: #F4F6FA;
  border-radius: 9px;
}

/* .bg_spe1::before {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  height: 1980px !important;
  top: -160% !important;
  width: 1980px !important;
  left: 100px !important;
  box-shadow: -3px -4px 44px 0px rgba(0, 0, 0, 0.1);
  background: white;
  transform: skew(15deg, -29deg);
  z-index: -1;
} */ 

.titre_1-produit {
  position: relative;
  font-size: 48px;
  line-height: 1.2em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--e-global-color-b839f5d);
}

.titre_1-produit .elementor-heading-title {
  font: inherit;
  line-height: 1.2em;
}

.titre_2-produit {
  position: relative;
  font-size: 36px;
  line-height: 1.2em;
  font-weight: 600;
  color: #333333;
}

.titre_2-produit .elementor-heading-title {
  font: inherit;
  line-height: 1.2em;
  color: inherit;
}

.titre_3-produit {
  position: relative;
  font-size: 30px;
  line-height: 1.2em;
  color: #333333;
  letter-spacing: 1px;
}

.titre_3-produit .elementor-heading-title {
  font: inherit;
  line-height: 1.2em;
  color: inherit;
}

.titre_4-produit {
  position: relative;
  font-size: 22px;
  line-height: 1.2em;
  color: #333333;
  letter-spacing: 1px;
}

.titre_4-produit .elementor-heading-title {
  font: inherit;
  line-height: 1.2em;
  color: inherit;
}

.sous_titre h1 {
  text-shadow: none;
}

div[class^=btn_] .elementor-button-link {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  padding: 10px 20px;
}

.btnProd .elementor-button-link {
    transition: .5s !important;
    background: inherit !important;
    border-style: solid !important;
    border-image: linear-gradient(#0046AD, #1132FF, #0087FF) 1;
    color: #0046AD !important;
    border-width: 3px;
}
.btnProd .elementor-button-link:hover {
    background: linear-gradient(to right, #0046AD, #1132FF, #0087FF) !important;
    color: white !important;
}

.btnProd_Form .elementor-button-link {
    transition: .5s !important;
    background: linear-gradient(to right, #0046AD, #1132FF, #0087FF) !important;
    border-style: solid !important;
    border-image: linear-gradient(#0046AD, #1132FF, #0087FF) 1;
    color: #ffffff !important;
    border-width: 3px;
}
.btnProd_Form .elementor-button-link:hover {
    background: white !important;
    color: #0046AD !important;
}


/* Wrapper commun */


.BtnTDKBleu .elementor-widget-container .elementor-button-wrapper { 
    display: inline-block;
    font-size: 16px;
    position: relative;
    padding: 4px;
    border-radius: 7px;
    overflow: hidden;
}
.BtnTDKBleu .elementor-button-wrapper::before {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 5px;
    background: linear-gradient(to right, #0046ad, #1132ff, #0087ff);
    z-index: 1;
}
.BtnTDKBleu .elementor-button-content-wrapper {display: flex; align-items: center;}
.BtnTDKBleu .elementor-button {background-color: #ffffff !important;}
.BtnTDKBleu .elementor-button-link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 40px;
    background: #fff;
    border-radius: 3px; /* léger différentiel pour montrer la bordure */
    z-index: 2;
    color: #0046ad; /* texte bleu */
    transition: all .3s ease;
}
/* Icône + texte */
.BtnTDKBleu .elementor-button-text,
.BtnTDKBleu .elementor-button-icon {
    position: relative;
    z-index: 3;
    color: #0046ad;
    transition: color .3s ease;
}
.BtnTDKBleu a:hover svg {filter: invert(100%) sepia(100%) saturate(100%)  hue-rotate(540deg) brightness(200%) contrast(100%) !important;}


/* --- Hover : le gradient devient le background --- */
.BtnTDKBleu .elementor-button-link:hover {
    background: transparent;
}

/* On applique le gradient au background du bouton */
.BtnTDKBleu .elementor-button-link:hover::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 3px;
    background: linear-gradient(to right, #0046ad 0%, #1132ff 15%, #0087ff 100%);
    z-index: 2;
}


/* Texte et icône deviennent blancs */
.BtnTDKBleu .elementor-button-link:hover .elementor-button-text,
.BtnTDKBleu .elementor-button-link:hover .elementor-button-icon {
    color: #fff !important;
}
/* Wrapper commun */
.BtnTDKPink .elementor-widget-container .elementor-button-wrapper { 
    display: inline-block;
    font-size: 16px;
    position: relative;
    padding: 3px 2px 2px; /* épaisseur de la "border" */
    border-radius: 7px;
    overflow: hidden;
}
/* Bordure en dégradé Pink (NOUVEAU dégradé) */
.BtnTDKPink .elementor-button-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 5px;
    background: linear-gradient(to right, #0046AD 0%, #1132FF 15%, #C919F4 100%);
    z-index: 1;
}
.BtnTDKPink .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
}
.BtnTDKPink .elementor-button {
    background-color: #ffffff !important;
}
.BtnTDKPink .elementor-button-link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 40px;
    background: #fff;
    border-radius: 3px; 
    z-index: 2;
    color: #0046AD; /* couleur texte = début du gradient */
    transition: all .3s ease;
}
/* Icône + texte */
.BtnTDKPink .elementor-button-text,
.BtnTDKPink .elementor-button-icon {
    position: relative;
    z-index: 3;
    color: #0046AD;
    transition: color .3s ease;
}
/* SVG en mode hover via filtre */
.BtnTDKPink a:hover svg {
    filter: invert(100%) sepia(100%) saturate(100%) 
            hue-rotate(540deg) brightness(200%) contrast(100%) !important;
}
/* --- Hover : le gradient devient le background --- */
.BtnTDKPink .elementor-button-link:hover {
    background: transparent;
}
/* Dégradé Pink sur le hover (NOUVEAU dégradé) */
.BtnTDKPink .elementor-button-link:hover::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 3px;
    background: linear-gradient(to right, #0046AD 0%, #1132FF 15%, #C919F4 100%);
    z-index: 2;
}
/* Texte et icône deviennent blancs */
.BtnTDKPink .elementor-button-link:hover .elementor-button-text,
.BtnTDKPink .elementor-button-link:hover .elementor-button-icon {
    color: #fff !important;
}





.btn_link .elementor-button-link {
  font-size: 13px;
  color: #E87800 !important;
  background-color: #ffffff !important;
  font-weight: 600 !important;
  padding: 0px 24px !important;
  transition: all 0.4s ease-in-out;
}

.btn_link .elementor-button-link .elementor-button-icon {
  transition: all 0.4s ease-in-out;
}

.btn_link .elementor-button-link:after {
  content: "";
  height: 1px;
  left: 0;
  opacity: 1;
  position: absolute;
  bottom: 0;
  width: 0;
  transition: all 0.4s ease-in-out;
}

.btn_link .elementor-button-link:hover {
  color: #E87800 !important;
  transition: all 0.4s ease-in-out;
}

.btn_link .elementor-button-link:hover .elementor-button-icon {
  transform: translateX(5px);
  transition: all 0.4s ease-in-out;
}

.btn_link .elementor-button-link:hover:after {
  width: 100%;
  transition: all 0.4s ease-in-out;
}

.table_perf tr th, .table_perf tr td {
  width: 50%;
}

.table_perf tr {
  height: 55px;
}

.table_perf th {
  border-block-start: none !important;
}

.bloc_applications {
  box-shadow: 4px 7px 13px 0px rgba(0, 0, 0, 0.05) !important;
  padding-bottom: 3rem !important;
}

.bloc_applications .bloc_text1 {
  ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    li {
        padding-left: 30px;
        padding-bottom: 5px;
        position: relative;
        &:before {
            content: '';
            position: absolute;
            display: block;
            height: 7px;
            width: 7px;
            border-radius: 50%;
            top: 8px;
            left: 8px;
            background-color: #0046AD;
        }
    }
  }
}


.bloc_applications .titre_applications {
  position: absolute;
  top: 15px;
  left: 15px;
}

.bloc_applications .titre_applications .elementor-heading-title {
  font-size: 22px !important;
  color: #ffffff !important;
  font-weight: 600;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.bloc_applications .img_applications {
  overflow: hidden;
}

.bloc_applications .img_applications a {
  width: 100%;
}

.bloc_applications .img_applications:before {
  content: "";
  position: absolute;
  display: block;
  transition: all 0.4s ease-in-out;

  top: 0%;
  left: 0px;
  width: 100%;
  height: 23%;
  background-color: #0046AD;
  opacity: 0.6;


}

.bloc_applications:hover .img_applications:before {
  top: 0%;
  height: 100%;
  transition: all 0.4s ease-in-out;
}

.bloc_applications:hover .elementor-icon {
  transform: rotate(-90deg);
  transition: all 0.4s ease-in-out;
}

.bloc_applications-2 { 
	min-width: 305px;
    max-width: 40%;
}

.bloc_produits-similar {
  border-radius: 12px !important;
  border: 4px solid #0046AD;
  background: #FFF;
  box-shadow: 4px 7px 13px 0px rgba(0, 0, 0, 0.05);
}

.bloc_form {
  border-radius: 15px !important;
  background: #FFF;
  padding: 3rem 2rem !important;
}

.bloc_form input {
  background-color: #F2F6FB;
  border-radius: 8px;
}

.bloc_form .elementor-field-type-acceptance .elementor-field-option {
  display: flex;
}

.bloc_form .elementor-acceptance-field {
  padding-left: 8px;
}

.bloc_form .elementor-field-type-acceptance .elementor-field-option label {
  font-size: 10px !important;
  color: #000000 !important;
  line-height: 1.4em;
  padding-left: 8px;
}

/* Footer - NOIISE
------------------------------------------------------- */
#prefooter ul .sub-menu {
  padding-left: 0 !important;
  margin-top: 15px;
}

#prefooter ul.sub-menu li {
  list-style-type: none !important;
  color: transparent !important;
  margin-left: 0 !important;
  border-top: 1px solid #989898;
  width: 90%;
  font-size: 12px;
  font-weight: normal;
  padding: 0.85rem 0;
  display: flex;
  align-items: center;
  position: relative;
}

#prefooter ul.sub-menu li a {
  padding-left: 10px;
  display: flex;
  align-items: center;
}

#prefooter ul.sub-menu li:after {
  content: "";
  position: absolute;
  right: 5%;
  width: 20px;
  height: 20px;
  background: url("/wp-content/themes/ChrisTheme/right-arrow.svg") no-repeat center center/contain;
}

#prefooter .menu > .menu-item > a {
  font-size: 12px;
  font-weight: 700;
}

#prefooter .menu-item-8985 > a {
  border: 2px solid #C919F4;
  background-color: #C919F4;
  color: #ffffff !important;
  border-radius: 5px;
  padding: 5px;
}

#prefooter .menu-item-8985 > a:hover {
  border: 2px solid #C919F4;
  background-color: #ffffff;
  color: #C919F4 !important;
  border-radius: 5px;
  padding: 5px;
}

#prefooter.brand_2025 { 
	background-color: #ffffff;
	position: relative;
        &::after {
            content: "";
            position: absolute;
            display: block;
            height: 4px;
            width: 100%;
            top: 0%;
            left: 0%;
            background: linear-gradient(to right, #0046ad 0%,#1132ff 15%,#0087ff 100%);
        }
} 

#prefooter.brand_2025 ul .sub-menu {
	margin-top:5px;
}

#prefooter.brand_2025 .menu > .menu-item > a {
  font-size: 11px;
  font-weight: 700;
color: #000000;

}

#prefooter.brand_2025 ul.sub-menu li {
	border-top: none;
	color: #000000 !important;
	padding: 0;
}

#prefooter.brand_2025 ul.sub-menu li a {
  padding: 4px 0;
	color: #000000 !important;
}

#prefooter.brand_2025 .menu > .menu-item > a:hover, 
#prefooter.brand_2025 ul.sub-menu li > a:hover {
	text-decoration:underline;
}

/* Media Queries
------------------------------------------------------- */
@media screen and (min-width: 1300px) {
  .ban_home .ban_home-s1:before {
    width: 70%;
  }
}
@media screen and (min-width: 1200px) {
  .bloc_solutions .elementor-swiper-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .bg_spe1::before {
    top: -190% !important;
  }
  .ban_home .ban_home-s2:before, .ban_home .ban_home-s2-vid:before {
    width: 56%;
  }
  .ban_inte:before {
    width: 56% !important;
	}

.OverlayTriangleGauche::after {left: -40px;}

}


@media screen and (max-width: 767px) {
  #menu-2-da4bbf3 {margin-top: 50px;}
  .ban_home-s1 .e-con-inner > .elementor-element:first-child {bottom: 0px; max-height: 100% !important;}
  .d-block {display: block !important;}
  .bloc_produits-similar .btn_link {
    position: relative;
  }
  .bg_spe1 img {
    max-width: 320px !important;
  }
  .ban_home .ban_home-s2:before, .ban_home .ban_home-s2-vid:before {
    width: 99%;
  }
	 .ban_home .ban_home-s1:before {
    width: 95%;
  }
	.ban_inte:before {
    width: 98% !important;
	}
.OverlayTriangleGauche::after {
      clip-path: polygon(-50% 0%, 100% 0%, 100% 0%,100% 20%, 50% 40%); width: 110%; height: 100%; left: -8px; top: -30%;}


.btn_ctaSlider.OurSolution .elementor-button .elementor-button-text::before {right: 0px !important; left: 20px !important;}


/* Categorie */
  .headerCategorie::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(000 000 000 / 60%);
    left: 0;
  }
/* FIN Categorie */


}
@media screen and (max-width: 400px) {
  .ban_home .ban_home-s2:before, .ban_home .ban_home-s2-vid:before {
    width: 99%;
  }
  .ban_home .ban_home-s1:before {
    width: 100%;
  }
	.ban_inte:before {
    width: 99% !important;
	}
}


