/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


/*
    Add your custom styles here
*/


/******************************************/


/**************** GENERAL *****************/


/******************************************/

body {
    --carre: 6vw;
}

.gutter-left {
    margin-left: var(--carre);
}

.gutter-right {
    margin-right: var(--carre);
}

.elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 72vw;
}


/*.elementor-section:not([class^="elementor-inner-section"]) { padding-left: 15vw; padding-right:15vw; }
.elementor-section:not([class^="elementor-inner-section"]) { padding-left: 15vw; padding-right:15vw; }
.sub-menu-content .elementor-section:not([class^="elementor-inner-section"]) { padding:0; padding-top: 10px; }*/


/******************************************/


/************* MODAL EN SECTION ***********/


/******************************************/

#actions-down {
    position: fixed;
    display: flex;
    z-index: 899;
    top: 35vh;
    left: 0vw;
    width: 70px;
}

#actions-right {
    position: fixed;
    display: flex;
    z-index: 899;
    top: 35vh;
    right: 0vw;
    width: 70px;
}

.ligne_verticale {
    width: 5px;
    margin-left: 25px;
    border-left: 1px solid white;
    height: 20vh;
}


/******************************************/


/**************** RESPONSIVE **************/


/******************************************/

@media only screen and (max-width: 800px) {
    body {
        --carre: 8vw;
    }
    .elementor-section.elementor-section-boxed>.elementor-container {
        max-width: 96vw;
    }
    .gutter-left {
        margin-left: 0!important;
    }
}


/* highlight */

