@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

/* Estilos Especiales y Variables */
:root {
    --color01: #ffffff; /* 255, 255, 255, */
    --color02: #ffe000; /* 255, 224, 0 */
    --color03: #87c300; /* 135, 195, 0 */
    --color04: #00abe3; /* 0, 171, 227 */
    --color05: #005f7f; /* 0, 95, 127 */
    --color06: #000000; /* 0, 0, 0 */
    --color07: #f8f9f9; /* 248, 249, 249 */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
}

body {
    font-family: "Roboto", sans-serif;
}


/* Main - Correcto */
.main {
    grid-area: 2 / 1 / span 4 /span 1;
    /*
    background: rgba(0, 171, 227, .3);
    */
    background: var(--color01);
    color: var(--color05);
    width: 100%;
    display: grid;
    place-content: center;
    padding: 10px;
    text-align: justify;
    z-index: 1;
}

/* Titulo - Correcto */
.title {
    grid-area: 2 / 1 / span 1 /span 1;
    background: var(--color04);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    border-bottom-right-radius: 20px;
}

.title h1 {
    color: var(--color01);
}

.title span {
    color: transparent;
    -webkit-text-stroke-width: 1.2px; -moz-text-stroke-width: 1.2px; -ms-text-stroke-width: 1.2px; -o-text-stroke-width: 1.2px;
    -webkit-text-stroke-color: var(--color01); -moz-text-stroke-color: var(--color01); -ms-text-stroke-color: var(--color01); -o-text-stroke-color: var(--color01);
}




.front__title {
    color: var(--color04);
    font-size: 3rem;
    padding-bottom: 4px;
}

.front__txt {
    color: var(--color04);
    font-size: 1.3rem;
    padding-bottom: 24px;
}

.front__link {
    width: 160px;
    padding: 10px 20px;
    color: var(--color01);
    background: var(--color04);
    font-size: 1.3rem;
    border-radius: 20px;
}

.front__link:hover {
    width: 160px;
    padding: 10px 20px;
    color: var(--color04);
    background: none;
    font-size: 1.3rem;
    border-radius: 20px;
    border: 2px solid var(--color04);
}

/* Contenido - Imagen */
.content2 {
    grid-area: 2 / 2 / span 4 /span 4;
    display: grid;
    place-content: center;
    /*
    background: rgba(0, 171, 227, .3);
    */
    background: var(--color01);
}

.content2 img {
    width: 100%;
    display: grid;
    place-content: center;
    border-radius: 10px 10px;
}


/* Media Queries */
@media screen and (max-width: 768px) {
    .main {
        height: 360px;
        font-size: .9rem;
    }
    .front__title {
        color: var(--color04);
        font-size: 2.6rem;
        padding-bottom: 4px;
    }
    
    .front__txt {
        color: var(--color04);
        font-size: 1rem;
        padding-bottom: 24px;
    }
    
    .front__link {
        width: 160px;
        padding: 10px 20px;
        color: var(--color01);
        background: var(--color04);
        font-size: 1rem;
        border-radius: 20px;
    }
}


@media screen and (max-width: 480px) {
    .container {
        display: grid;
        grid-template-columns: 12fr;
        grid-template-rows: 80px 60px 60px 2fr auto auto 60px;
        grid-template-areas:
            "header"
            "redes"
            "title"
            "main"
            "content1"
            "content2"
            "footer";
    }

    .redes {
        grid-area: "redes";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 2 / 3;
    }

    .title {
        grid-area: "title";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 3 / 4;
    }

    .main {
        grid-area: "main";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 4 / 5;
        text-align: center;
    }

    .front__title {
        color: var(--color05);
    }

    .front__txt {
        color: var(--color05);
    }
    .content2 {
        grid-area: "content2";
        width: 100%;
        grid-column: 1 / 2; 
        grid-row: 6 / 7;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .content2 img {
        width: 70%;
        margin-top: 10px;
        margin-bottom: 20px;
        box-sizing: border-box;
    }
}