:root {
    /* Typographie */
    --font-title: "N27", Sans-serif;
    --font-text: "Inter", Sans-serif;

    /* Layout */
    --admin-bar: 32px;
    --px-global: 56px;
    --listing-gap: 2px;
    --header-height: 100px;
    --site-container-width: 1340px;

    /* Couleurs Principales */
    --orange: #FF7300;
    --lila: #D3B5F3;
    --jaune: #F8D544;
    --vert: #6DD696;
    --gris: #DDD7CE;
    --blanc:  #FFFFFF;
    --noir:  #101010;
}

.clr-primary{
    color: var(--orange);
}

.clr-secondary{
    color: var(--lila);
}

.clr-text{
    color: var(--noir);
}

.font-title-family{
    font-family: var(--font-title) !important;
}

.font-text-family{
    font-family: var(--font-text) !important;
}

.normal-case{
    text-transform: capitalize !important;
}

.elementor-button-link{
    display: flex !important;
    align-items: center;
    gap: 4px;
}

.elementor-button-link::before{
    content: ">";
    font-size: 15px;
    display: block;
    color: var(--noir);
}

.icon-orange .elementor-button-link::before{
    color: var(--orange);
}

.icon-jaune .elementor-button-link::before{
    color: var(--jaune);
}

.icon-white .elementor-button-link::before{
    color: var(--blanc);
}

.icon-vert .elementor-button-link::before{
    color: var(--vert);
}

/* .hero,
.hero-ingenerie{
    margin-top: calc(var(--header-height) * -1) !important;
} */

.page-id-8 #content,
.page-id-76 #content{
    margin-top: calc(var(--header-height) * -1) !important;
}

.hero-ingenerie{
    height: 80vh !important;
    min-height: 1000px !important;  
}

@media only screen and (min-width: 1600px){
    .hero-ingenerie{
        min-height: 1000px !important;
    }
}

.hero-content{
    position: absolute !important;
    left: 50% !important;
	top: 50% !important;
    transform: translate(-50%, -50%) !important;
	z-index: 1;
}

.block-dnelx10{
    max-width: 520px !important;
}

.highlighted-title{
    background-color: var(--noir);
    color: var(--blanc);
    padding: 8px;
    display: inline-block;
    transform: rotate(-2deg) !important;
}

.highlighted-title.style-2{
    background-color: var(--gris);
    color: var(--noir);
    transform: unset !important;
}

.highlighted-title.style-3{
    padding: 2px 24px !important;
}

.highlighted-title.style-4{
    transform: rotate(1deg) !important;
}

.is-pushed-bottom{
    margin-top: auto !important;
}

.block-nvfr289{
    width: 41px !important;
    height: 50px !important;
}

.block-dnsmop09,
.block-vfrnhj2{
    max-width: 430px !important;
}

.block-nvcx90{
    max-width: 350px !important;
}

.block-dbv782{
    max-width: 640px !important;
}

.overflow-x-clipped{
    overflow-x: clip !important;
}

.weight-black{
    font-weight: 900 !important;
}

.grid-nvrj09 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  max-width: 750px !important;
}

.grid-nvrj09 > *:last-child {
  grid-column: 2;    /* Colonne de droite */
  grid-row: 1 / 3;   /* Prend de la ligne 1 à 3 (toute la hauteur) */
}

.block-hnv1cx{
    max-width: 340px !important;
}

.footer-newsletter label{
    color: var(--gris) !important;
    font-size: 11px !important;
    margin-bottom: 4px !important;
    display: block !important;
}

.footer-newsletter input{
    background-color: #353535 !important;
    border: 1px solid var(--orange) !important;
    padding: 8px !important;
    height: 36px !important;
    width: 100% !important;
    color: var(--gris) !important;
}

.footer-newsletter .wpforms-submit{
    background-color: var(--orange) !important;
    height: 36px !important;
    padding: 0 !important;
    width: 100% !important;
    margin-top: 4px !important;
    color: var(--noir) !important;
}

.footer-newsletter .wpforms-required-label{
    display: none !important;
}

.hero-bg img{
    min-height: 700px !important;
    object-fit: cover !important;
}

.flex-logo img{
    width: fit-content !important;
}

.hero-content-2{
    max-width: 600px !important;
}

.block-zpoefrz{
    max-width: 370px !important;
}

.block-fcned82{
    max-width: 400px !important;
}

.block-drfod1{
    max-width: 665px !important;
}

/* .page-content > div > div{
    overflow-x: clip !important;
} */

/* html, body {
    width: 100% !important;
    overflow-x: hidden !important;
    position: relative !important; 
} */

#content{
    overflow-x: clip !important;
}

.block-vred2901{
    max-width: 570px !important;
}

.img-soxnas092 img{
    margin-right: -5em !important;
}

.block-xvbr{
    max-width: 550px !important;
}

.text-eunczo{
    max-width: 320px !important;
}

.block-dbc782x{
    max-width: 480px !important;
}

.text-driemp9{
    margin-top: 16px;
    font-weight: black;
    display: block;
    transform: rotate(1deg);
}

.block-deubov81{
    margin-left: -4em !important;
}

.block-debi190{
    max-width: 350px !important;
}

.block-deub289{
    max-width: 560px !important;
}

[type="email"],
[type="text"],
textarea{
    border: none !important;
    background-color: #CAC2B7 !important;
    padding: 13px 16px !important;
}


#wpforms-form-1187 .wpforms-field-container{
    display: flex !important;
    gap: 16px 4px !important;
    flex-wrap: wrap !important;
}

#wpforms-form-1187 [data-field-id="3"]{
    width: 100% !important;
}