mark {
    text-decoration: none;
    color: #35395a;
    background-position-y: -0%;
    background-image: linear-gradient(#01c0c200 50%, #764896 50%);
    transition: background 500ms ease;
    background-size: 2px;
    background-size: auto 175%;
    background-color: #01c0c200;
}

mark:hover {
    background-position-y: 100%;
    color: #fff;
}


/******************************************/


/**************** ELEMENTS ****************/


/******************************************/

.corner {
    --b: calc(var(--carre) / 2);
    /* thickness of the border */
    --c: #eb5c6c;
    /* color of the border */
    --w: calc(var(--carre) * 1.5);
    /* width of border */
    --h: calc(var(--carre) * 1.5);
    /* width of border */
    border: var(--b) solid transparent;
    /* space for the border */
    background: linear-gradient(var(--c), var(--c)) bottom right, linear-gradient(var(--c), var(--c));
    background-position: bottom right;
    background-size: var(--b) var(--h), var(--w) var(--b);
    background-repeat: no-repeat;
    background-origin: border-box;
}

.corner-left-to-right {
    --b: calc(var(--carre) / 2);
    --c: #eb5c6c;
    --w: calc(var(--carre) * 1.5);
    --h: calc(var(--carre) * 1.5);
    border: var(--b) solid transparent;
    background: linear-gradient(var(--c), var(--c)) bottom right, linear-gradient(var(--c), var(--c)) bottom right, linear-gradient(var(--c), var(--c)) top left, linear-gradient(var(--c), var(--c)) top left;
    background-size: var(--b) var(--h), var(--w) var(--b);
    background-repeat: no-repeat;
    background-origin: border-box;
}

.corner-right-to-left {
    --b: calc(var(--carre) / 2);
    --c: #eb5c6c;
    --w: calc(var(--carre) * 1.5);
    --h: calc(var(--carre) * 1.5);
    border: var(--b) solid transparent;
    background: linear-gradient(var(--c), var(--c)) bottom left, linear-gradient(var(--c), var(--c)) bottom left, linear-gradient(var(--c), var(--c)) top right, linear-gradient(var(--c), var(--c)) top right;
    background-size: var(--b) var(--h), var(--w) var(--b);
    background-repeat: no-repeat;
    background-origin: border-box;
}

.corner-inside {
    --b: calc(var(--carre) / 2);
    /* thickness of the border */
    --c: #eb5c6c;
    /* color of the border */
    --w: calc(var(--carre) * 1.5);
    /* width of border */
    --h: calc(var(--carre) * 1.5);
    /* width of border */
    background: linear-gradient(var(--c), var(--c)), linear-gradient(var(--c), var(--c));
    background-position: bottom right;
    background-size: var(--b) var(--h), var(--w) var(--b);
    background-repeat: no-repeat;
    background-origin: border-box;
}

.c-bottom-right {
    background-position: bottom right;
    border-left: none;
    border-top: none;
}

.c-top-left {
    background-position: top left;
    border-right: none;
    border-bottom: none;
}

.c-top-right {
    background-position: top right;
    border-left: none;
    border-bottom: none;
}

.c-bottom-left {
    background-position: bottom left;
    border-right: none;
    border-top: none;
}

.c-left-to-right {
    background: linear-gradient(var(--c), var(--c)) bottom right, linear-gradient(var(--c), var(--c)) top left;
}

.c-right-to-left {
    background-position: top right, bottom-left;
}

.c-blue {
    --c: #dce3f4;
}

.c-green {
    --c: #98c41c;
}

.c-purple {
    --c: #986cac;
}

.c-cyan {
    --c: #70ccf4;
}

.c-red {
    --c: #eb5c6c;
}

.c-white {
    --c: white;
}

.c-yellow {
    --c: #ffd401;
}

.c-big {
    --b: var(--carre);
    --w: calc(var(--carre) * 3);
    --h: calc(var(--carre) * 3);
}

.c-normal {
    --b: calc(var(--carre) / 2);
}

.c-full-width {
    --w: 100%;
}

.c-full-height {
    --h: 100%;
}

.c-no-height {
    --h: 0;
}


/*.bar {
  --c: #eb5c6c;
  --b: transparent;
  border-bottom: 2vw solid;
  border-image: linear-gradient(90deg,var(--b) 20%, var(--c) 10%, var(--c) 80%, var(--b) 10%);
  border-image-slice: 1 
}*/

.col-icon {
    width: var(--carre);
    height: var(--carre);
}

.bar {
    --divider-border-width: calc(var(--carre) / 2) !important;
    --divider-color: #eb5c6c !important;
}

.b-blue {
    --divider-color: #dce3f4;
}

.c-yellow {
    --c: #ffd401;
}

.b-mini {
    --divider-border-width: 1.5vw !important;
}

.b-big {
    --divider-border-width: var(--carre) !important;
}

.sub-header .elementor-column:last-of-type {
    width: 20% !important;
    /* background-color : #dce3f4;*/
}

.sub-header .elementor-column:first-of-type {
    margin-right: -1.5vw;
    z-index: 1;
    padding: 1.5vw;
}

.bloc-14805 {
    overflow: hidden;
}

.sub-header {
    overflow: hidden;
}


/**************   STYLE SECTIONS    **************/

.gutter-inside-left {
    padding-left: var(--carre);
}

.gutter-inside-right {
    padding-right: var(--carre);
}

.gutter-inside-left-small {
    padding-left: calc(var(--carre) / 2) !important;
}

.gutter-inside-left-mini {
    padding-left: 1vw !important;
}

.gutter-inside-right-small {
    padding-right: calc(var(--carre) / 2) !important;
}

.gutter-inside-right-mini {
    padding-right: 1vw !important;
}

.gutter-inside-top {
    padding-top: var(--carre) !important;
}

.gutter-inside-top-small {
    padding-top: calc(var(--carre) / 2) !important;
}

.gutter-inside-bottom {
    padding-bottom: var(--carre) !important;
}

.gutter-inside-bottom-big {
    padding-bottom: 20% !important;
}

.gutter-inside-bottom-small {
    padding-bottom: calc(var(--carre) / 2) !important;
}

.gutter-left-small {
    margin-left: calc(var(--carre) / 2);
}

.gutter-right-small {
    margin-right: calc(var(--carre) / 2);
}

.gutter-bottom {
    margin-bottom: var(--carre) !important;
}

.gutter-top {
    margin-top: var(--carre) !important;
}

.gutter-bottom-small {
    margin-bottom: calc(var(--carre) / 2) !important;
}

.gutter-bottom-mini {
    margin-bottom: 1vw !important;
}

.gutter-top-small {
    margin-top: calc(var(--carre) / 2) !important;
}

.gutter-top-mini {
    margin-top: 1vw !important;
}

.gutter-top-neg {
    margin-top: -20% !important;
}

.gutter-top-neg-mini {
    margin-top: -35px !important;
}

.gutter-right-neg {
    margin-right: -10% !important;
}

.gutter-bottom-neg {
    margin-bottom: -3.5vw !important;
}

.gutter-bottom-neg-big {
    margin-bottom: -12vw;
}

.gutter-bottom-arrow {
    margin-bottom: -10px;
}

.bloc-menu-gestion-doc {
    min-height: 50%;
}

@media screen and (max-width: 1580px) {
    .bloc-menu-gestion-doc {
        min-height: 55%;
    }
}

@media screen and (max-width: 1200px) {
    .bloc-menu-gestion-doc {
        min-height: 50%;
    }
}

.bloc-menu {
    min-height: 40%;
}

@media screen and (max-width: 1500px) {
    .bloc-menu {
        min-height: 55%;
    }
}

@media screen and (max-width: 1400px) {
    .bloc-menu {
        min-height: 50%;
    }
}

.bloc-menu-big {
    min-height: 50%;
}

@media screen and (max-width: 1580px) {
    .bloc-menu-big {
        min-height: 50%;
    }
}

.bloc-menu-60 {
    min-height: 70%;
}

@media screen and (max-width: 1580px) {
    .bloc-menu-big {
        min-height: 65%;
    }
}


/******************************************/


/**************** HEADER ******************/


/******************************************/

.kelnom-header {
    position: absolute;
    z-index: 100;
    width: 100%;
    left: 0px;
    top: 0px;
    font-family: var(--e-global-typography-primary-font-family)!important;
}

#menu-mobile {
    display: flex;
    position: fixed;
}


