* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'DM Mono', monospace, Arial, Helvetica, sans-serif;
} 

body {
    background: rgb(22, 13, 73);
}

header {
    align-items: center;
    background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.678) 99%, transparent 1%), url(./imagens/header-bg.png);
    background-size: cover;
    background-position: center;
    display: flex;
    height: 100vh;
    justify-content: center;
}

a {
    text-decoration: none;
}

.menu {
    background: rgb(18, 23, 68);
    position: fixed;
    top: 0;
    width: 100vw;
}

.menu ul {
    display: flex;
    justify-content: space-around;
}

.menu li {
    list-style: none;
    
}

.menu a {
    color: whitesmoke;
    display: block;
    border-radius: 20px;
    padding: 10px 30px;
    text-decoration: none;
    animation: menu 1.8s;
    
}

.menu a:active,
.menu a:hover {
    background: rgb(61, 67, 129);
    transition: .5s;
}

@keyframes menu {
    0% {transform: translateY(-100px);};
    100% {transform: translateY();}
}

.title,
.subtitle {
    color: whitesmoke;
    text-align: center;
}

.title {
    font-family: 'Comic Neue', cursive;
    font-size: 45px;
    animation: titulo 2s;
}

.subtitle {
    font-family: 'Indie Flower', cursive;
    font-size: 25px;
    animation: subtitulo 2s;
}

@keyframes titulo {
    0% {
        transform: translatex(-500px);
        opacity: 0;
    };
    100% {
        transform: translateY();
    }
}

@keyframes subtitulo {
    0% {
        transform: translatex(500px);
        opacity: 0;
    };
    100% {
        transform: translateY();
    }
}

@media (min-width: 800px) {

    .title {
        font-size: 50px;
    }

    .subtitle {
        font-size: 30px;
    }

    .menu a {
        font-size: 20px;
        padding: 10px 80px;
    }
}

@media (min-width: 1200px) {
    .title {
        font-size: 70px;
    }

    .subtitle {
        font-size: 35px;
    }

    .menu a {
        font-size: 20px;
        padding: 15px 115px;
    }
}





.portfolio {
    padding: 2em;
}

.portfolio h2 {
    text-align: center;
    font-size: 30px;
    color: whitesmoke;
    margin-bottom: 30px;
    margin-top: 50px;
}


.portfolio .img-portfolio {
    border-radius: 15px;
    width: 80vw;
    height: 30vh;
    object-fit: cover;
    object-position: center top;
}

.portfolio .img-portfolio:active,
.portfolio .img-portfolio:hover {
    transform: scale(1.1) rotate(2deg);
    transition: .3s;
}


.portfolio figure {
    text-align: center;
}

.portfolio .grid {
    display: grid;
    gap: 2em;
}

.portfolio .ver-mais {
    background: rgb(77, 62, 165);
    border-radius: 20px;
    color: white;
    font-size: 17px;
    height: 100px;
    margin: 20px auto 50px;
    padding-top: calc((100px - 17px) / 2);
    text-align: center;
    width: 300px;
}

.portfolio .ver-mais:active,
.portfolio .ver-mais:hover {
    background: rgb(160, 150, 218);
    color: black;
    transition: .5s;
}


@media (min-width: 800px) {
    .portfolio .img-portfolio {
        height: 200px;
        object-fit: cover;
        object-position: center;
        width: 350px;
    }

    .portfolio .grid {
        grid-template-columns: 350px 350px;
        justify-content: center;
    }
}

@media (min-width: 1200px) {
    .portfolio .grid {
        grid-template-columns: 350px 350px 350px;
    }

}


hr {
    width: 80vw;
    margin: auto;
}



.contato h2 {
    text-align: center;
    font-size: 30px;
    color: whitesmoke;
    margin-bottom: 30px;
    margin-top: 50px;
}


.contato .grid {
    display: grid;
    gap: 5em;
    padding: 20px;
    grid-template-columns: 3em 3em 3em;
    justify-content: center;
}

.contato a {
    color: whitesmoke;
    font-size: 3em;
    box-sizing: content-box;
}


.contato:active,
.contato a:hover {
    text-shadow: 0px 0px 15px rgba(255, 255, 255, 0.5);
    transition: .2s;
}

@media (min-width: 1200px) {
    .contato .grid {
        gap: 12em;
    }
}

footer {
    background: rgb(82, 73, 134);
    color:black;
    margin-top: 100px;
    height: 30px;
    font-size: 14px;
    text-align: center;
    padding: calc((30px - 14px) / 2);
    width: 100vw;
}

.back {
    margin: 80px auto;
    margin-bottom: -50px;

    width: 30px;
    height: 30px;
    border-left: 2px solid whitesmoke;
    border-top: 2px solid whitesmoke;
    transform: rotate(45deg);
}