#wpforms-form-1187 [data-field-id="2"],
#wpforms-form-1187 [data-field-id="4"],
#wpforms-form-1187 [data-field-id="5"],
#wpforms-form-1187 [data-field-id="6"]{
    width: calc(100% / 2 - 4px + 4px / 2) !important;
}

.wpforms-field {
    padding: 0 !important;
}

#wpforms-form-1187 .wpforms-submit{
    width: 100% !important;
    background-color: var(--orange) !important;
    color: var(--noir) !important;
    padding: 24px !important;
    margin-top: 16px !important;
}














@media only screen and (max-width: 1600px) and (min-width: 0px){
    .img-nxmp2X{
        right: -5em;
    }
}

@media only screen and (max-width: 1500px) and (min-width: 0px){
    .block-deubov81{
        margin-left: -2em !important;    
    }
}

@media only screen and (max-width: 1400px) and (min-width: 0px){
    .img-nxmp2X{
        right: -1em;
    }

    .img-nxmp2X img{
        min-width: 120%;
    }
}

@media only screen and (max-width: 1340px) and (min-width: 0px){
    .block-nvhdux8{
        padding-left: var(--px-global) !important;
    }

    .block-dnvls09{
        width: fit-content !important;
        flex: none !important;
    }

    .block-ampde78 > .e-con-inner{
        gap: 24px !important;
    }

    .block-hnv1cx{
        max-width: 250px !important;
    }

    .dynamic-padding-left{
        padding-left: var(--px-global) !important;
    }
}

@media only screen and (max-width: 1240px) and (min-width: 767px){
    .flex-nbrpa90{
        margin-left: -16px !important;
    }

    .flex-nbrpa90 > * svg{
        height: 120px !important;
    }

    .flex-nbrpa90 > *{
        width: calc(100% / 4 - 29px + 29px / 4) !important;
        flex: none !important;
    }
}

@media only screen and (max-width: 1240px) and (min-width: 0px){
    .block-cnveo25{
        padding-right: var(--px-global) !important;
    }

    .block-dnvls09{
        width: 50% !important;
    }

    .flex-dnv9x24{
		overflow: scroll !important;
		flex-wrap: nowrap !important;
	}

    .flex-dnv9x24 > *{
		flex: none !important;
		max-width: calc(100vw / 3 - 48px) !important;
	}

    .block-feoud10{
        /* padding-left: 56px !important; */
    }
}

@media only screen and (max-width: 1150px) and (min-width: 0px){

}

@media only screen and (max-width: 1024px) and (min-width: 0px){
    :root {
        --px-global: 24px;
        --header-height: 70px;
    }

    .block-dnvls09{
        width: 100% !important;
    }

    .block-dnsmop09{
        width: 100% !important;
        max-width: calc(var(--site-container-width) / 2) !important;
    }

    .flex-nbrpa90{
        margin-left: 0px !important;
    }

    .block-ampde78 > .e-con-inner{
        gap: 48px !important;
        flex-direction: column !important;
    }

    .block-hnv1cx{
        max-width: 340px !important;
    }

    .hero-content-2{
        padding-left: var(--px-global) !important;
        padding-right: var(--px-global) !important;
    }

    .block-531d81f{
        flex-wrap: wrap !important;
    }

    .block-531d81f > *{
        width: calc(100% / 6 - 24px + 24px / 6) !important;
    }
}

@media only screen and (max-width: 993px) and (min-width: 0px){
    :root {
        --admin-bar: 46px;
    }
}

@media only screen and (max-width: 767px) and (min-width: 0px){
    :root {
        --px-global: 16px;
    }

    .is-pushed-right{
        margin-left: initial !important;
    }

    .flex-dnv9x24 > *{
		max-width: calc(66vw) !important;
	}

    .block-dbv782{
        max-width: 100% !important;
    }

    /* .flex-nbrpa90{
        gap: 8px !important;
        justify-content: space-between !important;
    }

    .flex-nbrpa90 .elementor-icon{
        width: 100% !important;
    }

    .flex-nbrpa90 > * svg{
        width: 100% !important;
        height: unset !important;
    } */

    .block-nvhdux8{
        /* padding-left: 0px !important; */
    }

    .hero-bg{
        height: 100% !important;
    }

    .hero-bg img{
        min-height: unset !important;
        height: 100% !important;
    }

    .hero{
        min-height: 100vh !important;
    }

    .hero-content{
        position: relative !important;
        left: unset !important;
        top: unset !important;
        transform: unset !important;
    }

    .hero-bg{
        position: absolute !important;
        top: 0 !important;
    }

    .img-nxmp2X {
        right: -2em;
    }

    .img-nxmp2X img {
        min-width: 100%;
    }

    .grid-nvrj09 {
        display: flex !important;
		overflow-x: scroll !important;
        overflow-y: hidden !important;
		touch-action: pan-x;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
		flex-wrap: nowrap !important;
        flex-direction: row !important;
	}

    .grid-nvrj09 > *{
		flex: none !important;
		max-width: calc(66vw) !important;
	}

    .hero-ingenerie{
        height: 70vh !important;
        min-height: unset !important;  
    }

    .footer-encart-logos{

    }

    .footer-encart-logos > *{

    }

    .img-soxnas092 img{
        margin-right: 0 !important;
        max-width: 90% !important;
    }

    .block-531d81f > *{
        width: calc(100% / 6 - 16px + 16px / 6) !important;
    }

    .block-dbc782x{
        max-width: 100% !important;
    }

    .block-deubov81{
        margin-left: -1em !important;    
    }

    .block-icon-head img{
        height: 60px !important;
    }

}