/*******************************************/


/**************** MEGA MENU ****************/


/*******************************************/

.sub-menu>div {
    display: inline-block;
    background-color: white;
    padding-top: 15%;
    width: 100vw;
}

.main-menu ul {
    list-style-type: none;
    /*   font-size: 12px; */
}

.main-menu ul>li {
    position: relative;
    float: left;
    padding: 10px !important;
    margin: 0px 0px;
    cursor: pointer;
    padding-left: 0px;
}

.main-menu ul.sub-menu>li {
    position: relative;
    float: left;
    padding: 10px;
    margin: 0px 0px;
    cursor: pointer;
}

.main-menu ul ul ul li {
    float: none;
}

.main-menu li>ul {
    display: none;
}

.main-menu li:hover>ul,
.main-menu li>ul.display {
    position: absolute;
    display: flex;
    width: 100vw;
    left: 0px;
    background-color: #764896;
    padding: 0px !important;
    right: 0px;
}

@media screen and (max-width: 600px) {
    .main-menu li:hover>ul,
    .main-menu li>ul.display {
        margin-top: 12vh;
        flex-direction: column;
        z-index: 200;
    }
}

.sub-menu>li[class^="template-menu"]>a {
    font-weight: 400;
    font-size: 14px;
    color: rgb(255, 255, 255) !important;
}

.sub-menu>li>a:hover {
    color: white !important;
    border-bottom: 2px solid white;
    padding-bottom: 2px;
}


/*.sub-menu > li:first-child{
  padding-left:30% !important;
}*/

.elementor-7546 {
    margin-bottom: 20px !important;
}

.elementor-7553 {
    margin-bottom: 20px !important;
}

.elementor-7560 {
    margin-bottom: 20px !important;
}

.elementor-7563 {
    margin-bottom: 20px !important;
}

.elementor-7566 {
    margin-bottom: 20px !important;
}

.elementor-7569 {
    margin-bottom: 20px !important;
}


/*Liste niveau 2*/


/* .sub-menu-content > div span.elementor-button-text {
  
  font-size: 1rem;
  color: #28313a;
  font-weight: 700;
} */


/*Liste niveau 3*/

.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
    align-self: center;
    padding-left: 10px;
    font-size: 0.8rem;
    color: #4f6276;
    font-weight: 300;
}

.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text:hover {
    color: #28313a;
}


/*section*/

.section-gestion-doc-compo {
    margin-top: -10px;
}

.derniere-section-com {
    padding-top: 62px !important;
}

.first-section-doc {
    margin-top: -26px;
}

.sage-align {
    margin-top: 25px;
}

.derniere-section-doc {
    padding-top: 60px !important;
}

.colonne-salesforce {
    padding-left: 83px;
}

.power-align {
    margin-top: 20px;
}

#salesforce {
    height: 180px !important;
    width: 180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.first-section-impression {
    margin-top: -20px;
    margin-left: 35px;
}

#canon {
    width: 140px;
}

#toshiba {
    width: 150px;
    margin-top: 2px;
}

#kyocera {
    width: 130px;
}

.second-section-impression {
    margin-top: 20px;
    margin-left: 40px;
}

#ricoh {
    width: 135px;
}

.secu-title {
    margin-bottom: 30px;
}

.last-section-impression {
    margin-top: 20px !important;
    margin-left: 40px !important;
}

#konica-minolta {
    margin-left: 23px !important;
    margin-top: 30px !important;
}

#hp {
    width: 80px;
    margin-left: 48px !important;
}

#section-info {
    width: 100px;
}

.section-dell-hp {
    margin-left: 60px;
}

#microsoft {
    width: 400px;
}

.section-microsoft {
    margin-left: 15px;
    margin-top: 25px;
}

.section-informatique {
    margin-top: 30px;
}

.first-section-securite {
    margin-top: -55px;
}

.second-section-securite {
    padding-top: 0px !important;
}

.netwrix {
    padding-top: 30px !important;
    margin-left: 30px !important;
    width: 130px !important;
    filter: brightness(0);
}

#prtg {
    width: 140px;
}

.prtg {
    margin-left: 125px;
}


/*Nos équipements*/

.nos-equipements {
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
    font-size: 1rem !important;
}

.nos-partenaires {
    text-align: center;
    padding-left: 10px;
    font-size: 0.9rem !important;
    color: var(--e-global-color-text);
    font-weight: 500;
}


