
/* Général */

:root {
    --neutral-color-1: rgb(38, 38, 38);
    --neutral-color-1-shade-1: rgba(38, 38, 38, .16);
    --neutral-color-2: rgb(255, 250, 250);
    --neutral-color-2-shade-1: rgba(255, 250, 250, .16);
    --main-color: #e84545;
    --main-color-hover: rgba(232, 69, 69, 0.9);
}

* {
    font-family: "Karla", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: var(--neutral-color-1);
}

* ul, a, button {
    background-color: unset;
    text-decoration: none;
    border: none;
    list-style: none;
}

* h1 {
    font-size: 36px;
}

* .divider h2 {
    font-size: 24px;
    margin: 0;
}

* p, span {
    font-size: 16px;
}

* i {
    margin: auto;
}

* h1 {
    font-family: "Noto Sans", sans-serif;
}



*.section-container::before, .section-container::after {
    flex: 1;
    content: '';
    padding: 3px;
    background-color: var(--neutral-color-1);
    margin: 5px;
    height: 1px;
}

body {
    margin: 0;
    background-color: #fffafa;
}

.flex-align {
    display: flex;
    align-items: center;
}

/* TOP BAR */

header {  
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 999;
}

#top-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;  
    padding: 12px 24px;
}


#top-bar-container {
    background-color: var(--neutral-color-2);
    backdrop-filter: none;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}



.button-container button {
    padding: 0;
}



img.logo {
    display: block;
    height: 40px;
}



button.contact-button {
    display: flex;
    align-self: center;
}

/* NAV BUTTON */

button.nav-toggle-button span {
    color: var(--main-color);
    cursor: pointer;
    padding: 0;
    font-size: 32px;
}



.contact-button a {
    background-color: var(--main-color);
    padding: 10px 18px;
    border-radius: 27px; 
    cursor: pointer;
    color: var(--neutral-color-2);

    font-size: 18px;
}

.contact-button a:hover {
    background-color: var(--main-color-hover);
}


/*
----------------
----------------
NAV PANE
----------------
----------------
*/


#nav-pane {
    position: fixed;
    z-index: 1;
    height: 100vh;
    width: 100vw;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform 0.5s ;
    background-color: var(--neutral-color-1);
}

#nav-pane.open {
    transform: translateX(0%);
}

.nav-pane-container {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 24px;
}

.nav-pane-top-bar-container {
    display: flex;
    justify-content: space-between;
    padding: 12px 24px;
}

ul.link-container {
    padding: 0 12px;
    margin: 0 12px;
}

ul.link-container li {
    padding: 16px 0;
    text-align: center;    
    border-bottom: 1px solid var(--neutral-color-2-shade-1);
}

ul.link-container a {
    color: var(--neutral-color-2);
    text-transform: uppercase;
    font-weight: 300;
}

.nav-pane-container .button-container {
    display: flex;
    padding: 14px;
    justify-content: center;
} 

/*
----------------
----------------
SECTION TEXT DIVIDER
----------------
----------------
*/

.divider {
    display: flex;
    justify-content: center; 
    align-items: center;   
}

.divider h2 {
    text-transform: uppercase;
    color: var(--main-color);
}

.divider::after, .divider::before {
    content: "";
    height: 1px;
    background-color: var(--neutral-color-1-shade-1);
    flex-grow: 1;
    margin-left: 8px;
    margin-right: 8px;
}

.divider.dark::after, .divider.dark::before {
    background-color: var(--neutral-color-2-shade-1);
}

/*
----------------
----------------
MAIN CONTAINER
----------------
----------------
*/


.main-container {
    padding: 90px 0;
    display: flex;
    flex-direction: column;
    gap: 50px;
}


/*
----------------
----------------
TEXT CONTAINER
----------------
----------------
*/


.text-container {
    padding: 0 24px;
    line-height: 1.5em;
}


/*
----------------
----------------
FIRST CONTAINER
----------------
----------------
*/

.first-container {
    height: 100vh;
    position: relative;
    background: linear-gradient(to bottom, rgba(232, 69, 69, 0.5), 20%, rgba(255, 255, 255, 0.9) ),
     url("/images/layout.jpg")  ;
    background-size: cover;
    background-position: 30%;
    /*height: 100vh;*/

    /*
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
    */

}

