@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --cor0: white;
    --cor1: #3B82F6;
    --cor2: #1E3A8A;

    --fonte-padrao: Arial, Verdana, Helvetica, sans-serif;
    --fonte-destaque: "Montserrat", Helvetica, Arial, sans-serif;
}

* {
    margin: 0px;
    padding: 0px;
}

html, body {
    height: 100vh;
    width: 100vw;
    background-color: var(--cor2);
}

body {
    font-family: var(--fonte-padrao);
    background-image: linear-gradient(to bottom, var(--cor1), var(--cor2));
    color: var(--cor0);
}

header {
    min-height: 150px;
    text-align: center;
    padding-top: 40px;
}

header > h1 {
    font-family: var(--fonte-destaque);
    color: var(--cor0);
    font-size: 3em;
    font-weight: bolder;
    padding-bottom: 20px;
    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.267);
}

header > p {
    color: var(--cor0);
    text-align: justify;
    text-indent: 30px;
    font-size: 1.2em;
    max-width: 600px;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.277);
}

div#container {
    display: flex; 
    justify-content: center; 
    gap: 20px;
    padding: 50px;
}

div#colunas {
    display: flex; 
    flex-direction: column; 
    align-items: center;
}

#colunas a:hover img {
    opacity: 0.8;
    border: 2px solid rgba(255, 255, 255, 0.611);
    transform: translate(-3px, -3px);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.622);
    transition: transform 0.1s;
}

footer{
    background-color: var(--cor2);
    color: var(--cor0);
    text-align: center;
    font-size: 0.9em;
    padding: 5px;
}

footer a {
    color: var(--cor0);
    font-weight: bolder;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
    color: var(--cor0);
}

/* Telas com largura máxima de 768px (tablets) */
@media (max-width: 768px) {
    div#container {
        flex-direction: column; /* Coloca as colunas uma abaixo da outra */
        align-items: center; /* Centraliza os itens */
        padding: 20px; /* Reduz o padding */
    }

    div#colunas {
        width: 80%; /* Ocupa mais largura em telas menores */
    }

    div#colunas a {
        width: 100%; /* O link ocupa toda a largura da coluna */
        margin-bottom: 15px; /* Adiciona espaço entre as imagens */
    }

    div#colunas img {
        max-width: 100%; /* A imagem ocupa toda a largura do link */
        height: auto;
    }

    header > h1 {
        font-size: 3em; /* Reduz o tamanho do título */
        padding-bottom: 15px;
    }
}

/* Telas com largura máxima de 480px (smartphones) */
@media (max-width: 480px) {
    header > h1 {
        font-size: 2em; /* Reduz ainda mais o título */
    }

    div#colunas {
        width: 95%; /* Ocupa ainda mais largura em smartphones */
    }

    div#container {
        padding: 10px; /* Reduz ainda mais o padding */
    }
}