/* centrage des textes sous les images du menu _v */

.label-center {
    align-items: center;
    text-align: center;
}

.label-left {
    text-align: left;
    align-items: left;
}

.label-right {
    text-align: right;
    align-items: right;
}

.img-equipements {
    padding-top: 35px !important;
}

.img-equipements-v2 {
    padding-top: 15px !important;
}

.rgpd-gdpr {
    padding-top: 108px !important;
}

.elementor-widget-icon-list .elementor-icon-list-item,
.elementor-widget-icon-list .elementor-icon-list-item a {
    margin-bottom: 1px;
}

.sub-menu-content>div span.elementor-icon-list-text {
    font-size: 14px;
    color: #4f6276;
    font-weight: 300;
}

.elementor-element-67acca6.bwhite {
    background-color: white;
}

#menu-menu-v2 {
    padding-left: 0px;
    padding-right: 0px;
}

#menu-menu-v2>li>a {
    font-size: 15px;
    color: black;
    font-family: var(--e-global-typography-194c442-font-family), Sans-serif;
    font-weight: 500;
    padding: 2px;
}

@media screen and (max-width: 1290px) {
    #menu-menu-v2>li>a {
        font-family: arboria !important;
        font-size: 13px !important;
    }
}

@media screen and (max-width: 1150px) {
    #menu-menu-v2>li>a {
        font-family: arboria !important;
        font-size: 11px !important;
    }
}

#menu-menu-v2 .sub-menu {
    display: none;
}

#menu-menu-v2 .sub-menu.display {
    display: flex;
    justify-content: space-around;
    position: fixed;
    left: 0px;
    top: 6vw;
    margin-top: 0px;
    flex-wrap: nowrap;
    padding-left: 18vw !important;
    padding-right: 15vw !important;
}

@media screen and (max-width: 1250px) {
    #menu-menu-v2 .sub-menu.display {
        padding-left: 10vw !important;
        padding-right: 8vw !important;
    }
}

.mega-menu-container {
    display: none;
}

.mega-menu-container.display {
    display: block;
    margin-top: 60px !important;
}

@media screen and (max-width: 1340px) {
    .mega-menu-container.display {
        margin-top: 50px !important;
    }
}

#menu-menu-v2.menu {
    justify-content: flex-start !important;
    display: flex;
    margin: auto;
}

@media screen and (max-width: 1500px) {
    #menu-item-7623,
    #menu-item-7624,
    #menu-item-7625,
    #menu-item-7626,
    #menu-item-7627,
    #menu-item-7628 {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

@media screen and (max-width: 1320px) {
    #menu-item-7623,
    #menu-item-7624,
    #menu-item-7625,
    #menu-item-7626,
    #menu-item-7627,
    #menu-item-7628 {
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
}

#icons-mobile {
    position: sticky;
    margin-bottom: 0;
}

.icon-header {
    padding: 0 !important;
}

@media screen and (max-width: 1350px) {
    .icon-header {
        justify-content: left !important;
    }
}

.elementor-search-form__input {
    margin-bottom: 20vh;
}


/*ul.sub-menu.display li:nth-child(5) a{
    color: #fff!important;
  }
}*/

ul.sub-menu.display li a {
    color: #fff!important;
    font-weight: 400 !important;
    font-size: 14px !important;
}


}

/**************  Menu service ***************/
.img-menu-infra {
    width: var(--carre);
    height: var(--carre);
}
@media screen and (max-width: 1024px) {
    .elementor-sticky--effects .l-logo {
        display: block;
    }
}

/******************************/

/******* Menu mobile **********/

/******************************/
@media screen and (max-width: 768px) {
    .elementor-sticky--effects .l-logo {
        display: block;
    }
    
    .main-menu {
        display: none;
    }
    
    .sub-menu-content .elementor-section:first-child {
        padding: 0;
        margin-top: 15vh;
    }
    
    .elementor .elementor-element ul.elementor-icon-list-items {
        display: none;
    }
    
    #actions-right {
        display: none;
    }
}
#actions-right {
    padding: 0;
}
.close-menu {
    display: none;
    position: fixed !important;
    right: 15%;
}
.header-shadow {
    -moz-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
}

/*************************/

/*********** MAP *********/

/*************************/
span.distance {
    float: right;
    font-size: 12px;
    font-style: italic;
}

/***************************/

/********** FOOTER ********/

/***************************/

/* .elementor-element-7fb16ba{
  display:block;
} */
#show {
    cursor: pointer;
}
.footer {
    display: none!important;
}

/**********************************/

/******** boutons refonte ********/