.first-container img {
    display: none;
    height: 100vh;
    width: 100vh;
    object-fit: cover;
    object-position: 50%;
    /*filter: blur(.8px) grayscale();*/
}

.first-text-container {
    position: absolute;
    bottom: 10%;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding: 0 24px; 
    gap: 50px; 
}

.first-container h1 {
    color: var(--neutral-color-1);
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0px; 
}

.first-container .list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.first-container .list div {
    display: flex;
    align-items: center;
    
    
}

.first-container .list .bullet {
    font-size: 10px;
    padding-right: 10px;
    color: var(--main-color);
}

.first-container .list .text {
    align-self: center;
    font-size: 20px;
    color: var(--neutral-color-1);
    font-weight: bold;
    
}

.first-container button {
    margin-left: auto;
    margin-right: auto;
}


/*
----------------
----------------
SERVICE
----------------
----------------
*/

div.project-type-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

div.project-type-container h3 {
    font-size: 20px;
    text-transform: uppercase;
}

div.service-container button {
    display: block;
}






/*
----------------
----------------
EXPERTISE
----------------
----------------
*/



div.liste-expertise {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 0 24px;

    text-align: center;
}

div.liste-expertise .grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 8px;
    gap: 12px;
    background-color: var(--neutral-color-2);
    border: var(--neutral-color-1-shade-1) 1px solid;
}

img.expertise {
    min-width: 80px;
    width: 45%;
    max-width: 110px;
    margin: 12px;
}

p.text-expertise {
    margin: 0;
    text-transform: uppercase;
}

/*
----------------
----------------
BORDER BOTTOM ANIMATION
----------------
----------------
*/

.border-bottom-animation .grid-item {
    transition: border-bottom-color 0.3s ease;
    position: relative;
}

.border-bottom-animation .grid-item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--main-color);
    transition: width 0.3s ease;
}

.border-bottom-animation .grid-item:hover::before {
    width: 100%;
}


/*
----------------
----------------
VALEUR
----------------
----------------
*/



div.liste-valeur {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    margin-left: auto;
    margin-right: auto;

}

div.liste-valeur {
    display: flex;
    justify-content: center;
    grid-template-columns: 33% 33% 33%;
    grid-column-gap: 24px;
}


/*
div.liste-valeur {
    display: grid;
    justify-content: center;
    grid-template-columns: auto auto auto;
    grid-row-gap: 24px;
}
    

div.text-container.dark p {
    color: var(--neutral-color-2);
    font-weight: 300;
}
*/

.liste-valeur .grid-item {
    display: flex;
    align-items: center;

    padding: 8px;
    gap: 12px;

    border: 1px var(--neutral-color-1-shade-1) solid;
}

p.text-valeur {
    text-transform: uppercase;
    margin: 0;
}

span.icon-valeur {
    color: var(--main-color);
    font-size: 24px;
}

/*
----------------
----------------
COLLABORATEUR
----------------
----------------
*/

div.liste-collaborateur {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;

    margin: 0 24px;
    margin-top: 16px;
    column-gap: 24px;
}

.liste-collaborateur .grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px var(--neutral-color-1-shade-1) solid;
}

