.elementor-589 .elementor-element.elementor-element-8ff1105{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:2%;--padding-bottom:3%;--padding-left:0%;--padding-right:0%;}.elementor-589 .elementor-element.elementor-element-642cbb3{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-589 .elementor-element.elementor-element-642cbb3 .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:35px;font-weight:300;color:#323232;}.elementor-589 .elementor-element.elementor-element-7f4f10c{width:100%;max-width:100%;text-align:start;}.elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title{font-family:"Open Sans", Sans-serif;font-size:25px;font-weight:300;color:#959292;}.elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title a:hover, .elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title a:focus{color:#000000;}.elementor-589 .elementor-element.elementor-element-b9a1b2a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:0em;--padding-bottom:7em;--padding-left:1em;--padding-right:1em;}.elementor-589 .elementor-element.elementor-element-aeffcc2{--display:flex;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-589 .elementor-element.elementor-element-5cdada7{--display:flex;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-589 .elementor-element.elementor-element-b9a1b2a{--padding-top:4em;--padding-bottom:3em;--padding-left:2em;--padding-right:2em;}.elementor-589 .elementor-element.elementor-element-aeffcc2{--margin-top:0em;--margin-bottom:2.5em;--margin-left:0em;--margin-right:0em;}.elementor-589 .elementor-element.elementor-element-5cdada7{--margin-top:0em;--margin-bottom:2.5em;--margin-left:0em;--margin-right:0em;}}@media(max-width:767px){.elementor-589 .elementor-element.elementor-element-b9a1b2a{--padding-top:06em;--padding-bottom:06em;--padding-left:1.5em;--padding-right:1.5em;}.elementor-589 .elementor-element.elementor-element-aeffcc2{--margin-top:0em;--margin-bottom:2em;--margin-left:0em;--margin-right:0em;}.elementor-589 .elementor-element.elementor-element-5cdada7{--margin-top:0em;--margin-bottom:2em;--margin-left:0em;--margin-right:0em;}}/* Start custom CSS for heading, class: .elementor-element-642cbb3 */.elementor-589 .elementor-element.elementor-element-642cbb3 .elementor-heading-title {
    position: relative !important;
    display: inline-block !important;

    font-family: "Lato", Sans-serif !important;
    font-size: 35px !important;
    font-weight: 300 !important;
    color: #323232 !important;

    padding-bottom: 5px !important;

    opacity: 0;
    transform: translateY(10px);

    animation: titleReveal 0.8s ease-out forwards;
}

/* Trait rouge sous le titre */
.elementor-589 .elementor-element.elementor-element-642cbb3 .elementor-heading-title::after {
    content: "";
    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 4px;

    background: #c80000;

    transform: translateX(-50%);

    animation: titleLine 0.6s ease-out 0.5s forwards;
}

/* Apparition du titre */
@keyframes titleReveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Trait qui se dessine */
@keyframes titleLine {
    from {
        width: 0;
    }

    to {
        width: 45px;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7f4f10c */.elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title {
    position: relative !important;
    display: inline-block !important;

    font-family: "Open Sans", sans-serif !important;
    font-size: 25px !important;
    font-weight: 300 !important;
    color: rgb(149, 146, 146) !important;
}

/* Flèche avant le texte */
.elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title::before {
    content: "←";

    display: inline-block !important;

    margin-right: 10px !important;

    color: #C80000 !important;
    font-size: 25px !important;
    font-weight: 300 !important;

    transition: transform 0.3s ease !important;
}

/* Petit mouvement au survol */
.elementor-589 .elementor-element.elementor-element-7f4f10c .elementor-heading-title:hover::before {
    transform: translateX(-5px) !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-fe9d783 *//* =========================================
   MAIN PROJECT GRID
   ========================================= */

.portfolio-status-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
}


/* =========================================
   PROJECT CARD
   ========================================= */

.portfolio-loop-item {
    position: relative;
    width: 100%;
    min-width: 0;
    height: 300px;
    overflow: hidden;

    background-image: var(--portfolio-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =========================================
   ELEMENTOR LOOP ITEM
   ========================================= */

.portfolio-loop-elementor {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}


/* =========================================
   ELEMENTOR ROOT
   ========================================= */

.portfolio-loop-elementor > .elementor {
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
}


/* =========================================
   ELEMENTOR CONTAINERS
   ========================================= */

.portfolio-loop-elementor .e-con,
.portfolio-loop-elementor .elementor-element {
    max-width: 100%;
}


/* =========================================
   REMOVE UNWANTED GREY BACKGROUND
   ========================================= */

.portfolio-loop-elementor .e-con {
    background-color: transparent;
}


/* =========================================
   IMAGES
   ========================================= */

.portfolio-loop-elementor img {
    max-width: 100%;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .portfolio-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .portfolio-status-grid {
        grid-template-columns: 1fr;
        gap: 2px;
    }

}/* End custom CSS */