/**********************************/
.bouton-slide,
#sendformentite,
#sendformnewsletter {
  position: relative;
  display: inline-block;
  background-color: var(--e-global-color-c7b2aa4);
  color: #fff;
  overflow: hidden;
  transition: color 0.4s ease;
  border: 2px solid var(--e-global-color-c7b2aa4);
  padding: 18px 36px;

  &.white-violet{
    background-color: #946AAB;
  }

  &::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: var(--e-global-color-efe8bcd);
    transition: all 0.4s ease;
    z-index: 0;
  }

  &:hover::before {
    left: 0;
  }

  span,
  a,
  .elementor-button-text {
    position: relative;
    z-index: 1;
    color: #fff;
    transition: color 0.4s ease;
  }

  &:hover {
    span,
    a,
    .elementor-button-text {
      color: var(--e-global-color-c7b2aa4);
    }

    path {
      stroke: var(--e-global-color-c7b2aa4);
    }
  }
}


.bouton-fleche {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: transparent;
  border: none;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  overflow: visible;
  padding: 12px 0;
  transition: color 0.4s ease;

  &.blanc{
    span,
    a,
    .elementor-button-text {
        color: var(--e-global-color-efe8bcd);
    }

    &::after {
        color: var(--e-global-color-efe8bcd);
    }
  }

  span,
    a,
    .elementor-button-text {
      position: relative;
      z-index: 1;
      color: var(--e-global-color-primary);
      transition: color 0.4s ease;
    }

  /* Ligne animée en dessous du texte */
  &::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: var(--e-global-color-c7b2aa4);
    transition: width 0.4s ease, background-color 0.4s ease;
  }

  /* Flèche à droite du texte */
  &::after {
    content: "➜";
    position: relative;
    font-size: 1.1em;
    margin-left: 10px;
    transition: transform 0.4s ease, color 0.4s ease;
    color: var(--e-global-color-primary);
  }

  /* Effet au survol */
  &:hover {

    &.blanc{
        span,
        a,
        .elementor-button-text {
            color: var(--e-global-color-efe8bcd);
        }
    }
    
    span,
    a,
    .elementor-button-text {
      color: var(--e-global-color-c7b2aa4);
    }

    &::before {
      width: 100%;
    }

    &::after {
      transform: translateX(6px);
      color: var(--e-global-color-c7b2aa4);
    }
  }
}



/*.bouton-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: var(--e-global-color-efe8bcd);
  transition: all 0.4s ease;
  z-index: 0;
}
.bouton-slide:hover::before {
  left: 0;
}
.bouton-slide span,
.bouton-slide a,
.bouton-slide .elementor-button-text {
  position: relative;
  z-index: 1;
}
.bouton-slide:hover {
  color: var(--e-global-color-c7b2aa4);;
}*/

.devis .elementor-button {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    background-color: var( --e-global-color-653f623) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, #8750b6 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis .elementor-button:hover {
    border-color: var( --e-global-color-653f623) !important;
    border: solid 2px;
    background-position: left;
}

.devis-blanc .elementor-button {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    background-color: var( --e-global-color-653f623) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, #8750b6 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis-blanc .elementor-button:hover {
    border-color: var( --e-global-color-653f623) !important;
    border: solid 2px;
    background-position: left;
    background-color: #ffffff!important;
}