.liste-collaborateur .info-container {
    gap: 5px;
    padding: 8px;
    width: 70%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

i.icon-collaborateur {
    color: var(--main-color);
    font-size: 22px;
}

img.image-collaborateur {
    display: block;
    margin: 12px;
    border-radius: 50%;

    min-width: 120px;
    width: 80%;
    max-width: 190px;
}


/*
----------------
----------------
CONTACT
----------------
----------------
*/

/*
.contact-button {
    display: flex;
    align-items: center;
    margin: 0 auto;

    padding: 12px 24px;
    border-radius: 4px;
    border: 1px solid var(--neutral-color-1);

    font-size: 19px;
    color: var(--neutral-color-1);

    cursor: pointer;
    z-index: 1;
    transition: all 0.2s ease-in;
    position: relative;
    overflow: hidden;

}
  
.contact-button:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleY(1) scaleX(1.25);
    top: 100%;
    width: 140%;
    height: 180%;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
}
  
.contact-button:after {
    content: "";
    position: absolute;
    left: 55%;
    transform: translateX(-50%) scaleY(1) scaleX(1.45);
    top: 180%;
    width: 160%;
    height: 190%;
    background-color: var(--main-color);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
}
  
.contact-button:hover {
    color: var(--neutral-color-2);
    border: 1px solid var(--main-color);
}
  
.contact-button:hover:before {
    top: -35%;
    background-color: var(--main-color);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}
  
.contact-button:hover:after {
    top: -45%;
    background-color: var(--main-color);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}
*/


/*
----------------
----------------
FOOTER
----------------
----------------
*/


footer {
    padding: 12px;
    background-color: var(--neutral-color-1);
}

.footer-container {
    margin: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

footer img {
    width: 160px;
}

.footer-text-container {
    padding: 0;
}

.footer-text-container li {
    color: var(--neutral-color-2);
}


@media screen and (min-width: 650px){

    .main-container {
        padding: 75px 24px;
    }

    h1 {
        font-size: 64px;
    }
    
    * .divider h2 {
        font-size: 40px;
    }
    
    p, span {
        font-size: 20px;
    }


    div.liste-valeur .grid-item {
        padding: 18px;
    }

    div.project-type-container .text-container {
        box-shadow: -5px 0px 0px 0px var(--main-color)
    }

    div.liste-valeur {
        display: grid;
        justify-content: center;
        grid-template-columns: auto auto auto;
        grid-row-gap: 24px;
    }

}


@media screen and (min-width: 800px){ 
    .main-container {
        max-width: 800px;
        margin: 0 auto;
        gap: 75px;
    }

    div.project-type-container {
        gap: 50px;
    }

    div.liste-expertise {
        grid-template-columns: 1fr 1fr 1fr;
    }

}

@media screen and (min-width: 1000px) {  

    /*
    ----------------
    ----------------
    TOP BAR AND NAV PANE
    ----------------
    ----------------
    */

    /*
    .first-container {
        height: 100vh;
        display: grid;
        grid-template-columns: 50% 50%;
        align-items: center;
        background:none;
    }

    .first-container img {
        display: block;
        width: 100%;
        object-fit: cover;
    }

    .first-text-container {
        text-align: center;
        align-items: center;
        position: unset;
        gap: 100px;
        
    }
    */

    .first-container {
        height: 100vh;
        align-items: center;
        background:none;
        display: grid;
        grid-template-columns: 50% 50%;
        position: relative;
    }

    .first-container img {
        position: absolute;
        display: none;
        width: 100%;
        object-fit: cover;
    }

    .first-container .img-background {
        position: absolute;
        height: 100%;
        width: 100%;
        background-image: linear-gradient(to right, rgba(255, 250, 250, 1), 65%,  rgba(232, 69, 69, 0.2)) , url("/images/layout.jpg");
        background-size: cover;
    }

    .first-text-container {
        z-index: 1;
        position: unset;
        text-align: center;
        align-items: center;
        height: 100%;
        width: 100%;
        gap: 80px;
        bottom: 0;
        justify-content: center;
    }
    
    
    


    #top-bar-container { 
        padding: 20px 24px;
        width: unset;
        justify-content: center;
        /*gap: 40px; ne permet pas de center car le logo n'est pas dans la même div => margin-right sur le logo*/
    }

    #nav-pane {
        height: unset;
        width: unset;
        transform: none;
        transition: transform 0.5s ;
        background-color: unset;
        position: unset;
    }


    .nav-pane-container .button-container {
        display: none;
    }

    .nav-pane-top-bar-container {
        display: none;
    }

    #menu-button {
        display: none;
    }

    img.logo {
        height: 50px;
        margin-right: 40px;
    }

    ul.link-container {
        display: flex;
        gap: 20px;
        margin: 0;
    }

    ul.link-container li{
        border-bottom: unset;
    }

    ul.link-container li a {
        font-weight: 600;
        color: var(--neutral-color-1);
    }

    ul.link-container li a:hover {
        color: var(--main-color);
    }


    .nav-pane-container .button-container {
        width: unset;
    }

    


    /*
    ----------------
    ----------------
    SERVICE
    ----------------
    ----------------
    */  
    
    
}




