* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialised;
    -moz-osx-font-smoothing: grayscale;
}

:root {
    font-size: 62.5%;
    font-family: Mulish, sans-serif;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

a {
    font-size: 1.8rem;
    text-decoration: none;
    font-weight: 700;
    color: #8D8D99;
    transition: color 0.2s;
}

a:hover,
a:active,
a.active {
    color: #202024;
}

header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4.8rem;
    padding: 1.6rem;
    background-color: #ffffff;

    --toY: -100%;
    animation: move 1s backwards;
}

.menu ul {
    list-style: none;

    display: flex;
    align-items: center;
    gap: 2.8rem;
}

header input[type="search"] {
    height: 4.8rem;
    outline: none;
    border: none;
    border-radius: 6px;
    background-color: #EEEEEE;
    padding: 1.6rem;

    flex-grow: 1;

    font-family: Mulish, sans-serif;
    color: #3D3D3D;
    font-weight: 600;
}

header .user-photo {
    width: 42px;
    border-radius: 50%;
}

main {
    background-color: #F5F5F5;
}

main .container {
    padding: 3.6rem;
}

main h1 {
    font-size: 2.4rem;
    font-weight: 700;

    margin-bottom: 3.6rem;
}

main .gallery {
    display: grid;
    grid-template: repeat(3, 310px) / repeat(3, auto);
    gap: 2rem;
    place-items: center;
}

.gallery .card {
    width: 100%;
    height: 310px;
    border-radius: 6px;
    background-color: #ffffff;

    clip-path: stroke-box;
    cursor: pointer;
}

.card .image{
    height: 200px;
    width: 100%;
    clip-path: stroke-box;
}

.image img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: all 0.5s;
}

.card:hover .image img{
    transform: rotate(4deg) scale(1.2);
    filter: sepia(2);
}

.card .content {
    padding: 2rem;
}

.content h2 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}

.content .badge{
    display: inline-block;
    padding: 8px ;
    border-radius: 6px;
    background-color: #F5F5F5;

    font-size: 1.2rem;
}

footer{
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    padding: 1.6rem;
}

footer a{
    font-size: 1.6rem;
}

footer span{
    display: block;

    --toY: 100%;
    animation: move 1s backwards;
}

@keyframes move {
    0%{
        transform: translateY(var(--toY));
    }
}

@media screen and (max-width:700px) {
    header .container > *:not(.menu){
        display: none;
    }

    main .gallery{
        grid-template-columns: repeat(2, auto);
    }
}

@media screen and (max-width:400px) {
    main .gallery{
        grid-template-columns: auto;
    }
}