.devis-vert .elementor-button {
    fill: var( --e-global-color-1125e90) !important;
    color: var( --e-global-color-1125e90) !important;
    background-color: var( --e-global-color-efe8bcd) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, var( --e-global-color-efe8bcd) 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis-vert .elementor-button:hover {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    border-color: var( --e-global-color-efe8bcd) !important;
    border: solid 2px;
    background-position: left;
    background-color: var( --e-global-color-1125e90)!important;
}

.devis-bleu .elementor-button {
    fill: var( --e-global-color-5fb3703) !important;
    color: var( --e-global-color-5fb3703) !important;
    background-color: var( --e-global-color-efe8bcd) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, var( --e-global-color-efe8bcd) 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis-bleu .elementor-button:hover {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    border-color: var( --e-global-color-efe8bcd) !important;
    border: solid 2px;
    background-position: left;
    background-color: var( --e-global-color-5fb3703)!important;
}

.devis-jaune .elementor-button {
    fill: var( --e-global-color-a04b7b0) !important;
    color: var( --e-global-color-a04b7b0) !important;
    background-color: var( --e-global-color-efe8bcd) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, var( --e-global-color-efe8bcd) 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis-jaune .elementor-button:hover {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    border-color: var( --e-global-color-efe8bcd) !important;
    border: solid 2px;
    background-position: left;
    background-color: var( --e-global-color-a04b7b0)!important;
}

.devis-violet .elementor-button {
    fill: var( --e-global-color-25d0a03) !important;
    color: var( --e-global-color-25d0a03) !important;
    background-color: var( --e-global-color-efe8bcd) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, var( --e-global-color-efe8bcd) 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
    border: solid 2px;
}
.devis-violet .elementor-button:hover {
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    border-color: var( --e-global-color-efe8bcd) !important;
    border: solid 2px;
    background-position: left;
    background-color: var( --e-global-color-25d0a03)!important;
}

/*
.btn-devis a {
  padding: 25px !important;
}

.btn-devis a .fas {
  padding: 25px !important;
  border: 1px #764896 solid;
  border-radius: 50px !important;
}

.btn-devis a:hover .fas {
  border-radius: 50px;
  padding: 25px !important;
  background-color: #764896;
  color: #f3f5fa;
}
.btn-devis a:hover {
  padding: 25px !important;
  color: #764896 !important;
 */

/** ancien bouton devis */
.devis a {
    padding: 25px !important;
}
.devis a .fas {
    padding: 25px !important;
    border: 1px #764896 solid;
    border-radius: 50px !important;
}
.devis a:hover .fas {
    border-radius: 50px;
    padding: 25px !important;
    background-color: #764896;
    color: #f3f5fa;
}
.devis a:hover {
    padding: 25px !important;
    color: #764896 !important;
    background-color: #76489600 !important;
}

/**** nouveau style bouton devis ***/

/*
.devis {
  color: #000;
  font-weight: 500;
  line-height: 1;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left:30px;
  padding-right:50px;
  position: relative;
  border: solid 2px;  
  transition: padding 0.8s;
}
.devis:hover {
padding-right: 80px;
}


.devis::before {
  content: "";
  display: block;
  right: 10%;
  position: absolute;
  top: 50%;
  border-color: #000;
  border-style: solid;
  border-width: 3px 3px  0px 0px;
  height: 8px;
  margin-top: -5px;
  width: 8px;
  transform: rotate( 45deg );
  -webkit-transform: rotate( 45deg );
}

.devis:hover::before,
.devis:hover::after {
  right: 10%;
}

*/
.decouvrir a {
    position: relative;
    text-decoration: none;
    opacity: 50%;
    color: #28313a !important;
}
.decouvrir a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #764896 !important;
    transition: width 500ms ease;
}
.decouvrir a:hover:after {
    width: 100%;
}
.decouvrir a:hover {
    opacity: 100% !important;
    color: #764896 !important;
    background: #fff !important;
}
.plus a {
    position: relative;
    text-decoration: none;
    opacity: 50%;
    padding: 10px !important;
    margin: -10px 0;
}
span.elementor-button-text {
    margin: auto;
}
.elementor-button .elementor-align-icon-right {
    margin-left: 20px;
}
.elementor-button:hover .elementor-align-icon-right {
    margin-left: 40px !important;
    transition: all 1s ease-out;
}

/* button-line */
.button-line a {
    color: white;
    padding: 0.7em calc(0.7em * 1.2);
    display: inline-block;
    border: 2px solid transparent;
    position: relative;
    font-size: 1.5em;
    cursor: pointer;
    letter-spacing: 0.07em;
}
.button-line a:after {
    position: absolute;
    content: "";
    bottom: -2px;
    left: calc(0.7em * 1.2);
    right: calc(0.7em * 1.2);
    height: 2px;
    background: #764896;
    transition: transform 0.8s cubic-bezier(1, 0, 0.37, 1) 0.2s, right 0.2s cubic-bezier(0.04, 0.48, 0, 1) 0.6s, left 0.4s cubic-bezier(0.04, 0.48, 0, 1) 0.6s;
    transform-origin: left;
}
.button-line .line {
    position: absolute;
    background: #764896;
}
.button-line a:hover .text,
.button-line a:active .text {
    transform: translate3d(0, 0, 0);
    transition: transform 0.6s cubic-bezier(0.2, 0, 0, 1) 0.4s;
}
.button-line a:hover:after,
.button-line a:active:after {
    transform: scale3d(0, 1, 1);
    right: -3px;
    left: -3px;
    transform-origin: right;
    transition: transform 0.2s cubic-bezier(1, 0, 0.65, 1.01) 0.17s, right 0.2s cubic-bezier(1, 0, 0.65, 1.01), left 0s 0.3s;
}
.button-line a:hover .line,
.button-line a:active .line {
    transform: scale3d(1, 1, 1);
}

/* button-line vert */
.button-line-vert a {
    color: white;
    padding: 0.7em calc(0.7em * 1.2);
    display: inline-block;
    border: 2px solid transparent;
    position: relative;
    font-size: 1.5em;
    cursor: pointer;
    letter-spacing: 0.07em;
}
.button-line-vert a:after {
    position: absolute;
    content: "";
    bottom: -2px;
    left: calc(0.7em * 1.2);
    right: calc(0.7em * 1.2);
    height: 2px;
    background: #85AD1A;
    transition: transform 0.8s cubic-bezier(1, 0, 0.37, 1) 0.2s, right 0.2s cubic-bezier(0.04, 0.48, 0, 1) 0.6s, left 0.4s cubic-bezier(0.04, 0.48, 0, 1) 0.6s;
    transform-origin: left;
}
.button-line-vert .line {
    position: absolute;
    background: #85AD1A;
}
.button-line-vert a:hover .text,
.button-line-vert a:active .text {
    transform: translate3d(0, 0, 0);
    transition: transform 0.6s cubic-bezier(0.2, 0, 0, 1) 0.4s;
}
.button-line-vert a:hover:after,
.button-line-vert a:active:after {
    transform: scale3d(0, 1, 1);
    right: -3px;
    left: -3px;
    transform-origin: right;
    transition: transform 0.2s cubic-bezier(1, 0, 0.65, 1.01) 0.17s, right 0.2s cubic-bezier(1, 0, 0.65, 1.01), left 0s 0.3s;
}
.button-line-vert a:hover .line,
.button-line-vert a:active .line {
    transform: scale3d(1, 1, 1);
}

/***********************************/

/************ liens ***************/

/**********************************/

/*** test ***/

/*
.button-line {
    position: relative;
    display: inline-block;
    color: #000;
    text-decoration: none;
    border-bottom: rgba(0, 0, 0, 0.164) solid 3px;
    z-index: 100;
  }
  .button-line::after {
    position: absolute;
    content: "";
    display: block;
    width: 0%;
    height: 3px;
    background: #000;
    transition: width 0.3s;
  }
  .button-line:hover::after {
    width: 100%;
    transition: width 0.3s;
  }
*/

/*** test ***/
.lien a {
    position: relative;
    text-decoration: none;
    color: #764896;
    padding: 10px 0;
}
.lien a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #764896 !important;
    transition: width 500ms ease;
}
.lien a:hover:after {
    width: 100%;
}

/**** ? ***/

/**********/
p {
    margin-top: 0;
    margin-bottom: 0rem;
}

/**** ? ***/

/**********/
.lvlsubmenu,
.jet-custom-nav__mega-sub,
.encart-partenaire {
    height: 310px !important;
    min-height: 310px;
    max-height: 310px;
}
.encart-couleur .elementor-image {
    filter: invert(1);
}
.ligne-logo {
    max-height: 80px;
}
.jet-custom-nav__item-2333 {
    padding-bottom: 58px;
}
.encart-partenaire .elementor-widget-wrap {
    align-content: normal;
    align-items: center;
}
.entite-menu-icon i {
    font-size: 1rem;
    margin-right: 10px;
    margin-left: 10px;
}
::selection {
    background-color: #764896;
    color: #ffffff;
}
.elementor-kit-534 h3 {
    font-family: "Cpro font", Sans-serif;
    font-size: 19px;
    font-weight: 600 !important;
}
.number {
    bottom: auto;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 80px !important;
    height: 80px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #eb5c6c;
    font-size: 18px;
    line-height: 22px;
    font-weight: 700;
}

/***********************/

/***** cursor test *****/

/***********************/
.cursor {
    position: absolute;
    background: rgba(121, 52, 161, 0);
    width: 8px;
    height: 8px;
    user-select: none;
    pointer-events: none;
    transform: scale(0.8);
    transition: 0.5s cubic-bezier(0.75, -1.27, 0.3, 2.33) transform, 0.2s cubic-bezier(0.75, -1.27, 0.3, 2.33) opacity;
    border-radius: 100%;
}
.cursor.active {
    opacity: 1;
    transform: scale(8);
    background: rgb(121, 52, 161);
    background-image: url(/Kelnom—Plus.svg);
}

/* elements dans lequels le curseur doit agir */
.element-cursor-plus {
    cursor: none;
}
.element-cursor-devis {
    cursor: none;
}
.element-cursor-video {
    cursor: none;
}

/************************************/

/*********** pop-up modal ***********/

/************************************/
#elementor-popup-modal-15375 {
    padding-top: 1.3vw !important;
}
.elementor-15375::before {
    margin-top: -20px !important;
    background: #fff;
    content: "" !important;
    display: block !important;
    height: 25px !important;
    width: 25px !important;
    right: 15vw !important;
    position: absolute !important;
    -webkit-transform: translateY(1rem) rotate(45deg);
    transform: translateY(1rem) rotate(45deg);
    box-shadow: -10px -10px 0px -4px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: -10px -10px 15px -4px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: -10px -10px 0px -4px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1800px) {
    .elementor-15375::before {
        right: 14.9vw !important;
    }
}
@media screen and (max-width: 1700px) {
    .elementor-15375::before {
        right: 14.8vw !important;
    }
}
@media screen and (max-width: 1600px) {
    .elementor-15375::before {
        right: 14.4vw !important;
    }
}
@media screen and (max-width: 1500px) {
    .elementor-15375::before {
        right: 14.1vw !important;
    }
}
@media screen and (max-width: 1400px) {
    .elementor-15375::before {
        right: 13.7vw !important;
    }
}
@media screen and (max-width: 1300px) {
    .elementor-15375::before {
        right: 13.4vw !important;
    }
}
@media screen and (max-width: 1200px) {
    .elementor-15375::before {
        right: 13.1vw !important;
    }
}
@media screen and (max-width: 1100px) {
    .elementor-15375::before {
        right: 12.6vw !important;
    }
}
@media screen and (max-width: 1025px) {
    .elementor-15375::before {
        display: none!important;
    }
}

}

