.elementor-561 .elementor-element.elementor-element-465d6585{--display:flex;--min-height:200px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-561 .elementor-element.elementor-element-577e5290{--display:flex;--min-height:600px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--flex-wrap:wrap;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-561 .elementor-element.elementor-element-41ef5507 .elementor-button .elementor-button-content-wrapper{gap:20px;}.elementor-561 .elementor-element.elementor-element-41ef5507 .elementor-button{font-family:"Roboto", Sans-serif;font-size:23px;font-weight:500;line-height:12px;fill:#FFFFFF;color:#FFFFFF;border-radius:10px 10px 10px 10px;padding:30px 30px 30px 30px;}.elementor-561 .elementor-element.elementor-element-786264b0 .elementor-button{font-family:"Roboto", Sans-serif;font-size:23px;font-weight:500;line-height:12px;fill:#FFFFFF;color:#FFFFFF;border-radius:10px 10px 10px 10px;padding:30px 30px 30px 30px;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for button, class: .elementor-element-41ef5507 */.elementor-561 .elementor-element.elementor-element-41ef5507 .elementor-button-text {
    text-align: left; /* Aligne tout le texte à gauche */
}

.elementor-561 .elementor-element.elementor-element-41ef5507 .top-small-text {
    display: block;
    font-size: 20px;
    color: #ffffff;
}

.elementor-561 .elementor-element.elementor-element-41ef5507 .elementor-button-icon{
    font-size: 40px;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-786264b0 *//* Effet gradient hover bouton */

.shine-on-hover {
    border: none;
    outline: none;
    cursor: pointer;
    position: relative;
    z-index: 0;
}

.shine-on-hover:before {
    content: '';
    background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
    position: absolute;
    top: -2px;
    left:-2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing 20s linear infinite;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    border-radius: 10px;
}

.shine-on-hover:active {
    color: #000
}


.shine-on-hover:hover:before {
    opacity: 1;
}

.shine-on-hover:after {
    z-index: -1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 10px;
}

@keyframes glowing {
    0% { background-position: 0 0; }
    50% { background-position: 400% 0; }
    100% { background-position: 0 0; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-743505e5 *//* Soulignement trait sur élément */

.elementor-561 .elementor-element.elementor-element-743505e5::after {
  content: '';
  display: block;
  height: 3px; 
  width: 0px;
  background: transparent;
  transition: width .5s ease, background-color .5s ease;

}

.elementor-561 .elementor-element.elementor-element-743505e5:hover::after {
  width: 40%;
  background: #B67CF9; /*change background here*/
}

/*Grow divider*/

.elementor-561 .elementor-element.elementor-element-743505e5 .elementor-divider-separator{
     transition: transform 0.5s; 
     transform-origin: center !important; 
}

.elementor-561 .elementor-element.elementor-element-743505e5:hover .elementor-divider-separator{
    transform: scaleX(4) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-37213311 */.main-cta1 {
    position: relative;
    overflow: hidden;
    border: 2px solid #000;
    border-radius: 30px;
    padding: 10px 25px;
    background-color: transparent;
    color: #000; 
    text-decoration: none;
    display: inline-block;
    transition: color 0.3s, background-color 0.3s;
}

.main-cta1::after {
    content: ""; /* Pseudo-élément vide */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* La largeur du pseudo-élément est 100% pour le couvrir entièrement */
    height: 100%; /* La hauteur du pseudo-élément est 100% */
    background-color: #000; /* Couleur de fond au survol */
    transform: scaleY(0); /* Initialement pas visible */
    transform-origin: left; /* Point d'origine pour le scaling */
    transition: transform 0.3s ease; /* Transition pour l'animation */
    z-index: -1; /* Positionner derrière le texte */
}

.main-cta1:hover::after {
    transform: scaleX(1); /* Remplir complètement lors du survol */
}

.main-cta1:hover {
    color: #fff; 
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6718d61c */.main-cta2 {
    position: relative;
    overflow: hidden; 
    border: 2px solid #232A43;
    border-radius: 30px;
    padding: 10px 25px;
    background-color: transparent;
    color: #000;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    line-height: 1.5;
    transition: color 0.3s, background-color 0.3s;
    z-index: 1;
}

.main-cta2:hover {
    color: #fff;

}


.main-cta2::before {
    content: "";
    position: absolute; 
    top: 50%;
    right: -4%;
    width: 40px;
    height: 40px; 
    background: #232A43; 
    border-radius: 50%;
    transform: translate(50%, -50%) scale(0);
    transition: transform 0.5s cubic-bezier(0.31, 0.5, 0.37, 0.98);
    z-index: -1;
}

.main-cta2:hover::before {
    transform: translate(0, -50%) scale(10);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-30f6c03a */.main-cta3 {
    position: relative;
    overflow: hidden;
    border: 2px solid #000;
    border-radius: 30px;
    padding: 10px 25px;
    background-color: transparent;
    color: #000;
    text-decoration: none;
    display: inline-block;
    transition: color 0.3s, background-color 0.3s;
    text-align: center; 
    line-height: 1.5; 
}

.main-cta3::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%; 
    background-color: #000;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%; 
    transition: transform 0.8s ease;
    z-index: -1;
}

.main-cta3:hover::after {
    transform: translate(-50%, -50%) scale(1);
}

.main-cta3:hover {
    color: #fff;
}/* End custom CSS */