/* GLOBAL */
:root {
    --noir: #000000;
    --gris: #2E2E2E;
    --blanc: #FFFFFF;
    --rouge_grenadine: #DD5555;
    --transparent: #00000000;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-style: normal;
    color: var(--gris);
}

.container{
    width: 90%;
    height: auto;
    margin: auto;
}

h1{
    color: var(--blanc);
    font-size: 4.5rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}

h2{
    font-size: 3.6rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

h3{
    font-size: 2.8rem;
    font-weight: 700;
}

hr{
    border-color: rgba(255, 255, 255, 0.7);
    margin: 2rem 0;
}

/* HEADER : HAUT DE PAGE */
.header{
    background-color: var(--rouge_grenadine);
    width: 100%;
    padding: 2rem 0;
    /* position: fixed; */
}

.rubrique {
    overflow: hidden;
    clear: both;
    max-height: 0;
    transition: max-height .2s ease-out;
}
  
.rubrique a {
    display: block;
    padding: 2rem;
    text-decoration: none;
    text-align: center;
    color: var(--blanc);
    transition: background-color .2s ease-in-out;
}

.rubrique a:first-child{
    margin-top: 1rem;
}

.rubrique a:hover, .btn_menu:hover {
    transform: scale(1.1);
    background-color: rgba(0, 0, 0, 0.25);
}

/* MENU BURGER */    
.menu_icone {
    display: flex;
    flex-direction: row;
    justify-content: end;

    cursor: pointer;

    margin-top: -1.5rem;
    padding: 0.2rem;
    position: relative;
    user-select: none;
}
  
.nav_icone {
    background-color: var(--blanc);
    display: block;
    height: 0.35rem;
    position: relative;
    transition: .2s ease-out;
    width: 2.5rem;
}
  
.nav_icone:before, .nav_icone:after {
    content: '';
    background-color: var(--blanc);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
}
  
.nav_icone:before {
    top: 1rem;
}
  
.nav_icone:after {
    top: -1rem;
}
    
.btn_menu {
    display: none;
}
  
.header .btn_menu:checked ~ .rubrique {
    max-height: 30rem;
}
  
.header .btn_menu:checked ~ .menu_icone .nav_icone {
    background: transparent;
}

.header .btn_menu:checked ~ .menu_icone .nav_icone:before {
    transform: rotate(-45deg);
}

.header .btn_menu:checked ~ .menu_icone .nav_icone:after {
    transform: rotate(45deg);
}

.header .btn_menu:checked ~ .menu_icone:not(.steps) .nav_icone:before,
.header .btn_menu:checked ~ .menu_icone:not(.steps) .nav_icone:after {
    top: 0;
}
  
/* HERO : ZONE DE CONTACT */
.hero{
    background-image: url("../img/fond_app.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.div_hero{
    padding: 25rem 0;
}

.div_hero p{
    color: var(--blanc);
    font-size: 2.4rem;
    text-align: center;
}

.div_btn{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.btn_blanc{
    padding: 1rem 2.5rem;
    font-size: 1.8rem;
    text-decoration: none;
    color: var(--gris);
    background-color: var(--blanc);
    border-radius: 0.5rem;
}

.btn_blanc:hover {
    background-color: var(--rouge_grenadine);
    color: white;
}

.btn_blanc::before{
    content: "";
    display: inline-block;
    width: 2rem;
    height: 1.5rem;
    margin-right: 1rem;
}

.btn_blanc:nth-of-type(1)::before{
    background: url("../img/like.svg") no-repeat;
}


.btn_blanc:nth-of-type(2)::before{
    background: url("../img/coeur.svg") no-repeat;
}

.btn_blanc:nth-of-type(3)::before{
    background: url("../img/panier_shopping.svg") no-repeat;
}

.btn_blanc:hover::before{
    filter: brightness(0%) invert(1);
}

/* SECTION : SERVICES */
.services, .equipe{
    background-color: var(--blanc);
    width: 100%;
}

.section_service, .equipe{
    padding: 5rem 0;
}

.section_service h2{
    color: var(--gris);
}

.div_services, .div_equipe{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 3rem;
}

.card_services, .card_equipe{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.card_services div{
    background-color: var(--rouge_grenadine);
    border-radius: 50%;
    width: 9rem;
    height: 9rem;
    margin: 2rem auto;

    display: flex;
    justify-content: center;
    align-items: center;
}

.card_services img{
    width: 4rem;
    height: 5.5rem;
}

/* SECTION : FOND EQUIPE */
.fond_team{
    padding: 3rem 0;
    background-image: url("../img/team.png");
    background-position: top ;
    background-repeat: no-repeat;
    background-size: cover; 
}

.fond_team h2{
    font-size: 4.8rem;
    color: var(--blanc);
    font-weight: 700;
    text-align: center;
    text-transform:none;
}

/* SECTION : PRESENTATION EQUIPE */
.card_equipe{
    gap: 1.5rem;
}

.card_equipe img{
    border-radius: 50%;
}

.btn_rouge{
    padding: 1rem 2.5rem;
    font-size: 1.8rem;
    text-decoration: none;
    color: var(--blanc);
    background-color: var(--rouge_grenadine);
    border-radius: 0.5rem;
    transition: background-color .2s ease-in-out;
}

.btn_rouge:hover, .btn_rouge:focus{
    background-color: #da7b7b;
}

.btn_rouge::before{
    content: "";
    display: inline-block;
    width: 2rem;
    height: 1.5rem;
    margin-right: 1rem;
    margin-bottom: -0.1rem;
    background: url("../img/enveloppe.svg") no-repeat;
    background-size: 100%;
}

/* FORMULAIRE DE CONTACT */
.contact{
    background-color: var(--rouge_grenadine);
    padding: 4rem 0;
}

.div_contact h2{
    color: var(--blanc);
}

.infos_form{
    display: flex;
    flex-direction: column;
    color: var(--blanc);
}

.div_formulaire{
    margin-top: 3rem;
}

.div_formulaire input, textarea{
    border:none;
    border-radius: 0.2rem;
    padding: 0.8rem;
    margin-bottom: 2rem;
}

.div_soumission{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.div_soumission button{
    padding: 1rem 2rem;
    border: none;
    border-radius:0.4rem;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}




/*Media queries mobile first*/
@media (min-width: 576px) {
    .container{
        width: 85%;
    }

    .rubrique {
      display: flex;
      flex-direction: row;
      align-items: center;
      max-height: none;
      clear: none;
    }

    .header .menu_icone {
      display: none;
    }

    .div_header{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .rubrique a{
        padding: 1rem 2rem;
        border-radius: 0.2rem;
    }
    .rubrique a:first-child{
        margin-top: 0;
    }
    .div_btn{
        display: flex;
        flex-direction: row;
    }
  }
  
@media only screen and (min-width: 768px){
    .div_header{
        display: flex;
        justify-content: flex-start;
    }
    .div_header img{
        margin-right: 2rem;
    }

    .div_hero{
        width: 60%;
    }

    .div_services, .div_equipe{
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .div_nom-mail{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        align-items: center;
        gap: 2rem;
    }
}

@media only screen and (min-width: 992px) {
    .container{
        width: 90%;
    }
    .div_hero{
        width: 50%;
    }

    .div_services{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .div_equipe{
        grid-template-columns: repeat(4, 1fr);
    }

}

@media only screen and (min-width: 1200px){
    .div_hero{
        width: 38%;
    }

    .fond_team{
        padding: 7rem 0;
    }

    .div_formulaire{
        width: 60%;
        margin: auto;
    }
}