/*****************************************/
.st-menu a {
    font-size: 1rem!important;
    color: #35395A!important;
    font-weight: 500;
}

/*****************************************/
.overflow {
    overflow: hidden!important;
}

/******************************************/

/********* Page rejoignez nous ************/

/******************************************/
#join-us h2 {
    margin-bottom: 30px;
}
#join-us input {
    margin-bottom: calc(var(--carre) / 4);
    margin-top: calc(var(--carre) / 4);
}
#join-us button {
    border:none;
}

/* #join-us .dropdown-menu {
  margin-bottom : calc(var(--carre) / 4);
  display:none;
} */
#join-us .dropdown-toggle {
    margin-bottom: calc(var(--carre) / 4);
    background-color: #fff;
    color: var( --e-global-color-);
}
#join-us [type=button]:not(:disabled) {
    border: 2px solid var( --e-global-color-);
}
#join-us [type=button]:hover {
    background-color: #fff!important;
    color: var( --e-global-color-);
}
#join-us .fa-street-view {
    display:none!important;
}
#join-us .fa-search {
    display:none!important;
}
#join-us .btns-expansion span {
    display:none!important;
}
#join-us .fa-angle-down {
    display:none!important;
}
#join-us .fa-money {
    display:none!important;
}
#join-us .filter-option:hover {
    border-bottom: 2px solid;
}
#join-us .dropdown-menu.open {
    display:block;
}
#join-us .btn-group.bootstrap-select.show-tick.input-group-btn.form-control:hover .dropdown-menu.open {
    display: block!important;
}
#join-us .btn-group.bootstrap-select.show-tick.form-control.search-by-category:hover .dropdown-menu.open {
    display: block!important;
}
#join-us .btn-group.bootstrap-select.show-tick.form-control.search-by-contract-type:hover .dropdown-menu.open {
    display: block!important;
}

