body {
    position: relative;
}

/* HEADER */
header {
    height: 100vh;
    background: url('../img/bg-home-page.jpg');
    background-position: center;
    background-size: cover;
    box-shadow: 2px 2px 10px black;
    background-attachment: fixed;

}

div.content-header {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}


header h1 {
    font-family: var(--logo-ff);
    font-weight: 400;
    font-style: italic;
    font-size: 13rem;

    text-align: center;
    color: white;
    margin-top: 4rem;
}

header h2 {
    font-size: 4rem;
    color: white;
    font-weight: 300;
    text-align: center;
}

button {
    border-radius: 40px;
    padding: 4px;
    background-color: white;
}

button:hover {
    cursor: pointer;
}

i.bx-search-alt-2 {
    font-size: 2rem;
}

/* MAIN */

div.infographies {
    display: flex;
    justify-content: center;
    
    flex-wrap: wrap;
    gap: 3rem;
    margin: 2rem;

}

div.infographies div {
    display: flex;
    justify-content: center;
    align-items: center;

    flex-direction: column;
    text-align: center;

    background-color: #FAFAFA;
    border-radius: 20px 20px 50px 50px;
    border: 1px solid black;
    padding: 2rem;

    min-width: 300px;

}

div.infographies i {
    font-size: 3rem;
}

div.infographies div p {
    font-size: 2rem;
    width: 20vw;
    min-width: 150px;
    
}

/* Section de la barre de recherche */
section.search-section {
    height: 250px;
    background-color: #fafafa;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 3rem 0 5rem 0;
}

div.search-bar {
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    position: relative;
}


div.search-bar input[type='search'] {
    padding: 12px 30px;
    width: 80vw;
}

    /* RESULTS SEARCH BAR */
div.result-search-bar {
    position: absolute; 
    top: 43px;
    left: 60%;
    transform: translateX(-60%);

    display: none;
    flex-direction: column;

    background-color: white;
    width: 80vw;
    overflow-y: scroll;
    max-height: 250px;
    z-index: 997;
}

div.result-search-bar a {
    text-decoration: none;
    display: none;
}

div.result-search-bar a:hover section,
div.result-search-bar a:hover {
    background-color: #fafafa;
}

div.result-search-bar a section {
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: white;
    height: 6rem;
    gap: 4rem;
    text-align: center;
}
div.result-search-bar a section div.infos {
    display: flex;
    flex-direction: column;
    color: black;
    font-size: 1.2rem;
    align-items: start;
}

div.result-search-bar a section img {
    width: 150px;
    height: 100%;
    object-fit: cover;

}


/* Div Récemment ajoutés */
div.recent-adds {    
    display: flex;
    justify-content: center;

    margin: 4rem auto;

    flex-direction: column;
    width: 80%;
    overflow-x: hidden;
    padding: 2rem;
}

div.recent-adds a {
    text-decoration: none;
    transition: filter 0.6s ease-in;
}

div.recent-adds h3 {
    font-size: 3rem;
    margin-bottom: 2rem;
}

section.list-sections {
    display: flex;
    align-items: center;
    gap: 4rem;
    
    position: relative;
    left: 0%;
    transition: left 0.4s ease;

    transition: transform 0.4s ease;
    will-change: transform;
}

section.list-sections a {
    max-width: 350px;
    width: 100%;
}

section.list-sections section {
    color: white;
    border-radius: 0 0 20px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    box-shadow: 2px 2px 4px black;
    gap: 0.6rem;
    padding-bottom: 2rem;
    position: relative;

}

section.list-sections section img {
    height: 250px;
    border-radius: 0 0 20px 20px;
    object-fit: cover;
}

section.list-sections section > h4 {
    font-size: 2rem;
    font-weight: 200;
    background-color: #fff;
    border-radius: 0 0 20px 20px;
    color: black;

    display: block;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
    padding: 0 1rem;
}

div.infos-tag {
    display: flex;
    flex-direction: column;
    align-items: start;
}

div.infos {
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

div.infos {
    font-size: 1.2rem;
}


/* Div Boutons */
div.buttons {
    display: flex;
    position: relative;
    margin-bottom: 0.8rem;
}

div.buttons button {
    padding: 1.6rem;
}

button i {
    font-size: 1.6rem;
}

div.buttons button:hover {
    background-color: rgba(234, 234, 234, 0.848);
}

div.buttons button:hover button i {
    color: white;
}

/* Div Voir + */
div.see-more {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 3rem 0;
}
div.see-more a {
    border: 5px solid black;
    background-color: black;
    color: #fff;
    padding: 1.2rem 2.4rem;
    font-size: 1.8rem;
    font-weight: 800;
    text-decoration: none; 

    text-align: center;
    transition: all 0.3s ease-out;
    border-radius: 0.6rem;
}

div.see-more a:hover {
    color: black;
    background-color: white;
    border: 5px solid black;
    
}

/* Footer */
footer {
    background-color: var(--bg-dark-grey);
    color: white;
    height: 50vh;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
}

footer h1 {
    font-family: var(--logo-ff);
    font-weight: 400;
    font-style: italic;

    font-size: 6rem;
}

div.footer-elements {
    display: flex;
    justify-content: center;
    align-items: center;
    
    gap: 6rem;
}

footer div.footer-elements a {
    color: white;
    transition: all 0.3 ease;
}   

footer div.footer-elements a:hover {
    text-decoration: none;
}

/* ACCESSIBILITE AU FOCUS */
label:focus {
    outline: 3px solid black;
    transition: 0.2s all ease-in;
}

div.search-bar button:focus {
    outline: 3px solid black;
    transition: 0.2s all ease-in;
}
div.search-bar input[type='search']:focus {
    outline: 3px solid black;
    transition: 0.2s all ease-in;
}

div.buttons button:focus {
    outline: 3px solid black;
    transition: 0.2s all ease-in;
}

section.list-sections a:focus {
    transform: scale(1.08);
    outline: none;
    transition: 0.2s all ease-in;
}

div.see-more a:focus {
    color: black;
    background-color: white;
}

/* RESPONSIVE */

@media screen and (max-width: 900px){
    header h1 {
        font-size: 10rem;
        margin-top: 8rem;
    }

    header h2 {
        font-size: 3rem;
        color: white;
        font-weight: 300;
        text-align: center;
    }

}

@media screen and (max-width: 450px){
    header h1 {
        font-size: 7rem;
        margin-top: 12rem;
    }

    header h2 {
        font-size: 2rem;
    }

}