/* #join-us span.filter-option.pull-left::after {
  content: " >";

} */
#join-us .dropdown-menu.open li {
    cursor: pointer;
}
#join-us .fa-refresh::after {
    content: "Rafraîchir ";
    padding: 15px 05px 05px 05px;
    font-family: var( --e-global-typography-accent-font-family),
    Sans-serif;
    font-size: var( --e-global-typography-accent-font-size);
    font-weight: var( --e-global-typography-accent-font-weight);
    letter-spacing: var( --e-global-typography-accent-letter-spacing);
    color: var( --e-global-color-312b93c);
}
#join-us .btn-group.bootstrap-select.show-tick.form-control.search-by-category {
    display :none !important;
}
#join-us .btn-group.bootstrap-select.show-tick.form-control.search-by-contract-type {
    display :none !important;
}
#join-us .form-control.search-salary-input {
    display: none;
}
#join-us .input-block-level.form-control {
    display: none !important;
}
#join-us .dropdown-menu.inner.selectpicker li:nth-child(n+5) {
    display: none!important;
}
#join-us .dropdown-menu.inner.selectpicker li:nth-child(-n+1) {
    display: none!important;
}
#join-us .btns-expansion {
    margin-top: calc(var(--carre) / 2);
}
#join-us .dropdown-menu.inner.selectpicker dt {
    display: none!important;
}
#join-us .btn.btn-xxl.btn-inverse.pull-right.jobApplyBtn {
    margin-top :1vw;
    fill: var( --e-global-color-efe8bcd) !important;
    color: var( --e-global-color-efe8bcd) !important;
    background-color: var( --e-global-color-653f623) !important;
    padding: 20px 16px 16px 10px !important;
    background: linear-gradient(to left, #8750b6 50%, rgb(0 0 0 / 0%) 50%) right;
    background-size: 200%;
    transition: .5s ease-out;
}
#join-us .btn.btn-xxl.btn-inverse.pull-right.jobApplyBtn:hover {
    border-color:var( --e-global-color-653f623) !important;
    border:solid 2px;
    background-position: left;
    padding: 25px !important;
    color: #764896 !important;
    background-color: #76489600 !important;
}